作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我愿意使用以下代码创建包含特定文本的图像
<?PHP
header('Content-Type: image/png');
$im = imagecreatetruecolor(320, 80);
$blue = imagecolorallocate($im, 59, 89, 152);
$sky = imagecolorallocate($im, 219, 241, 255);
imagefilledrectangle($im, 0, 0, 399, 79, $sky);
$font = 'arial.ttf';
$text = "Hello world";
imagettftext($im, 15, 0, 10, 20, $blue, $font, $text);
imagepng($im);
imagedestroy($im);
?>
现在输出结果如下图
这是长方形
现在如果我想给它做一个圆角怎么办引用php手册关于function imagefilledrectangle我发现了一个很好的评论,据说它的功能可以使它成为圆角
<?
function ImageRectangleWithRoundedCorners(&$im, $x1, $y1, $x2, $y2, $radius, $color)
{
// draw rectangle without corners
imagefilledrectangle($im, $x1+$radius, $y1, $x2-$radius, $y2, $color);
imagefilledrectangle($im, $x1, $y1+$radius, $x2, $y2-$radius, $color);
// draw circled corners
imagefilledellipse($im, $x1+$radius, $y1+$radius, $radius*2, $radius*2, $color);
imagefilledellipse($im, $x2-$radius, $y1+$radius, $radius*2, $radius*2, $color);
imagefilledellipse($im, $x1+$radius, $y2-$radius, $radius*2, $radius*2, $color);
imagefilledellipse($im, $x2-$radius, $y2-$radius, $radius*2, $radius*2, $color);
}
?>
但是没说怎么用! ~ 任何帮助
最佳答案
如果有人需要半径后面的背景透明,可以使用这个功能(我修改了OP发布的那个)=>
function image_rectangle_w_rounded_corners(&$im, $x1, $y1, $x2, $y2, $radius, $color) {
$alpha = imagecolorallocatealpha($im, 0, 0, 0, 127);
// draw rectangle without corners
imagefilledrectangle($im, $x1+$radius, $y1, $x2-$radius, $y2, $color);
imagefilledrectangle($im, $x1, $y1+$radius, $x2, $y2-$radius, $color);
// draw circled corners
imagefilledellipse($im, $x1+$radius, $y1+$radius, $radius*2, $radius*2, $color);
imagefilledellipse($im, $x2-$radius, $y1+$radius, $radius*2, $radius*2, $color);
imagefilledellipse($im, $x1+$radius, $y2-$radius, $radius*2, $radius*2, $color);
imagefilledellipse($im, $x2-$radius, $y2-$radius, $radius*2, $radius*2, $color);
// alpha radius bg
$width = imagesx($im);
$height = imagesy($im) - 0.01;
imagefill($im, 0, 0, $alpha);
imagefill($im, $width, 0, $alpha);
imagefill($im, 0, $height, $alpha);
imagefill($im, $width, $height, $alpha);
}
当然 - 透明度可以切换为任何其他颜色。
关于php - 带圆角的 imagefilledrectangle 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9719440/
我愿意使用以下代码创建包含特定文本的图像 现在输出结果如下图 这是长方形 现在如果我想给它做一个圆角怎么办引用php手册关于function imagefilledrectangle我发现了一个很好
我是一名优秀的程序员,十分优秀!