PHP:创建边缘光滑的圆、图像或字体?

标签 php image fonts truetype

我正在制作一个 PHP 图像脚本,它将在给定半径处创建圆圈。

我用过:

<?php
imagefilledellipse ( $image, $cx, $cy, $w, $h, $color );
?>

但讨厌它产生的粗糙边缘。所以我在考虑制作或使用我将输出的圆形字体:

<?php
 imagettftext ( $image, $size, $angle, $x, $y, $color, 'fontfile.ttf', $text );
?>

这样字体会产生一个边缘平滑的圆。我的问题是使“字体大小”与“半径大小”匹配。

有什么想法吗?或者可能会在圆上产生平滑边缘的 PHP 类会很棒!

谢谢。

最佳答案

为了快速而肮脏的抗锯齿,将图像设为所需大小的两倍,然后缩小采样至所需大小。

$circleSize=90;
$canvasSize=100;

$imageX2 = imagecreatetruecolor($canvasSize*2, $canvasSize*2);

$bg = imagecolorallocate($imageX2, 255, 255, 255);

$col_ellipse = imagecolorallocate($imageX2, 204, 0, 0);

imagefilledellipse($imageX2, $canvasSize, $canvasSize, $circleSize*2, $circleSize*2, $col_ellipse);

$imageOut = imagecreatetruecolor($canvasSize, $canvasSize);
imagecopyresampled($imageOut, $imageX2, 0, 0, 0, 0, $canvasSize, $canvasSize, $canvasSize*2, $canvasSize*2);

header("Content-type: image/png");
imagepng($imageOut);

关于PHP:创建边缘光滑的圆、图像或字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2444340/

相关文章:

PHP/MYSQL GROUP BY 基于分组的数组

html - 所有方式将图像插入网页

python - 在图像中的一组点周围找到不同的边界

html - 直接在 CSS 中嵌入自定义字体

php - 解析XML文件并将结果插入MySQL

javascript - 如何验证两个加拿大邮政编码之间的距离

image - 如何使图像覆盖父宽度并拉伸(stretch)到浏览器宽度?

html - 如何访问网页上的 Proxima nova 表格数字?

android - 如何在android中更改Tabhost的字体系列

php - Laravel - 根据表单结果更改查询依赖项