atk14 / pupiq-client
ATK14应用程序的Pupiq客户端
Requires
- php: >=5.6.0
- atk14/api-data-fetcher: >=1.10.8 <2.0
Requires (Dev)
- atk14/http: *
- atk14/tester: *
- dev-master
- v1.14.13
- v1.14.12
- v1.14.11
- v1.14.10
- v1.14.9
- v1.14.8
- v1.14.7
- v1.14.6
- v1.14.5
- v1.14.4
- v1.14.3
- v1.14.2
- v1.14.1
- v1.14
- v1.13
- v1.12.4
- v1.12.3
- v1.12.2
- v1.12.1
- v1.12
- v1.11
- v1.10
- v1.9
- v1.8.3
- v1.8.2
- v1.8.1
- v1.8
- v1.7
- v1.6
- v1.5
- v1.4.2
- v1.4.1
- v1.4
- v1.3
- v1.2
- v1.1.1
- v1.1
- v1.0
- dev-develop
- dev-testing_in_php5
- dev-testing_in_php53
- dev-feature/image_library
- dev-parse_attributes
This package is auto-updated.
Last update: 2024-09-20 09:18:20 UTC
README
它被指定用于集成到ATK14应用程序中 - 即由ATK14框架驱动的应用程序。
安装
只需使用Composer
cd path/to/your/atk14/project/
composer require atk14/pupiq-client
ln -s ../../vendor/atk14/pupiq-client/src/app/fields/pupiq_image_field.php app/fields/pupiq_image_field.php
ln -s ../../vendor/atk14/pupiq-client/src/app/widgets/pupiq_image_input.php app/widgets/pupiq_image_input.php
ln -s ../../vendor/atk14/pupiq-client/src/app/fields/pupiq_attachment_field.php app/fields/pupiq_attachment_field.php
ln -s ../../vendor/atk14/pupiq-client/src/app/widgets/pupiq_attachment_input.php app/widgets/pupiq_attachment_input.php
ln -s ../../vendor/atk14/pupiq-client/src/app/fields/async_pupiq_attachment_field.php app/fields/async_pupiq_attachment_field.php
ln -s ../../vendor/atk14/pupiq-client/src/app/widgets/async_pupiq_attachment_input.php app/widgets/async_pupiq_attachment_input.php
ln -s ../../vendor/atk14/pupiq-client/src/app/helpers/modifier.img_url.php app/helpers/modifier.img_url.php
ln -s ../../vendor/atk14/pupiq-client/src/app/helpers/modifier.img_attrs.php app/helpers/modifier.img_attrs.php
ln -s ../../vendor/atk14/pupiq-client/src/app/helpers/modifier.img_height.php app/helpers/modifier.img_height.php
ln -s ../../vendor/atk14/pupiq-client/src/app/helpers/modifier.img_width.php app/helpers/modifier.img_width.php
ln -s ../../vendor/atk14/pupiq-client/src/app/helpers/modifier.img_color.php app/helpers/modifier.img_color.php
ln -s ../../vendor/atk14/pupiq-client/src/app/helpers/modifier.img_format.php app/helpers/modifier.img_format.php
ln -s ../../vendor/atk14/pupiq-client/src/app/helpers/modifier.pupiq_img.php app/helpers/modifier.pupiq_img.php
配置
将您的PUPIQ API密钥写入config/settings.php
define("PUPIQ_API_KEY","1234567890abcdefghijklmopqrst");
可选地,可以定义以下常量
define("PUPIQ_API_URL","https://i.pupiq.net/api/");
define("PUPIQ_LANG","cs");
define("PUPIQ_IMG_HOSTNAME","i.pupiq.net");
define("PUPIQ_HTTPS",true);
define("PUPIQ_DEFAULT_WATERMARK_DEFINITION","default");
在模板中的使用
假设有一个原始分辨率为800x600的图片。在字符串变量$img中包含图片的URL。
To preserve aspect ratio:
{!$img|pupiq_img:"80"} {* 80x60 *}
{!$img|pupiq_img:"x30"} {* 40x30 *}
{!$img|pupiq_img:"80x80"} {* 80x60 *}
To crop the image:
{!$img|pupiq_img:"!80x80"} {* 80x80 *}
{!$img|pupiq_img:"80x80xcrop"} {* 80x80 *}
Top crop image to the top or bottom line:
{!$img|pupiq_img:"80x80xcrop,top"} {* 80x80 *}
{!$img|pupiq_img:"80x80xcrop,bottom"} {* 80x80 *}
To preserve aspect ratio and fill the background size with a specific colour:
{!$img|pupiq_img:"80x80x#ffffff"} {* 80x80, the image is not cropped *}
To preserve aspect ratio and use transparent background:
{!$img|pupiq_img:"80x80xtransparent"} {* 80x80, the image is not cropped *}
Keep in mind that transparent background works only on PNG images.
Transparent background can be specified with a fallback background colour for JPG images:
{!$img|pupiq_img:"80x80xtransparent_or_#ffffff"} {* 80x80, the image is not cropped *}
To add some attributes to img tag:
{!$img|pupiq_img:"80x80,enable_enlargement":"class='image-icon',title='Nice icon',data-clickable"}
To set a specific format:
{!$img|pupiq_img:"80x80,format=png"}
{!$img|pupiq_img:"80x80,format=jpg"}
To add some attributes prepared as array (got from a controller for example):
class SomeController extends ApplicationController {
....
$this->tpl_data["image_attributes_array"] = array(
"class" => "image-icon",
"title" => "Nice icon",
"data-clickable" => true
);
....
}
{!$img|pupiq_img:"80x80,enable_enlargement":$image_attributes_array}
To magnify:
{!$img|pupiq_img:"1600x1600"} {* 800x600, i.e. there is no magnification by default *}
{!$img|pupiq_img:"1600x1600,enable_enlargement"} {* 1600x1200 *}
To render a <img> tag by hand:
<img src="{$img|img_url:"!80x80"}" width="80" height="80" alt="a nice butterfly">
<img {!$img|img_attrs:"80x80"} alt="a nice butterfly">
To determine image width and height:
Width is {$img|img_width:"80x80"} pixels
Height is {$img|img_height:"80x80"} pixels
检测主色调
Helper img_color返回给定图片中的主色调。
{$img|img_color}
颜色名称可以指定在可选的第2个参数中。
可能名称有
-
鲜艳
-
浅鲜艳
-
深鲜艳
-
柔和
-
浅柔和
-
深柔和
{$img|img_color:"light_muted"}
在某些特殊情况下,可能不会返回请求的颜色。
{$img|img_color:"light_vibrant"|default:"#FFFFFF"}
指定多个颜色可能是有用的,按照所需的顺序。
{$img|img_color:"light_vibrant or light_muted or muted"|desired:"#FFFFFF"}
水印
首先您需要在地址 https://i.pupiq.net/api/cs/watermark_definitions/create_new/ 创建一个或多个水印定义。
默认水印应命名为"默认"。如果您没有提到水印的名称,则使用"默认"。
{!$img|pupiq_img:"600x600xcrop,watermark"} {* default *}
{!$img|pupiq_img:"600x600xcrop,watermark=default"} {* also default *}
{!$img|pupiq_img:"600x600xcrop,watermark=logo"} {* watermark definition named logo is used *}
设置本地代理
使用本地代理,上传到Pupiq的图片将被缓存并在您的服务器上提供。
在这里您可以找到如何在您的应用程序中设置本地代理的指南。
cd path/to/your/atk14/project/
mkdir i a
chmod 777 i a
ln -s ../vendor/atk14/pupiq-client/src/i/error.php i/error.php
ln -s ../vendor/atk14/pupiq-client/src/i/.htaccess i/.htaccess
ln -s ../vendor/atk14/pupiq-client/src/a/error.php a/error.php
ln -s ../vendor/atk14/pupiq-client/src/a/.htaccess a/.htaccess
将以下行添加到.gitignore
i/*
!i/.htaccess
!i/error.php
a/*
!a/.htaccess
!a/error.php
通过在 RewriteRule (.*) dispatcher.php [L]
之前添加这些行来防止dispatcher.php处理以/i/或/a/开头的请求
RewriteCond %{REQUEST_URI} !^\/i\/
RewriteCond %{REQUEST_URI} !^\/a\/
因此,.htaccess中给出的部分可能看起来像这样
RewriteCond %{REQUEST_URI} ^\/
RewriteCond %{REQUEST_URI} !^\/public\/
RewriteCond %{REQUEST_URI} !^\/server-status\/
RewriteCond %{REQUEST_URI} !^\/server-info\/
RewriteCond %{REQUEST_URI} !^\/i\/
RewriteCond %{REQUEST_URI} !^\/a\/
RewriteRule (.*) dispatcher.php [L]
在config/settings.php中定义常量PUPIQ_PROXY_HOSTNAME
define("PUPIQ_PROXY_HOSTNAME","your.hostname.com");
许可证
Pupiq Client是免费软件,根据MIT许可证的条款进行分发