图像GD和png掩蔽

时间:2010-04-24 00:55:31

标签: php image gd

在GD中用一个图像掩盖一个图像的基本代码是什么 - 一个黑色形状和透明背景的图像将用于裁剪另一个图像 - 一张照片使照片呈黑色图像形状。

alt text http://img522.imageshack.us/img522/2200/maskingstoryboard1.png

1 个答案:

答案 0 :(得分:3)

一种方法是使用phpThumb。

此处的基本参考资料:http://phpthumb.sourceforge.net/demo/demo/phpThumb.demo.demo.php#x31

如果动态创建新图像,那将是一件简单的事情:

<img src="../phpThumb.php?src=path/to/image/image.jp&fltr[]=mask|path/to/mask/mask.png&f=png" alt="">

输出到png。

如果在图片上传后执行此操作以创建要存储在服务器上的新图像,首先要弄清楚phpThumb的基础知识,然后再设置掩码参数:

例如:

...
require_once('phpThumb/phpthumb.class.php');

//Begin phpThumb work to resize image and create thumbnail
$uploaddir = $_SERVER['DOCUMENT_ROOT'] . $destination;
$uploadfile = $uploaddir . $file;

$phpThumb = new phpThumb();

// set data source -- do this first, any settings must be made AFTER this call
$phpThumb->setSourceFilename($uploadfile);

$phpThumb->setParameter('w', 360); //change to update the picture size
$phpThumb->setParameter('h', 470); //change to update the picture size

$phpThumb->setParameter('fltr[]', 'mask|path/to/mask/mask.png'); //set mask 
    $phpThumb->setParameter('f', 'png'); //set png output format

$outputdir = $_SERVER['DOCUMENT_ROOT'] . $destination;

$output_filename = $outputdir . "masked" . $file;

$phpThumb->setParameter('config_allow_src_above_docroot', true);

if ($phpThumb->GenerateThumbnail()) { // this line is VERY important, do not remove it!

    if ($phpThumb->RenderToFile($output_filename)) {

 ...