我在两个不同的上传图像中设置了相同大小的水印,但水印大小相同,但是上传的图像的高度,宽度,大小和尺寸都不同。因此,在图像中设置水印的高度,宽度也不同。图片的水印?
请检查下面的图像链接。在此图像中“ ONLYGEMS”是水印。
2)http://groomies.cosmonautgroup.com/public/assets/image/img_005215640307093.jpg
3)http://groomies.cosmonautgroup.com/public/assets/image/pgfaviconblck515640317244.png
$watermark = imagecreatefrompng($watermark);
switch(mime_content_type($imageUrl)) {
case 'image/png':
$image = imagecreatefrompng($imageUrl);
break;
case 'image/jpeg':
$image = imagecreatefromjpeg($imageUrl);
break;
case 'image/jpg':
$image = imagecreatefromjpeg($imageUrl);
break;
default:
$image = null;
}
$watermarkX = imagesx($watermark);
$watermarkY = imagesy($watermark);
$width = imagesx($image);
$height = imagesy($image);
$xPosition = $width / 8;
$yPosition = $height - ($height /3);
$img_w = imagesx($image);
$img_h = imagesy($image);
$wtrmrk_w = imagesx($watermark);
$wtrmrk_h = imagesy($watermark);
$dst_x = ($img_w / 2) - ($wtrmrk_w / 2); // For centering the watermark on any image
$dst_y = ($img_h / 2) - ($wtrmrk_h / 2); // For centering the watermark on any image
imagecopy($image, $watermark, $dst_x, $dst_y, 0, 0, $wtrmrk_w, $wtrmrk_h);
switch(mime_content_type($imageUrl)) {
case 'image/png':
imagepng($image,$imageUrl);
break;
case 'image/jpeg':
imagejpeg($image,$imageUrl,100);
break;
default:
$image = null;
}
答案 0 :(得分:0)
您可以使用以下库:http://image.intervention.io/ Intervention Image是一个开源的PHP图像处理和操作库。它提供了一种创建,编辑和合成图像的简便且富有表现力的方式,并支持当前两个最常见的图像处理库GD Library和Imagick。