取中间值函数(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/
发表评论 取消回复