imgproxy - 图片大小调整,调整和转换远程图像 Git


https://hub.docker.com/r/darthsim/imgproxy

https://www.github.com/imgproxy/imgproxy

https://docs.imgproxy.net/


docker run -d --name imgproxy --restart always -p 90:8080  --privileged=true --user=root   -e TZ='Asia/Shanghai'   --ulimit nofile=262144:262144  -e  IMGPROXY_MAX_SRC_RESOLUTION='30' -e  IMGPROXY_ALLOWED_SOURCES='https://img.htmltoo.com/'  -e IMGPROXY_READ_TIMEOUT='1200'  -e  IMGPROXY_WRITE_TIMEOUT='30' -e IMGPROXY_JPEG_PROGRESSIVE='true'  -e IMGPROXY_ENFORCE_WEBP='true'  darthsim/imgproxy


http://g.htmltoo.com:90

docker exec -it  imgproxy /bin/bash

-libvips

https://github.com/libvips/libvips/

apt-get install -y wget vim net-tools curl

cd /var/lib/dpkg

mv info info.bak

mkdir info

apt --fix-broken install

apt install    build-essential    ninja-build  python3-pip  bc  wget

dpkg -r ghostscript

apt install libvips

apt install libvips-tools

apt-get install libvips-dev


-e IMGPROXY_ALLOWED_SOURCES='https://img.xxxx.cc/,https://img.yyyy.cc/'


---本地图片

IMGPROXY_LOCAL_FILESYSTEM_ROOT=/path/to/project/images 


-300x200 will look like this:

http://imgproxy.example.com/insecure/rs:fit:300:200:no:0/plain/local:///logos/imgproxy.png@jpg


----S3存储

-e AWS_ACCESS_KEY_ID=my_access_key -e AWS_SECRET_ACCESS_KEY=my_secret_key


---minio存储

-e AWS_ACCESS_KEY_ID='my_access_key' -e AWS_SECRET_ACCESS_KEY='my_secret_key' -e IMGPROXY_S3_ENDPOINT='http://'


---图片案例

https://b.htmltoo.com/blog-p2421.html


---将其转换为 400*400的图片

http://g.htmltoo.com:90/xxxxxx/resize:fill:400:400:0/plain/https://img.htmltoo.com/ueditor/image/20230916/1694843200104767.png@webp


---将其转换为200*200的图片,并旋转90度

http://g.htmltoo.com:90/xxxxxx/resize:fill:200:200:0/rot:90/plain/https://img.htmltoo.com/ueditor/image/20230916/1694843200104767.png@webp


其中 xxxxxx 代表签名字符串,默认启动的docker容器没有开启签名功能,因此这个签名参数可以任意填写,我这里填写的xxxxx。 resize代表指示imgproxy要调整图片的大小,fill代表调整大小的模式是填充模式,一共有fit、fill、fill-down、force、auto五种模式可以选。400:400这个代表分辨率调整到400*400,后面的0代表是否启用enlarge模式,这个模式如果被启用,如果给定的大小大于图片的原始大小的话,imgproxy会放大图片。 plain表示后面的图片地址是明文模式。plain后面就是原始图片的地址。最后@png代表要将原始的jpeg图片转换为png格式。

https://docs.imgproxy.net/generating_the_url

https://docs.imgproxy.net/usage/processing


---添加缩放参数,例如在图片地址后面添加?sm,将会生成一个最大宽度为640px的缩略图。更多参数如下:

xs -- 320px

sm -- 640px

md -- 800px

lg -- 1024px

xl -- 1280px

xxl -- 1600px

3xl -- 2048px

4xl -- 2560px

5xl -- 3264px

6xl -- 4080px


IMGPROXY_READ_TIMEOUT #读取原始图片的时间,如果imgproxy和原始图片的服务器之间的网络不是太好的话,可以适当调整这个参数

IMGPROXY_MAX_SRC_RESOLUTION #原始图片最大分辨率,默认是16.8,单位是百万像素,例如,如果一个图片的分辨率是5000*5000,其像素个数是25000000,即25百万像素,这个图片就会被拒绝处理。如果我们的原始图片有很多大图的话,就需要调整这个值了

IMGPROXY_MAX_SRC_FILE_SIZE #和上面的参数类似,指定原始图片的最大大小,默认不限制

IMGPROXY_ALLOWED_SOURCES #设置允许的原始图片地址,用逗号隔开,这样可以防止别人滥用服务。


IMGPROXY_WRITE_TIMEOUT 设置将图像写入客户端的超时时间(以秒为单位)

IMGPROXY_WATERMARK_PATH 设置水印图像的本地路径,如果启用了水印功能,imgproxy将使用此图像作为水印

IMGPROXY_FALLBACK_IMAGE_PATH 设置备用图像的本地路径,如果源图像无法加载或处理,imgproxy将使用此图像作为替代

IMGPROXY_LOCAL_FILESYSTEM_ROOT 设置本地文件系统的根目录,如果源URL以local://开头,imgproxy将从此目录中查找文件

IMGPROXY_IGNORE_SSL_VERIFICATION 设置是否忽略SSL证书验证,如果为true,imgproxy将不检查源服务器的SSL证书是否有效

IMGPROXY_JPEG_PROGRESSIVE 设置是否生成渐进式JPEG图像,如果为true,imgproxy将生成可以逐步显示的JPEG图像

IMGPROXY_PNG_INTERLACED 设置是否生成交错PNG图像,如果为true,imgproxy将生成可以逐步显示的PNG图像

IMGPROXY_ENFORCE_AVIF 设置是否强制使用AVIF格式,如果为true,imgproxy将忽略请求中指定的格式,并始终生成AVIF图像(浏览器不支持则忽略)

IMGPROXY_ENFORCE_WEBP 设置是否强制使用WEBP格式,如果为true,imgproxy将忽略请求中指定的格式,并始终生成WEBP图像(浏览器不支持则忽略)


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回