当前位置:首页 > AI娱乐 > 正文内容

lua tengine Tengine+Lua+GraphicsMagick实现图片自动裁剪缩放

admin1周前 (06-13)AI娱乐18

lua tengine Tengine+Lua+GraphicsMagick实现图片自动裁剪缩放

图片处理需求

解决方案 根据请求指定尺寸的图片自动生成响应的缩略图片

技术介绍

gine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。它的目的是打造一个高效、安全的Web平台。 是一个小巧的脚本语言。是巴西里约热内卢天主教大学( of Rio de )里的一个研究小组,由 、 Celes 和 Luiz de 所组成并于1993年开发。 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。由标准C编写而成lua tengine Tengine+Lua+GraphicsMagick实现图片自动裁剪缩放,几乎在所有操作系统和平台上都可以编译,运行。并没有提供强大的库,这是由它的定位决定的。所以不适合作为开发独立应用程序的语言。 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得在应用程序中可以被广泛应用。不仅仅作为扩展脚本lua tengine,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。 由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译lua tengine Tengine+Lua+GraphicsMagick实现图片自动裁剪缩放,运行。 一个完整的解释器不过200klua tengine,在目前所有脚本引擎中,的速度是最快的。这一切都决定了是作为嵌入式脚本的最佳选择。 号称图像处理领域的瑞士军刀。 短小精悍的代码却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取、写入和操作lua tengine,支持超过88种图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF。

安装配置

依赖包和类库,可以使用yum安装

安装

安装Lua(源码编译安装)安装 (源码编译安装)检测是否安装成功

--=/usr/local/ --dso-path=/usr/local// --with- --with-ule --with-ule --with- --with-  --http-proxy-temp-path=/var/tmp// --http--temp-path=/var/tmp// --http-uwsgi-temp-path=/var/tmp// --http-scgi-temp-path=/var/tmp// --http--body-temp-path=/var/tmp// --http-log-path=/var/log//.log --error-log-path=/var/log//error.log 启动

成功页面

进入GM源码目录,使用配置安装路径以及需要安装的模块安装GM(源码编译安装)验证是否安装成功

配置

= "/usr/local//bin/gm " .. ngx.var. .. " - " .. ngx.var.width .. "x" .. ngx.var. .. " + \"*\" " .. ngx.var. .. "_" .. ngx.var.width .. "x" .. ngx.var. .. "." .. ngx.var.ext;

os.();

ngx.exec(ngx.var.);   ;

user  root;  # 裁剪图片需要root权限

  1;

#  logs/error.log;

#  logs/error.log  ;

#  logs/error.log  info;

#pid        logs/nginx.pid;

