取中间值函数php

取中间值函数(PHP):

在编程中,有时候我们需要取一个数组中的中间值。中间值是指数组中位于中间位置的元素,当数组的长度为奇数时,中间值就是中间位置的元素,当数组的长度为偶数时,中间值是中间两个元素的平均值。下面是一个取中间值的PHP函数示例:

```php

function getMiddleValue($arr) {

// 数组排序

sort($arr);

$length = count($arr);

$middleIndex = floor($length / 2);

// 判断数组长度是奇数还是偶数

if ($length % 2 == 0) {

// 数组长度为偶数,取中间两个元素的平均值

return ($arr[$middleIndex - 1] + $arr[$middleIndex]) / 2;

} else {

// 数组长度为奇数,直接返回中间位置的元素

return $arr[$middleIndex];

}

}

// 测试示例

$arr1 = [1, 2, 3, 4, 5];

echo "中间值: " . getMiddleValue($arr1); // 输出: 中间值: 3

$arr2 = [1, 2, 3, 4];

echo "中间值: " . getMiddleValue($arr2); // 输出: 中间值: 2.5

```

水印函数(PHP):

在图像处理中,添加水印是常见的操作。水印是指在图片上添加一些文本、图片或者透明的标记,用于保护图片的版权或者增加图片的辨识度。下面是一个添加水印的PHP函数示例:

```php

function addWatermark($imagePath, $watermarkPath, $position = 'bottom-right') {

// 创建图片的实例

$image = imagecreatefromjpeg($imagePath);

// 创建水印图片的实例

$watermark = imagecreatefrompng($watermarkPath);

// 获取图片和水印图片的宽高

$imageWidth = imagesx($image);

$imageHeight = imagesy($image);

$watermarkWidth = imagesx($watermark);

$watermarkHeight = imagesy($watermark);

// 根据位置参数确定水印的位置坐标

switch ($position) {

case 'top-left':

$x = 0;

$y = 0;

break;

case 'top-right':

$x = $imageWidth - $watermarkWidth;

$y = 0;

break;

case 'bottom-left':

$x = 0;

$y = $imageHeight - $watermarkHeight;

break;

case 'bottom-right':

$x = $imageWidth - $watermarkWidth;

$y = $imageHeight - $watermarkHeight;

break;

case 'center':

$x = ($imageWidth - $watermarkWidth) / 2;

$y = ($imageHeight - $watermarkHeight) / 2;

break;

default:

$x = 0;

$y = 0;

}

// 合并图片和水印图片

imagecopy($image, $watermark, $x, $y, 0, 0, $watermarkWidth, $watermarkHeight);

// 保存合并后的图片

imagejpeg($image, $imagePath);

// 释放图片资源

imagedestroy($image);

imagedestroy($watermark);

}

// 测试示例

$imagePath = 'path/to/image.jpg';

$watermarkPath = 'path/to/watermark.png';

$position = 'bottom-right';

addWatermark($imagePath, $watermarkPath, $position);

```

以上是一个简单的添加水印的PHP函数,该函数接受三个参数:源图片路径、水印图片路径、水印位置。使用`imagecreatefromjpeg`函数创建源图片和水印图片的实例,`imagesx`和`imagesy`函数获取图片的宽高,根据位置参数确定水印的位置坐标,使用`imagecopy`函数将水印图片合并到源图片上,最后使用`imagejpeg`函数保存合并后的图片,并使用`imagedestroy`函数释放图片资源。

希望这些示例能对您有所帮助! 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(59) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部