2015-06-04 48 views
0

我有一个图像定制插件,舞台尺寸为1000x700,用户可以上传他/她的图片并在舞台区域进行设计。使用gd或imagick调整图像大小,使其覆盖透明部分

现在,如果用户没有使用完整的临时区域并只使用舞台的某个部分,比如说800x400。我的最终图像将为1000x700,透明背景中间有用户设计。

现在的问题是,我想在满白色背景的全画布上伸展用户设计。

我该如何使用php GD或imagick(而不是手动)来做到这一点?

回答

0
$dstImage = imagecreatetruecolor(1000, 700); 
    $black = imagecolorallocate($dstImage, 0, 0, 0); 

    // Make the background transparent 
    imagecolortransparent($dstImage, $black); 

    $srcImage = imagecreatefrompng('srcImg.png'); 
    imagecopymerge($dstImage, $srcImage, 0, 0, 0, 800, 400, 1000, 700); 
    imagepng($dstImage, 'outputNewImg.png');