我試圖將圖像添加到另一個圖像的模板;我正在使用PHP codeigniter;當兩個文件都是.PNG文件時,我有一段很好的代碼片段,可以很好地用於此目的;我的代碼如下:將圖像添加到另一個圖像
<?php
function attachIcon($imgname)
{
$mark = imagecreatefrompng($imgname);
imagesavealpha($mark, true);
list($icon_width, $icon_height) = getimagesize($imgname);
$img = imagecreatefrompng('images/sprites/navIcons.png');
imagesavealpha($img, true);
$move_left = 10;
$move_up = 9;
list($mainpic_width, $mainpic_height) = getimagesize('images/sprites/navIcons.png');
imagecopy($img, $mark, $mainpic_width-$icon_width-$move_left, $mainpic_height-$icon_height-$move_up, 0, 0, $icon_width, $icon_height);
imagepng($img); // display the image + positioned icon in the browser
//imagepng($img,'newnavIcon.png'); // rewrite the image with icon attached.
}
header('Content-Type: image/png');
attachIcon('icon.png');
?>
但是,如果模板「圖像/精靈/ navIcons.png」是一個png文件和其他圖像是另一種類型的(可以說.JPG)我follwoing代碼不工作:
<?php
function attachIcon($imgname)
{
$mark = imagecreatefrompng($imgname);
imagesavealpha($mark, true);
list($icon_width, $icon_height) = getimagesize($imgname);
$img = imagecreatefrompng('images/sprites/navIcons.png');
imagesavealpha($img, true);
$move_left = 10;
$move_up = 9;
list($mainpic_width, $mainpic_height) = getimagesize('images/sprites/navIcons.png');
imagecopy($img, $mark, $mainpic_width-$icon_width-$move_left, $mainpic_height-$icon_height-$move_up, 0, 0, $icon_width, $icon_height);
imagepng($img); // display the image + positioned icon in the browser
//imagepng($img,'newnavIcon.png'); // rewrite the image with icon attached.
}
header('Content-Type: image/jpg');
attachIcon('icon.jpg');
?>
-Am我缺少什麼? - 是否應該使用任何文件擴展名? - 模板可以是.PNG文件,另一個圖像可以是另一種類型(可以說.JPG)!可能是我需要改變的東西;
任何幫助表示讚賞! PS:我從這個論壇的一個很老的帖子得到了代碼;但我認爲它很老,沒有人檢查它,所以這就是爲什麼我在一個新的線程問我的問題!由於
感謝sinni800,
我應該在註釋中給您回覆,但因爲我想加我的代碼,我在這裏增加新的消息回覆。
我也嘗試了下面的代碼,其中我使用了「imagecreatefromjpeg」;我的代碼:
<?php
function attachIcon($imgname) {
$mark = imagecreatefromjpeg($imgname);
imagesavealpha($mark, true);
list($icon_width, $icon_height) = getimagesize($imgname);
$img = imagecreatefrompng(base_url() . '/uploaded_images/output/viewer.png');
imagesavealpha($img, true);
$move_left = 280;
$move_up = 450;
list($mainpic_width, $mainpic_height) = getimagesize(base_url() . '/uploaded_images/output/viewer.png');
imagecopy($img, $mark, $mainpic_width - $icon_width - $move_left, $mainpic_height - $icon_height - $move_up, 0, 0, $icon_width, $icon_height);
imagepng($img); // display the image + positioned icon in the browser
//imagepng($img,'newnavIcon.png'); // rewrite the image with icon attached.
}
header('Content-Type: image/jpeg');
attachIcon(base_url().'/uploaded_images/output/koala.jpg');
?>
但仍不能正常工作!