将PNG合并到JPG或其他php
我已经尝试了许多解决方案和真相,到了你不知道还能做什么的地步 下图是PNG(“cover.PNG”): 因为你会有一个空白的椭圆形,它是完全透明的。使用PHP,我试图将其与以下图片(“lapiz.jpg”)融合: 然而,不管我怎么努力,第一张图片的空白是透明的,完全是空白,覆盖了应该融化的图片 现在,这是我的代码:将PNG合并到JPG或其他php,php,png,opacity,alphablending,Php,Png,Opacity,Alphablending,我已经尝试了许多解决方案和真相,到了你不知道还能做什么的地步 下图是PNG(“cover.PNG”): 因为你会有一个空白的椭圆形,它是完全透明的。使用PHP,我试图将其与以下图片(“lapiz.jpg”)融合: 然而,不管我怎么努力,第一张图片的空白是透明的,完全是空白,覆盖了应该融化的图片 现在,这是我的代码: $img_user = 'fotos/lapiz.jpg'; $img_user_type = getImageInfo($img_user,'type'); $posX = 4
$img_user = 'fotos/lapiz.jpg';
$img_user_type = getImageInfo($img_user,'type');
$posX = 404;
$posY = 2;
$width = getImageInfo($img_user,'width');
$height = getImageInfo($img_user,'height');
$stamp = 'fotos/cover.png';
switch($img_user_type)
{
case 'jpeg':
$img_user_create = imagecreatefromjpeg($img_user);
break;
case 'gif':
$img_user_create = imagecreatefromgif($img_user);
break;
case 'png':
$img_user_create = imagecreatefrompng($img_user);
break;
}
$im = imagecreatefrompng($stamp);
imagealphablending($im, false);
imagesavealpha($im, true);
imagecolortransparent($im, imagecolorallocate($im, 255, 255, 255));
imagecopymerge($img_user_create, $im, $posX, $posY, 0, 0, $width, $height, 100);
header('Content-Type: image/png');
imagepng($im);
ImageDestroy($im);
ImageDestroy($img_user_create);
我做错了什么?JUnithh使用库和下面的代码解决了这个问题:
$img1 = new Imagick('fotos/lapiz.jpg');
$img2 = new Imagick('fotos/cover.png');
$posX = 404;
$posY = 2;
$img2->compositeImage( $img1, imagick::COMPOSITE_DSTOVER, $posX, $posY );
header('Content-type: image/png');
echo($img2);
JUnithh使用库和以下代码解决了此问题:
$img1 = new Imagick('fotos/lapiz.jpg');
$img2 = new Imagick('fotos/cover.png');
$posX = 404;
$posY = 2;
$img2->compositeImage( $img1, imagick::COMPOSITE_DSTOVER, $posX, $posY );
header('Content-type: image/png');
echo($img2);
你用过imagemagick吗?这样做很容易。请搜索!优化后的第一张图片:@Kai,只想说声谢谢。imagemagick类为我工作,我没有使用,因为我不知道。这是我现在的代码:$img1=newimagick('fotos/lapiz.jpg')$img2=新的Imagick('fotos/cover.png')$posX=404$posY=2$img2->compositeImage($img1,imagick::compositedstover,$posX,$posY);标题('Content-type:image/png');echo($img2);很简单很神奇。你用过imagemagick吗?这样做很容易。请搜索!优化后的第一张图片:@Kai,只想说声谢谢。imagemagick类为我工作,我没有使用,因为我不知道。这是我现在的代码:$img1=newimagick('fotos/lapiz.jpg')$img2=新的Imagick('fotos/cover.png')$posX=404$posY=2$img2->compositeImage($img1,imagick::compositedstover,$posX,$posY);标题('Content-type:image/png');echo($img2);很简单,很神奇。