使用php生成图像

时间:2014-03-17 11:32:19

标签: php

我如何使用php

生成以下图像

Image Original Source

我使用下面的php代码生成图像

<?php
header("Content-Type: image/png");
$im = imagecreate(300, 300);
$background_color = imagecolorallocate($im, 21, 125, 126);
$black = ImageColorAllocate($im, 0, 0, 0);

$blue = ImageColorAllocate($im, 0, 0, 255);
$white = ImageColorAllocate($im, 255, 255, 255);

ImageFilledEllipse($im, 50, 120, 75, 75, $white);
ImageFilledEllipse($im, 250, 100, 75, 75, $white);



imagepng($im);
imagedestroy($im);
?>

但是我得到了原始图像的平滑度

PHP生成的图片

enter image description here

3 个答案:

答案 0 :(得分:2)

使用带有IMG_FILTER_SMOOTH参数的imagefilter()将过滤器应用于您的图片。

imagefilter($im, IMG_FILTER_SMOOTH,100);

答案 1 :(得分:1)

imagecreate创建一个基于调色板的图像,该图像不包含抗锯齿(特别是因为您没有分配“中间”颜色)。请改为imagecreatetruecolor

答案 2 :(得分:0)

如果您要创建特定大小的图像,那么无论您如何操作,当您放大这样的图像时,您总是会得到不平滑的边缘。

问题是您在渲染PHP图像后正在放大浏览器。为什么不在javascript中使用基于矢量的库来绘制图像,这种方式在放大矢量图形时会以适当的比例重新绘制。消除你的锯齿状边缘。