2015-05-29 49 views
0

我試圖通過在其周圍添加透明度來調整圖像畫布的大小(如在Photoshop中)。不知何故,添加圖像的一部分始終是黑色的。使用CodeIgniter圖像庫調整圖像畫布的大小 - 如何保留透明度

if ($this->image_library == 'gd2' AND function_exists('imagecreatetruecolor')) 
{ 
    $create = 'imagecreatetruecolor'; 
    $copy = 'imagecopyresampled'; 
} 
else 
{ 
    $create = 'imagecreate'; 
    $copy = 'imagecopyresized'; 
} 

$dst_img = $create($this->width, $this->height); 

if ($this->image_type == 3) // png we can actually preserve transparency 
{ 
    //teorethicaly image should be transparent? 
    $trans_colour = imagecolorallocatealpha($dst_img, 0, 0 ,0, 127); 
    imagefill($dst_img, 0, 0, $trans_colour); 
    imagealphablending($dst_img, FALSE); 
    imagesavealpha($dst_img, TRUE); 
} 

$copy($dst_img, $src_img, 0, 0, $this->x_axis, $this->y_axis, $this->width, $this->height, $this->orig_width, $this->orig_height); 

如果我刪除$copy並只保存新的圖像,它是透明的,但如果我合併兩個圖像的背景始終是黑色的:

enter image description here

我怎麼能在那種情況下透明背景?

在此先感謝!

+0

它的'&&'不'AND'在if條件下 – Saty

+0

我相信這部分不影響任何東西 - 它進入條件內部,而這部分是來自CodeIgniter庫的未觸動代碼 –

回答

相關問題