quince/persian-gd

此包已废弃,不再维护。未建议替代包。

PHP GD库,支持波斯文文本

v1.0.1 2020-08-09 16:06 UTC

This package is not auto-updated.

Last update: 2023-01-07 08:29:11 UTC


README

PHP GD库,支持波斯文文本

安装

将 persian-gd 添加到你的 composer.json 文件中

"require": {
  "quince/persian-gd": "~1.0"
}

或者运行

composer require quince/persian-gd ~1.0

用法

简单用法

<?php

$gdTool = new Quince\PersianGD\GDTool();

$gdTool->setFileName('/path/to/output/image')
       ->addLine("سلام دنیا")
       ->build();

高级用法

GDTool有许多选项,您可以通过两种不同的方式设置它们。

在构造GDTool实例时设置GDTools选项

您可以在构造GDTool实例时设置选项。

<?php

$gdTool = new Quince\PersianGD\GDTool([
    'with' => 1200,
    'backgroundColor' => '#FFF000',
    'fontColor' => '#000000',
    // ...
]);

$gdTool->addLine('لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.')
       ->addLine('چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد.')
       ->addLine('کتابهای زیادی در شصت و سه درصد گذشته، حال و آینده شناخت فراوان جامعه و متخصصان را می طلبد تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی و فرهنگ پیشرو در زبان فارسی ایجاد کرد.')
       ->build();

在运行时设置GDTools选项

如果您有一个GDTool实例,您可以通过它们的setter方法设置(或更改)任何选项。

<?php

function foo(Quince\PersianGD\GDTool $gdTool) {

    $gdTool->setWidth(500)                          // set image width - default: 500
           ->setFont('/path/to/font')               // set path to your desired font
           ->setBackgroundColor('#FF0000')          // set background color in hex code - default: #FFFFFF
           ->setFontColor('#00FF00')                // set foreground color in hex code - default: #000000
           ->setFontSize(10)                        // set size of font in px - default: 12
           ->setLineHeight(16)                      // set line height - default: 25
           ->setAngle(45)                           // set angle of text in degree - default: 0
           ->setHorizontalPosition(100)             // set position of start point from top of image - default: 10
           ->setVerticalPosition(100)              // set position of start point from left or right of image - default: 10
           ->setUseLocalNumber(true)                // set weather use local (persian) numbers character or not - default: true
           ->setFileName('/path/to/output/image')   // set the path of output image
           ->addLine('لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.')
           ->addLine('چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد.')
           ->build();

}

一次添加多行

您可以将字符串数组传递过去,GDTool将按给定顺序在画布上打印它们。

<?php

$gdTool = new Quince\PersianGD\GDTool();

$gdTool->addLines([
    'لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.',
    'چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد.',
    'کتابهای زیادی در شصت و سه درصد گذشته، حال و آینده شناخت فراوان جامعه و متخصصان را می طلبد تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی و فرهنگ پیشرو در زبان فارسی ایجاد کرد.',
])->setFileName('/path/to/output/image')->build();

输出生成图像

可能存在您不希望将生成的图像保存到文件中,而是想将其作为图像响应返回的情况。

<?php

$gdTool = new Quince\PersianGD\GDTool();

$imageContent = $gdTool->setOutputImage(false)
                       ->addLine('سلام دنیا!')
                       ->build();

header('content-type', 'image/png');
echo $imageContent;