如何在PHP中绘制png图像?

时间:2011-07-20 06:20:00

标签: php

$image = imagecreatetruecolor(538,616);

$black = imagecolorallocate($image,0,0,0);

imagefill($image,0,0,$black);

我已经绘制了一个黑色图像,我想在它上面绘制一个假设3.png的文件.. 怎么做?

3 个答案:

答案 0 :(得分:5)

您必须加载要绘制的图像,然后使用imagecopy()绘制它:

// the part you already have; creates 538x616 px black image
$image = imagecreatetruecolor(538,616);
$black = imagecolorallocate($image,0,0,0);
imagefill($image,0,0,$black);

// load image from file and draw it onto black image;
// for loading PNG, use imagecreatefrompng()
$overlayImage = imagecreatefromjpeg('macro_photo_1.jpg');
imagecopy($image, $overlayImage, 10, 10, 0, 0, imagesx($overlayImage), imagesy($overlayImage));

// send image to the browser    
header("Content-Type: image/png");
imagepng($image);
exit;

我还建议浏览GD and Image functions列表,了解在PHP中使用图像可以做什么(以及如何)。

答案 1 :(得分:0)

imagepng($image);

如果您还没有需要:

header('Content-Type: image/png');

在调用imagepng让浏览器知道它正在查看图像而不是HTML页面之前。

答案 2 :(得分:0)

Saroj,http://www.php.net/manual/en/function.imagecreate.php并且在同一页面中,这是示例代码段

<?php
header("Content-Type: image/png");
$im = @imagecreate(110, 20)
or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>

HTH!