2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > php 生成图片 打印 php 生成水印图片

php 生成图片 打印 php 生成水印图片

时间:2024-01-10 06:39:13

相关推荐

php 生成图片 打印 php 生成水印图片

function mergerImg($bigImgPath, $smallImgPath, $width, $height, $bigImgPaths) {

$image_kuang = imagecreatefromstring(file_get_contents($smallImgPath));

$image_photo = imagecreatefromstring(file_get_contents($bigImgPath));

//创建一个新的,和大图一样大的画布

$image_3 = imageCreatetruecolor(imagesx($image_photo), imagesy($image_photo));

//为真彩色画布创建白色背景,再设置为透明

$color = imagecolorallocate($image_3, 255, 255, 255);

imagefill($image_3, 0, 0, $color);

imageColorTransparent($image_3, $color);

/**

* 先copy图片,再copy画框,实现png的透明效果,将图片嵌入到画框里

* imagecopymerge与imagecopy的不同:

* imagecopymerge 函数可以支持两个图像叠加时,设置叠加层的透明度。imagecopymerge比imagecopy多一个参数,来设置透明度

* PHP内部源码里,imagecopymerge在透明度参数为100时,直接调用imagecopy函数。

* imagecopy 函数则不支持叠加透明,但拷贝时可以保留png图像的原透明信息,而imagecopymerge却不支持图片的本身的透明拷贝

* 即:使用imagecopymerge函数,可以实现打上透明度为30%的淡淡的水印图标,但图片本身的png就会变得像IE6不支持png透明那样,背景不透明了。

* 如果使用imagecopy函数,可以保留图片本身的透明信息,但无法实现30%的淡淡水印叠加,

*/

imagecopyresampled($image_3,$image_photo,0,0,0,0,imagesx($image_photo),imagesy($image_photo),imagesx($image_photo),imagesy($image_photo));

imagecopy($image_3,$image_kuang, $width,$height,0,0,imagesx($image_kuang),imagesy($image_kuang));

//存储图片路径

imagejpeg($image_3, $bigImgPaths);

return $bigImgPaths;

}

$bigImgPath = 'ren.jpg';//原图路径

$waterImgPath = 'tae.png';//水印图路径

$width = 0;//水印所在X坐标

$height = 0;//水印所在Y坐标

$bigImgPaths = 'new.png';//生成原图加水印新图路径

$path = $this->mergerImg($bigImgPath, $waterImgPath, $width, $height, $bigImgPaths);

//原文链接:/tangming0613/article/details/77947067

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。