图像 GD 和 png 遮罩

发布于 2024-08-29 22:12:55 字数 218 浏览 2 评论 0原文

在GD中用另一个图像遮盖一个图像的基本代码是什么 - 一个具有黑色形状和透明背景的图像将用于裁剪另一图像 - 一张照片,以便照片处于黑色图像的形状。

替代文本

what would be basic code for masking one image with another in GD - one image with black shape and transparent background would be used to crop another image - a photo so that photo is in the shape of black image.

alt text

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谢绝鈎搭 2024-09-05 22:12:55

一种方法是使用 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)) {

 ...

One way to do it is using phpThumb.

Basic reference here: http://phpthumb.sourceforge.net/demo/demo/phpThumb.demo.demo.php#x31

If creating the new image on the fly it would be something as simple as:

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

To output into a png.

If doing this after an image upload to create a new image to be stored on the server, first figure out the basics of phpThumb and then set the mask parameters with all the rest:

For example:

...
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)) {

 ...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文