这个方法很方便的通过裁剪指定高度,来达到去除水印效果
当我们采集一些有水印的图片。这个方法很方便的通过裁剪指定高度,来达到去除水印效果。
代码:
//裁剪上传图片下侧,去掉头条水印
function cropUploadImage($upload){
$src_path = $upload['file'];
$src = imagecreatefromstring(file_get_contents($src_path));
$x = 0;
$y = 0;
$width = imagesx( $src );
$height = imagesy( $src )-55;
$final_width = $width;
$final_height = round($final_width * $height / $width);
$new_image = imagecreatetruecolor($final_width, $final_height);
imagecopyresampled($new_image, $src, 0, 0, $x, $y, $final_width, $final_height, $width, $height);
header('Content-Type: image/jpeg');
imagejpeg($new_image,$src_path);
imagedestroy($src);
imagedestroy($new_image);
return $upload;
}
add_filter( 'wp_handle_upload', 'cropUploadImage',2 );
介绍:
- 代码中的
$height = imagesy( $src )-55;
,“-55”可调整裁剪高度 - 会从部署此代码开始,对上传的图片进行裁剪处理,
- 经过此代码裁剪的图片,删除此代码后,不会复原
- 可与各大云存储插件配合
效果:
部署位置:
主题根目录下,functions.php
文件的<?php
下方。