@bitpatty/imgproxy-url-builder

中文文档
2.1.0发布于 2025/12/10MITTypeScriptESM + CJS零依赖近 30 天下载 2.4万

用于构建 imgproxy URL 的 TypeScript 帮助库

中文使用文档
文档目录66 节
  1. 安装
  2. 使用量
  3. 链管
  4. 许可证
  5. 修改器
  6. 调整( imgproxy 文档 (中文(简体) )
  7. 自动旋转( E) imgproxy 文档 (中文(简体) )
  8. 背景情况( imgproxy 文档 (中文(简体) )
  9. 阿尔法( imgproxy 文档 (中文(简体) )
  10. 模糊( e) imgproxy 文档 (中文(简体) )
  11. 模糊检测( O) imgproxy 文档 (中文(简体) )
  12. 亮度( 微弱) imgproxy 文档 (中文(简体) )
  13. 缓存屏( B) imgproxy 文档 (中文(简体) )
  14. 对比( imgproxy 文档 (中文(简体) )
  15. 作物( imgproxy 文档 (中文(简体) )
  16. 禁用动画( E) imgproxy 文档 (中文(简体) )
  17. dpi (英语: imgproxy 文档 (中文(简体) )
  18. dpr (时速 imgproxy 文档 (中文(简体) )
  19. 绘图检测( E) imgproxy 文档 (中文(简体) )
  20. 双音( n) imgproxy 文档 (中文(简体) )
  21. 执行Thumbnail( imgproxy 文档 (中文(简体) )
  22. 扩大( e) imgproxy 文档 (中文(简体) )
  23. 期满 imgproxy 文档 (中文(简体) )
  24. 扩展( e) imgproxy 文档 (中文(简体) )
  25. 扩展视野Ratio( imgproxy 文档 (中文(简体) )
  26. 倒置图像Url( imgproxy 文档 (中文(简体) )
  27. 文件Name imgproxy 文档 (中文(简体) )
  28. 格式 (单位:千美元) imgproxy 文档 (中文(简体) )
  29. 格式 质量 imgproxy 文档 (中文(简体) )
  30. 渐变( e) imgproxy 文档 (中文(简体) )
  31. 重力( r) imgproxy 文档 (中文(简体) )
  32. 半径( hashum) ( imgproxy 文档 (中文(简体) )
  33. jpeg 选项 imgproxy 文档 (中文(简体) )
  34. 保持版权( E) imgproxy 文档 (中文(简体) )
  35. 最大字节( E) imgproxy 文档 (中文(简体) )
  36. 分钟( MinH8) imgproxy 文档 (中文(简体) )
  37. 分钟( MinWidth) ( imgproxy 文档 (中文(简体) )
  38. 单色( r) imgproxy 文档 (中文(简体) )
  39. 垫 (e) imgproxy 文档 (中文(简体) )
  40. 页 次 imgproxy 文档 (中文(简体) )
  41. 有像素( n) imgproxy 文档 (中文(简体) )
  42. png 选项 imgproxy 文档 (中文(简体) )
  43. 预设( e) imgproxy 文档 (中文(简体) )
  44. 质量( imgproxy 文档 (中文(简体) )
  45. 生 ( imgproxy 文档 (中文(简体) )
  46. 调整大小( e) imgproxy 文档 (中文(简体) )
  47. 调整算法大小( E) imgproxy 文档 (中文(简体) )
  48. 返回标记( A) imgproxy 文档 (中文(简体) )
  49. 旋转( r) imgproxy 文档 (中文(简体) )
  50. 饱和度( e) imgproxy 文档 (中文(简体) )
  51. 磨口 ( imgproxy 文档 (中文(简体) )
  52. 跳过处理( T) imgproxy 文档 (中文(简体) )
  53. 条纹彩色文件 imgproxy 文档 (中文(简体) )
  54. 条形元数据( T) imgproxy 文档 (中文(简体) )
  55. 样式( e) imgproxy 文档 (中文(简体) )
  56. 修饰( r) imgproxy 文档 (中文(简体) )
  57. (无) imgproxy 文档 (中文(简体) )
  58. 视频:ThumbnailKeyframes( imgproxy 文档 (中文(简体) )
  59. 视频:Thumbnail Second( imgproxy 文档 (中文(简体) )
  60. 视频:ThumbnailTile( imgproxy 文档 (中文(简体) )
  61. 水印 ( imgproxy 文档 (中文(简体) )
  62. 水印Shadow( 缩写: imgproxy 文档 (中文(简体) )
  63. 水标记 imgproxy 文档 (中文(简体) )
  64. 水印图文集( E) imgproxy 文档 (中文(简体) )
  65. 水标记Url( imgproxy 文档 (中文(简体) )
  66. 缩放( e) imgproxy 文档 (中文(简体) )

GitHub Workflow Status Coverage Status npm

imgproxy-url- 构建器

用于构建的 TypeScript 帮助库 缩写 URLs (英语).

安装

npm i --save @bitpatty/imgproxy-url-builder

使用量

您可以导入参数构建器并链接您的转换 。 关于可用的变换列表,请检查以下各节.

import pb from '@bitpatty/imgproxy-url-builder';

// Just the transformer params
// Returns rot:90/bl:10
pb().rotate(90).blur(10).build();

// The transformer params with the target image
// Returns /-/rot:90/bl:10/czM6Ly9teWJ1Y2tldC9teWltYWdlLnBuZw
pb().rotate(90).blur(10).build({
  path: 's3://mybucket/myimage.png',
});

// You can disable path encoding by setting 'plain' to true
// Returns /-/rot:90/bl:10/plain/s3://mybucket/myimage.png
pb().rotate(90).blur(10).build({
  plain: true,
  path: 's3://mybucket/myimage.png',
});

// To sign your URL provide the key and salt
// The path is required to sign your URL!
// Returns /TXf2QXtZkU-ULvrg0pLDqJlWUb7XdHkXD0h6NFWD-mo/rot:90/bl:10/czM6Ly9teWJ1Y2tldC9teWltYWdlLnBuZw
pb()
  .rotate(90)
  .blur(10)
  .build({
    path: 's3://mybucket/myimage.png',
    signature: {
      key: 'a91bdcda48ce22cd7d8d3a0eda93',
      salt: 'a91bdcda48ce22cd7d8d3a0eda93',
      size: 32, // Optional, specify the signature size. Defaults to 32
    },
  });

// To automatically prepend the imgproxy URL
// provide it as the 'baseUrl' setting
// Returns https://my-imgproxy-instance.example.com/-/rot:90/bl:10/czM6Ly9teWJ1Y2tldC9teWltYWdlLnBuZw
pb().rotate(90).blur(10).build({
  path: 's3://mybucket/myimage.png',
  baseUrl: 'https://my-imgproxy-instance.example.com',
});

// You can clone the current configuration for templating / reuse
const template = pb().rotate(90);
const copy = template.clone();

// To remove a modifier, use the `unset` function
const t = pb().rotate(90).blur(10);
t.unset('rotate');

// ... Or you can replace the previous setting by calling the
// modifier again
const t = pb().rotate(90).blur(10); // rotate: 90, blur: 10
t.rotate(34); // rotate: 34, blur: 10

链管

管道 可被锁链 使用链式公用功能:

import pb, { chain } from '@bitpatty/imgproxy-url-builder';

// Returns bl:10/rot:90/-/bl:10/rot:270
chain([pb().blur(10).rotate(90), pb().blur(10).rotate(270)]);

// Returns /8q2Ey2URdWizZb8PgAUKMO6C2tD4aXOa2IbCMV9pTKA/bl:10/-/ar:true/dGVzdC5wbmc
chain({
  buildOptions: {
    path: 'test.png',
    signature: {
      key: '73757065722d7365637265742d6b6579', // super-secret-key
      salt: '73757065722d7365637265742d73616c74', // super-secret-salt
    },
  },
  builders: [pb().blur(10), pb().autoRotate()],
});

许可证

现按 MIT 许可证。 。 。 .

修改器

调整(imgproxy 文档(中文(简体) )

定义亮度、对比度和饱和度.

示例

pb().adjust({
  brightness: 100,  // optional
  contrast: 0.8,    // optional
  saturation: 0.9   // optional
});

自动旋转( E)imgproxy 文档(中文(简体) )

基于 EXIF 方向参数自动旋转图像.

示例

pb().autoRotate();

背景情况(imgproxy 文档(中文(简体) )

用指定的颜色填充图像背景.

示例

pb().background('ff0000');

pb().background({
  r: 255,
  g: 0,
  b: 0
});

阿尔法(imgproxy 文档(中文(简体) )

将α 通道添加到背景 .

示例

pb().backgroundAlpha(0.4);

模糊( e)imgproxy 文档(中文(简体) )

在图像上应用了高斯模糊过滤器.

示例

pb().blur(10);

模糊检测( O)imgproxy 文档(中文(简体) )

检测所提供的类的物体并模糊它们.

示例

pb().blurDetections({
  sigma: 10,
  classNames: ['face']
});

亮度( 微弱)imgproxy 文档(中文(简体) )

调整图像的亮度.

示例

pb().brightness(-100);

缓存屏( B)imgproxy 文档(中文(简体) )

将缓存缓存添加到 imgproxy 参数.

示例

pb().cacheBuster("abcdef123");

对比(imgproxy 文档(中文(简体) )

调整结果图像的对比度 .

示例

pb().contrast(0.3);

作物(imgproxy 文档(中文(简体) )

裁剪图像.

示例

pb().crop({
  width: 100,                  // optional
  height: 50,                  // optional
  gravity: {                   // optional
    type: GravityType.CENTER,  // required
    offset: {                  // optional
       x: 20,                  // required
       y: 20                   // required
    }
  }
})

禁用动画( E)imgproxy 文档(中文(简体) )

使用单帧动画图像.

示例

pb().disableAnimation();

dpi (英语:imgproxy 文档(中文(简体) )

设定时, Ingproxy 将用所提供的值来取代图像的DPI元数据.

示例

pb().dpi(300);

dpr (时速imgproxy 文档(中文(简体) )

根据指定的因子来乘以尺寸.

示例

pb().dpr(18);

绘图检测( E)imgproxy 文档(中文(简体) )

探测所提供类别的物体并绘制其边框.

示例

pb().drawDetections({
  classNames: ["face"]
});

双音( n)imgproxy 文档(中文(简体) )

用指定的强度和颜色将图像转换为双音.

示例

pb().duotone({
  intensity: 1.0,   // required
  color1: 'ff0000', // required
  color2: '00ff00'  // required
});

执行Thumbnail(imgproxy 文档(中文(简体) )

如果源图像有嵌入式缩略图,imgproxy将使用嵌入式缩略图来代替主图像.

示例

pb().enforceThumbnail();

扩大( e)imgproxy 文档(中文(简体) )

如果图像比给定的大小小,则扩大图像.

示例

pb().enlarge();

期满imgproxy 文档(中文(简体) )

如果到期日已到,则返回 a 404.

示例

pb().expires(new Date());

pb().expires(1661431326);

扩展( e)imgproxy 文档(中文(简体) )

如果图像小于给定大小,则扩展图像.

示例

pb().extend();

pb().extend({
  gravity: {
    type: GravityType.NORTH  // required
    offset: {                // optional
      x: 10;                 // required
      y: 20;                 // required
    }
  }
});

扩展视野Ratio(imgproxy 文档(中文(简体) )

将图像扩展至请求的宽比 .

示例

pb().extendAspectRatio();

pb().extendAspectRatio({
  gravity: {
    type: GravityType.NORTH  // required
    offset: {                // optional
      x: 10;                 // required
      y: 20;                 // required
    }
  }
});

倒置图像Url(imgproxy 文档(中文(简体) )

通过指定其 URL 设置自定义倒置图像.

示例

pb().fallbackImageUrl('https://example.com');

文件Nameimgproxy 文档(中文(简体) )

设置内容偏移标题的文件名.

示例

// Not encoded
pb().fileName('filename.png');

// Encoded
pb().fileName('ZmlsZW5hbWUucG5n', true);

格式 (单位:千美元)imgproxy 文档(中文(简体) )

指定生成的图像格式.

示例

pb().format('png');

格式 质量imgproxy 文档(中文(简体) )

设置每种格式所需的质量.

示例

pb().formatQuality({
  jpeg: 100,
  png: 50,
  // ...
});

渐变( e)imgproxy 文档(中文(简体) )

在已处理的图像上放置梯度.

示例

pb().gradient({
  opacity: 1,       // required
  color: 'ababab',  // optional
  direction: 'up',  // optional
  start: 0.0,       // optional
  stop: 0.7         // optional
});

重力( r)imgproxy 文档(中文(简体) )

设定重力.

示例

pb().gravity({
  type: GravityType.NORTH  // required
  offset: {                // optional
    x: 10,                 // required
    y: 20                  // required
  }
});

半径( hashum) (imgproxy 文档(中文(简体) )

何时 hashsum_type 没有 none, imgproxy 将计算出源图像的散列和所提供散列相比较.

示例

pb().hashsum({
  hashsum: 'ABCDEF',       // required
  type: HashsumType.NONE   // optional
});

jpeg 选项imgproxy 文档(中文(简体) )

允许重新定义 JPEG 保存选项 .

示例

pb().jpegOptions({
  progressive: boolean,         // optional
  noSubsample: boolean,         // optional
  trellisQuant: boolean,        // optional
  overshootDeringing: boolean,  // optional
  optimizeScans: boolean,       // optional
  quantizationTable: 7          // optional
});

保持版权( E)imgproxy 文档(中文(简体) )

在剥去元数据的同时保留版权信息.

示例

pb().keepCopyright();

最大字节( E)imgproxy 文档(中文(简体) )

将文件大小限制为指定的字节数 .

示例

pb().maxBytes(10);

分钟( MinH8)imgproxy 文档(中文(简体) )

定义生成的图像的最小高度.

示例

pb().minHeight(100);

分钟( MinWidth) (imgproxy 文档(中文(简体) )

定义所产生的图像最小宽度.

示例

pb().minWidth(100);

单色( r)imgproxy 文档(中文(简体) )

将图像转换为单色 .

示例

pb().monochrome({
  intensity: 0.3,  // required
  color: 'ff0000'  // optional
});

垫 (e)imgproxy 文档(中文(简体) )

对图像应用指定的编码.

示例

pb().pad({
  top: 100,    // optional (Note: sets all other sides if not set explicitly)
  right: 100,  // optional
  bottom: 10,  // optional
  left: 10     // optional
});

页 次imgproxy 文档(中文(简体) )

当源图像支持页化(PDF,TIFF)或动画(GIF,WebP)时,此选项允许指定要使用的页面.

示例

pb().page(10);

有像素( n)imgproxy 文档(中文(简体) )

将像素过滤器应用到生成的图像中.

示例

pb().pixelate(5);

png 选项imgproxy 文档(中文(简体) )

允许重新定义 PNG 保存选项 .

示例

pb().pngOptions({
  interlaced: true,         // optional
  quantize: false,          // optional
  quantization_colors: 10   // optional
});

预设( e)imgproxy 文档(中文(简体) )

设置一个或多个预设,供imgproxy使用.

示例

pb().preset('mypreset');

pb().preset(['preset1', 'preset2']);

质量(imgproxy 文档(中文(简体) )

重新定义生成图像的质量 .

示例

pb().quality(80);

生 (imgproxy 文档(中文(简体) )

返回原始未处理和未受限制的源图像

示例

pb().raw();

调整大小( e)imgproxy 文档(中文(简体) )

调整图像大小.

示例

pb().resize({
  type: ResizeType.AUTO,  // optional
  width: 100,             // optional
  height: 50              // optional
});

调整算法大小( E)imgproxy 文档(中文(简体) )

定义 imgproxy 用于再大小的算法.

示例

pb().resizingAlgorithm(ResizingAlgorithm.NEAREST));

返回标记( A)imgproxy 文档(中文(简体) )

返回内容- Disposition 页眉中的附件.

示例

pb().returnAttachment();

旋转( r)imgproxy 文档(中文(简体) )

以指定角度旋转图像.

示例

pb().rotate(90);

饱和度( e)imgproxy 文档(中文(简体) )

调整所生成图像的饱和度.

示例

pb().saturation(0.3);

磨口 (imgproxy 文档(中文(简体) )

对图像使用磨刀过滤器.

示例

pb().sharpen(3);

跳过处理( T)imgproxy 文档(中文(简体) )

跳过列表格式的处理 .

示例

pb().skipProcessing(['png', 'svg']);

条纹彩色文件imgproxy 文档(中文(简体) )

从图像中去除颜色描述文件.

示例

pb().stripColorProfile();

条形元数据( T)imgproxy 文档(中文(简体) )

剥离图像中的元数据.

示例

pb().stripMetadata();

样式( e)imgproxy 文档(中文(简体) )

预留 a <style> 带有 CSS 样式的节点 <svg> 源 SVG 图像的节点.

示例

pb().style('fill:red;width:30px;');

pb().style({
  fill: 'red';
  width: '30px'
});

修饰( r)imgproxy 文档(中文(简体) )

调整图像背景 .

示例

pb().trim({
  threshold: 10,       // required
  color: 'ffffff',     // optional
  equal: {             // optional
    horizontal: true,  // optional
    vertical: true     // optional
  }
});

(无)imgproxy 文档(中文(简体) )

允许重新定义解析选项 .

示例

pb().unsharpen({
  mode: UnsharpeningMode.AUTO,   // optional
  weight: 11,                    // optional
  dividor: 24                    // optional
});

视频:ThumbnailKeyframes(imgproxy 文档(中文(简体) )

指定视频缩略图秒前的最新键框是否用于缩略图生成

示例

pb().videoThumbnailKeyframes(true);

视频:Thumbnail Second(imgproxy 文档(中文(简体) )

重新定义用于缩略图的第二个 .

示例

pb().videoThumbnailSecond(3);

视频:ThumbnailTile(imgproxy 文档(中文(简体) )

使用源视频帧生成一个平面图案

示例

pb().videoThumbnailTile({
  step: 1,           // required
  columns: 1,        // required
  rows: 1,           // required
  tileWidth: 50,     // required
  tileHeight: 50,    // required
  extendTile: true,  // optional
  trim: true,        // optional
  fill: true,        // optional
  focusX: 10.3,      // optional
  focusY: 10.3,      // optional
});

水印 (imgproxy 文档(中文(简体) )

在已处理的图像上放置水印.

示例

pb().watermark({
  opacity: 0.8,                          // required
  position: WatermarkPosition.REPLICATE  // optional
  scale: 2                               // optional
});

pb().watermark({
  opacity: 1.0,
  scale: 1,
  position: WatermarkPosition.WEST  // optional
  offset: {                         // optional
    x: 10,                          // optional
    y: 10                           // optional
  }
})

水印Shadow( 缩写:imgproxy 文档(中文(简体) )

以相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相.

示例

pb().watermarkShadow(10);

水标记imgproxy 文档(中文(简体) )

定义水印的理想宽度和高度。 imgproxy 总是使用 fit 在调整水印时调整类型大小,并在需要时加以扩大.

示例

pb().watermarkSize({
  width: 30,  // required
  height: 30  // required
});

水印图文集( E)imgproxy 文档(中文(简体) )

从提供的文本中生成一个图像并用作水印.

示例

pb().watermarkText("my watermark");

水标记Url(imgproxy 文档(中文(简体) )

使用指定的 URL 的图像作为水印 .

示例

pb().watermarkUrl('https://example.com');

缩放( e)imgproxy 文档(中文(简体) )

根据指定的因素将图像尺寸相乘.

示例

pb().zoom(3);

版本与发布记录

@bitpatty/imgproxy-url-builder 共发布 35 个版本,首次发布于 2021/11/01;过去 12 个月发布了 1 个版本。

版本发布日期距今
2.1.0latest2025/12/1010 个月前
2.0.02025/06/211.4 年前
1.8.0-rc12024/10/272 年前
1.7.02024/05/152 年前
1.6.02024/02/282 年前
1.5.02024/01/122 年前

关于 @bitpatty/imgproxy-url-builder 的常见问题

@bitpatty/imgproxy-url-builder 是什么?

用于构建 imgproxy URL 的 TypeScript 帮助库

如何安装 @bitpatty/imgproxy-url-builder?

在项目目录运行 npm install @bitpatty/imgproxy-url-builder,或使用 pnpm add / yarn add / bun add。

@bitpatty/imgproxy-url-builder 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bitpatty/imgproxy-url-builder 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@bitpatty/imgproxy-url-builder 可以商用吗?

@bitpatty/imgproxy-url-builder 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bitpatty/imgproxy-url-builder 的下载量有多少?

根据 npm 官方下载统计,@bitpatty/imgproxy-url-builder 在 2026/10/08 – 2026/11/06 这 30 天内被下载 23,573 次,日均约 786 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bitpatty/imgproxy-url-builder 还在维护吗?

最新版本 2.1.0 发布于 2025/12/10(10 个月前);至今共发布 35 个版本,其中过去 12 个月发布了 1 个;首次发布于 2021/11/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。