【问题标题】:making mix image with gd用gd制作混合图像
【发布时间】:2018-11-20 13:22:44
【问题描述】:

我正在尝试使用 php 和 gd 库制作表单。 表单包含一个带有透明包装的 png 标志。 现在我有 3 个问题:

  1. 当我制作边框时,我想将徽标放在顶部角落 图片,它不再是透明的背景了

  2. 我使用波斯字体并使用 imagettftext 函数。它显示了 字符,但在波斯语中,我们已经合并了单词,但它显示 字符分隔

  3. 如何绘制圆角边框

这是我的代码:

$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);

【问题讨论】:

    标签: php gd


    【解决方案1】:
    1. 看到这个答案:php GD create a transparent png image
    2. 如果您想利用您的语言的印刷特征,则必须使用 OpenType (.otf) 字体。
    3. 您可能想看看 GD 的imagearc

    【讨论】:

    • 嗨。感谢你的回答。关于数字 2,我通过在线工具将我的 ttf 转换为 otf,但仍然一无所获
    • 关于我搜索的imagearc。我认为它可以用直线和圆弧绘制圆角正方形,但它使以后的更改变得困难。有没有简单的函数来绘制圆角正方形
    • 我不知道 GD 库中有这样的功能。你可能想看看php.net/manual/en/class.imagickdraw.php。字体转换器是出了名的不可靠。如果我是你,我会找到一种(许可的)OTF 字体,可以开箱即用地为你正确处理这个问题。
    • 再次感谢。我最终用一个名为 persiangd 的库解决了字符问题。它支持 ttf 和 otf 字体。我将检查您对 imagickdraw 的评论并分享结果。
    • 酷,祝你好运。如果您发现我的回答有帮助,请考虑将其标记为已接受的答案:)。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 2012-10-20
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    相关资源
    最近更新 更多