繁体   English   中英

使用PHP的GD函数,如何创建一个抗锯齿并具有透明背景的椭圆(带有alpha的PNG24)?

[英]Using PHP's GD functions, how can I create an ellipse that is anti-alised and has a transparent background (PNG24 with alpha)?

我可以在透明背景上画一个圆,但是它在边缘周围像素化。

我还可以通过http://mierendo.com/software/antialiased_arcs/在非透明背景上获得一个抗锯齿的圆圈。

那么,我如何同时获得两者呢?

透明图像的问题在于,边框处的半透明像素将使用指定为透明颜色的颜色进行部分着色,如果可以忍受,则可以使用指定的抗锯齿弧库,只需将以下内容在他们的示例开始时(我使用了优化版本):

include ("./imageSmoothArc_optimized.php");

$img = imageCreateTrueColor( 648, 800 );
imagealphablending($img,true);
$color = imageColorAllocate( $img, 255, 255, 255);
$transparent_color = imageColorAllocate( $img, 0, 0, 0);
imagefill( $img, 5, 5, $transparent_color );
imagecolortransparent($img, $transparent_color);

这将为您提供透明的PNG图像。 由于我将黑色指定为透明颜色,因此圆圈将在边缘附近变为黑色,您将只能在深色背景上使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM