jpeg_filter_dropon_memory
指令 `jpeg_filter_dropon_memory` 允许在过滤期间将内存中的图像直接叠加到 JPEG 图像上。
NGINX JPEG filter module
·
location
语法jpeg_filter_dropon_memory image [mask];
默认值none
上下文location
参数1-2
说明
指令 jpeg_filter_dropon_memory 属于 NGINX 的 JPEG 过滤模块,该模块使用 libmodjpeg 库来高效处理 JPEG 图像。该指令用于将指定的图像或蒙版直接叠加到由 NGINX 处理的 JPEG 图像上,无需将叠加图像写入磁盘。该指令接受一个或两个参数:第一个参数是要叠加的图像名称,第二个(可选)参数指定用于定义叠加透明度或混合的蒙版图像。如果未提供蒙版,则按原样应用叠加。
当请求 JPEG 图像时,如果在某个 location 的配置中指定了此指令,NGINX 会在图像处理阶段动态注入叠加图像。这样服务器可以保持模块化和灵活性,支持在各种场景中使用叠加,例如添加徽标或水印而不修改磁盘上的原始图像文件。如果要叠加的图像较大或较复杂,则需有效管理服务器内存,因为将大型图像直接加载到内存中可能耗尽可用资源。
配置示例
location /images/ {
jpeg_filter on;
jpeg_filter_dropon_memory /path/to/overlay.png /path/to/mask.png;
}⚠
确保叠加图像采用兼容格式(例如 PNG),并且可被 NGINX 工作进程访问。
⚠
大型图像可能会占用大量内存,可能导致性能问题或崩溃。
⚠
如果使用掩码图像,请确保其尺寸与叠加图像对齐,以避免出现意外行为。