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

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

admin2天前AI娱乐6

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://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 提升游戏设计中的用户界面交互性

在当今的游戏设计领域,用户界面(UI)交互性的重要性日益凸显。它直接影响着玩家在游戏中的体验,决定了玩家是否能够轻松地理解和操作游戏。而随着 AI 技术的不断发展,它为提升游戏设计中的 UI 交互性提供了强大的助力。AI 可以通过对玩家行为数据的分析,深入了解玩家的喜好、习惯和需求。这些数据包括玩家...

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

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

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

AI 小说创作对网络文学发展的推动与变革

AI 小说创作对网络文学发展的推动与变革

在当今数字化时代,网络文学以其独特的魅力和广泛的影响力,成为了文学领域的一颗璀璨明珠。而随着 AI 技术的迅猛发展,AI 小说创作正逐渐成为网络文学领域的一股新势力,为网络文学的发展带来了前所未有的推动与变革。AI 小说创作首先在创作效率上带来了巨大的提升。传统的网络文学创作往往需要作者花费大量的时...