{

  1024;

# load as (DSO)

#dso {

#    load ule.so;

#    load ule.so;

#}

http {

       mime.types;

  /octet-;

#  main  '$ - $

$

"$" '

#                  '$ $ "$" '

#                  '"$" "$"';

lua tengine Tengine+Lua+GraphicsMagick实现图片自动裁剪缩放 第1张

#  logs/.log  main;

        on;

#     on;

#  0;

  65;

#gzip  on;

{

       80;

root /data/itrip/;

/ {

root /data/itrip/; # 站点根目录

1h;    # 缓存时间

Cache- max-age=3600; # 缓存时间

   /var/log//.log;

# 如果 url 格式如:xxxx.gif_数字x数字.gif

~* ^(.+\.(jpg|jpeg|gif|png))_(\d+)x(\d+)\.(jpg|jpeg|gif|png)$ {

# 这里必须设置,否则根目录,即 $ 会是 Nginx 默认的 Nginx Root/html,在Lua中会得不到期望的值

root /data/itrip/;

if (!-f $) { # 如果文件不存在时才需要裁剪

X--By 'Lua ';  # 此HTTP 无实际意义,用于测试

file-path $;  #此HTTP 无实际意义,用于测试

on;  # 在编写外部 Lua脚本时,设置为off Nginx不会缓存 Lua,方便调试

set $ /data/itrip/$1;  #设置原始图片路径,如://1.gif

set $width $3;     # 设置裁剪/缩放的宽度

set $ $4;    # 设置裁剪/缩放的高度

set $ext $5;      # 图片文件格式后缀

/usr/local//lua/.lua;  # 加载外部 Lua 文件

# koi8-r;

#  logs/host..log  main;

# / {

#    root   html;

#    index  index.html index.htm;

#}

#  404              /404.html;

# error pages to the page /50x.html

   500 502 503 504  /50x.html;

= /50x.html {

root   html;

# proxy the PHP to on 127.0.0.1:80

# ~ \.php$ {

#       ;

#}

# pass the PHP to on 127.0.0.1:9000

# ~ \.php$ {

#    root           html;

#       127.0.0.1:9000;

#      index.php;

#        /$;

#            ;

#}

# deny to . files, if 's root

# with nginx's one

# ~ /\.ht {

#    deny  all;

#}

# host using mix of IP-, name-, and port-based

# {

#           8000;

#           :8080;

#        alias  .alias;

#    / {

#        root   html;

#        index  index.html index.htm;

#    }

#}

# HTTPS

# {

#           443 ssl;

#      ;

#          cert.pem;

#      cert.key;

#        :SSL:1m;

#      5m;

#      HIGH:!aNULL:!MD5;

#    phers  on;

#    / {

#        root   html;

#        index  index.html index.htm;

#    }

#}

加入微信交流群:************ ,请猛戳这里→点击入群

扫描二维码推送至手机访问。

版权声明:本文由前沿科技娱乐汇发布,如需转载请注明出处。

本文链接:https://www.kejiyl.com/post/4878.html

分享给朋友:

“lua tengine Tengine+Lua+GraphicsMagick实现图片自动裁剪缩放” 的相关文章

AI 创作小说的质量评估标准探讨

AI 创作小说的质量评估标准探讨

在当今数字化时代,AI 创作小说正逐渐成为文学领域的一个重要现象。随着人工智能技术的不断发展,AI 能够生成各种风格和类型的小说,这引发了人们对于 AI 创作小说质量的关注和探讨。本文将深入探讨 AI 创作小说的质量评估标准,以帮助读者更好地理解和评价 AI 创作的小说作品。一、情节合理性情节合理性...

利用 AI 技术为游戏增添独特的文化元素

利用 AI 技术为游戏增添独特的文化元素

在当今数字化的时代,游戏已经成为人们生活中不可或缺的一部分。而随着 AI 技术的不断发展,它为游戏行业带来了前所未有的变革和机遇。其中,利用 AI 技术为游戏增添独特的文化元素,成为了游戏开发者们追求的目标之一。AI 技术可以通过对大量的文化数据进行学习和分析,提取出各种文化元素的特征和内涵。这些文...

利用 AI 优化游戏经济系统,提升玩家体验

利用 AI 优化游戏经济系统,提升玩家体验

在当今的游戏世界中,游戏经济系统扮演着至关重要的角色。它不仅影响着玩家在游戏中的行为和决策,还直接关系到玩家的游戏体验和留存率。随着人工智能(AI)技术的不断发展,利用 AI 来优化游戏经济系统成为了一种趋势,为提升玩家体验带来了新的机遇和挑战。AI 可以通过对大量游戏数据的分析和学习,深入了解玩家...

AI 写小说对作者权益保护带来的新挑战

AI 写小说对作者权益保护带来的新挑战

在当今数字化时代,人工智能(AI)的发展如同一股汹涌的浪潮,席卷了各个领域,其中包括文学创作。AI 写小说这一新兴现象,为文学创作带来了前所未有的机遇与变革,同时也给作者的权益保护带来了一系列新的挑战。从积极的方面来看,AI 写小说为文学创作提供了新的思路和工具。它可以快速生成大量的文本内容,帮助作...

探秘 AI 在 3A 游戏设计中的核心技术应用

探秘 AI 在 3A 游戏设计中的核心技术应用

在当今的游戏产业中,3A 游戏以其卓越的画面品质、丰富的剧情和高度的可玩性而备受瞩目。而 AI 技术的引入,正逐渐成为 3A 游戏设计中不可或缺的一部分,为游戏带来了前所未有的创新和体验。那么,AI 在 3A 游戏设计中究竟有哪些核心技术应用呢?AI 用于游戏中的角色行为生成。在 3A 游戏中,角色...

AI 生成音乐在直播行业中的广泛应用与发展

AI 生成音乐在直播行业中的广泛应用与发展

在当今的直播行业中,AI 生成音乐正逐渐崭露头角,并以其独特的优势和广泛的应用场景,成为直播领域的一大亮点。AI 生成音乐在直播中的应用十分广泛。在直播的背景音乐选择方面,AI 可以根据直播的主题、氛围和观众群体的喜好,实时生成适合的音乐。比如,在一场美食直播中,AI 可以生成轻快愉悦、充满食欲的背...