用gd制作混合图像
Posted
技术标签:
【中文标题】用gd制作混合图像【英文标题】:making mix image with gd 【发布时间】:2018-11-20 13:22:44 【问题描述】:我正在尝试使用 php 和 gd 库制作表单。 表单包含一个带有透明包装的 png 标志。 现在我有 3 个问题:
当我制作边框时,我想将徽标放在顶部角落 图片,它不再是透明的背景了
我使用波斯字体并使用 imagettftext 函数。它显示了 字符,但在波斯语中,我们已经合并了单词,但它显示 字符分隔
如何绘制圆角边框这是我的代码:
$fontSize=4;
$width = imagefontwidth($font) * strlen($string)+10 ;
$height = imagefontheight($font) ;
$handle = ImageCreate (800, 400) or die ("Cannot Create image");
$logo = imagecreatefrompng( 'Logo.png' );
$bg_color = ImageColorAllocate ($handle, 255, 240, 250);
$txt_color = ImageColorAllocate ($handle, 0, 0, 0);
$title="فرم قرارداد";
$font = "IRANSans.ttf";
$title_size = 18;
imagettftext( $handle, $title_size, 0, 620, 100, $txt_color, $font, $title );
$black = imagecolorallocate($handle, 0, 0, 0);
imagerectangle($handle, 20, 20, 780, 380, $black);
imagecopy($handle, $logo, 10, 10, 0, 0, 161, 160);
header('Content-Type: image/png');
imagepng($handle);
【问题讨论】:
【参考方案1】:-
看到这个答案:php GD create a transparent png image
如果您想利用您的语言的印刷特征,则必须使用 OpenType (.otf) 字体。
您可能想看看 GD 的imagearc。
【讨论】:
嗨。感谢你的回答。关于数字 2,我通过在线工具将我的 ttf 转换为 otf,但仍然一无所获 关于我搜索的imagearc。我认为它可以用直线和圆弧绘制圆角正方形,但它使以后的更改变得困难。有没有简单的函数来绘制圆角正方形 我不知道 GD 库中有这样的功能。你可能想看看php.net/manual/en/class.imagickdraw.php。字体转换器是出了名的不可靠。如果我是你,我会找到一种(许可的)OTF 字体,可以开箱即用地为你正确处理这个问题。 再次感谢。我最终用一个名为 persiangd 的库解决了字符问题。它支持 ttf 和 otf 字体。我将检查您对 imagickdraw 的评论并分享结果。 酷,祝你好运。如果您发现我的回答有帮助,请考虑将其标记为已接受的答案:)。谢谢。以上是关于用gd制作混合图像的主要内容,如果未能解决你的问题,请参考以下文章