【问题标题】:Png with alpha background带有阿尔法背景的 PNG
【发布时间】:2014-02-05 00:18:22
【问题描述】:

我正在尝试创建一个 URL,它会返回一个 1x1px 具有特定 alpha 值的 png,例如www.mysite/com/png.php?alpha=50 将输出一个 1x1 png,背景颜色设置为黑色,不透明度为 50%。

我搜索了很多教程和帖子,试图弄清楚如何做到这一点,但我找不到任何有效的方法。这可能与单独的PHP有关吗?

这是我得到的最接近的地方

<?php
header('Content-Type: image/png'); 
$im = imagecreatetruecolor(500, 300);
$red = imagecolorallocate($im, 255, 0, 0);
$black = imagecolorallocatealpha($im, 255, 255, 255, 50);

imagefilledrectangle($im, 0, 0, 500, 300, $black);

// Save the image
imagepng($im);
imagedestroy($im);
?>

但是,这似乎在白色背景上覆盖了 50% 的黑色。

【问题讨论】:

    标签: php png gd opacity


    【解决方案1】:

    通过在$black = ... 之后添加这些行,将白色设置为透明

    $colourWhite = imagecolorallocate($im,255,255,255); imagecolortransparent($im,$colourWhite);

    【讨论】:

    • 如何使用该函数指定某个 alpha 值?
    • 嗨。我只使用了我最初引用的函数的关键部分,并为您提供了应该用完全透明的背景替换不需要的白色的线条。然后以您已经成功完成的方式添加 alpha。
    • (显然您还需要使用 $_GET['alpha'] 的清理版本来代替 50 来实现您的目标。)
    • 玩了一会我把它整理好了,谢谢你的帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 2017-04-27
    • 2015-07-10
    相关资源
    最近更新 更多