vallefor/eva-social-img-generator

为社交媒体生成美观的图片

v1.1.0 2016-10-04 10:42 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:25:44 UTC


README

安装

composer require vallefor/eva-social-img-generator

使用示例

<?php 

    use Eva\Social\imgGenerator as imgGenerator;
    use Eva\Social\imgTextGenerator as imgTextGenerator;

	$textGenerator = new imgTextGenerator();
	$text=$textGenerator
		->seTextShadow("#000000", 75, 1, 2, 2)
		->setText("Направление деятельности АО «МОСГАЗ»","#ffffff",imgGenerator::position_left_bottom,"auto",'5%')
		->setFont($_SERVER["DOCUMENT_ROOT"]."/upload/fonts/fonts2_7/hinted-PTF55F.ttf");

	$generator = new imgGenerator();
	$generator
		->addText($text)
		->addOverlay(0.5, "#999900")
		->setLogo($_SERVER["DOCUMENT_ROOT"] . "/images/logo.png", imgGenerator::position_left_top, "5%",'auto')
		->fromImg($_SERVER["DOCUMENT_ROOT"] . "/images/background.jpeg")
		->resizeFor("autodetect")
		->show();
}

?>

imgTextGenerator::setText

用于设置文本。具有以下参数

  1. 文本
  2. 文本颜色,支持使用 HEX、RGB、RGBA 等Imagick支持的类型。
  3. 文本位置。用于确定位置的常量是 imgGenerator::position_*,可以将文本放在图片的任何部分
  4. 文本大小,可以是以下类型
    • auto - 大小等于图片高度的1/10
    • 任何数字 - 用于像素大小的字体大小
    • 1/10, 1/5, 1/7 等,即文本大小将根据生成的图片高度调整
  5. 边距 - 可以指定整数值或百分比。可以分别设置每个边距,为此请传递数组:array(top, right, bottom, left)

imgTextGenerator::setTextShadow

设置文本下的阴影

参数

  1. 颜色,支持使用 HEX、RGB、RGBA 等Imagick支持的类型。
  2. 透明度 - 0-100 (或 0-1)
  3. 阴影大小
  4. 坐标 X
  5. 坐标 Y

imgTextGenerator::setFont

设置文本字体。可以指定字体名称(请注意,该字体必须在系统中安装),也可以指定字体文件的路径。

imgTextGenerator::setBackground

设置文本下的背景。具有以下参数

  1. 颜色,支持使用 HEX、RGB、RGBA 等Imagick支持的类型。
  2. 边距 - 可以指定整数值或百分比。可以分别设置每个边距,为此请传递数组:array(top, right, bottom, left)

imgGenerator::addOverlay

添加图层,在背景图片上方(如果有)。具有以下参数

  1. 透明度 - 0-100 或 0-1。
  2. 颜色,支持使用 HEX、RGB、RGBA 等Imagick支持的类型。

imgGenerator::addText

在图片上添加文本。输入准备好的 imgTextGenerator 实例。

imgGenerator::setLogo

设置标志。具有以下参数

  1. 文件路径
  2. 标志在图片上的位置,使用 imgGenerator::position_* 常量
  3. 边距 - 可以指定整数值或百分比。可以分别设置每个边距,为此请传递数组:array(top, right, bottom, left)
  4. 大小 - 目前可以接受两种类型
    • auto - 图片将占用不超过25%的图片空间。
    • false - 标志不会被缩小,建议仅在生成用于特定社交网络的图片时使用。

imgGenerator::fromImg

以这个图片为基础生成图片。

imgGenerator::fromColor

以颜色为基础生成图片。

imgGenerator::resizeFor

减小图片以适应这个社交网络。允许以下字符串

  • autodetect - 根据请求的 user agent 自动检测。如果无法检测,则使用 vk
  • facebook - 1200x630
  • vk - 537x240
  • twitter - 1024x512
  • google_plus - 2120x1192
  • ok - однокласники - 780x385

建议使用自动检测

imgGenerator::enableCache

作为参数接受一个路径,用于保存生成的图片。显著降低重复显示图片的速度。但由于设计上图片主要被社交网络的机器人访问 - 这应该非常罕见。

imgGenerator::show

最终方法。生成并显示图片。

imgGenerator::getPath

最终方法。代替显示图片,返回图片的路径(如果启用了缓存)。