简介
hanul-imagemagick
是一个基于 ImageMagick 的 Node.js 图像处理库。它提供了一系列简单易用的 API,可以进行图像缩放、裁剪、旋转、添加水印、生成缩略图等操作。
安装
使用 npm 可以简单地进行安装:
npm install hanul-imagemagick
使用方法
缩放
resize
方法可以对图像进行缩放:
-- -------------------- ---- ------- ----- --------- - ----------------------------- ------------------ -------- ----------- -------- ------------------- ------ ---- ------- --- -- ----- ------- ------- -- - -- ----- ----- ---- -------------------- ---
这里将 test.jpg
缩放为 200x200 的图像,并保存为 test_resized.jpg
。当然,也可以只指定宽度或高度,然后通过 preserveAspectRatio
属性控制图片比例是否保持不变。
裁剪
crop
方法可以对图像进行裁剪:
-- -------------------- ---- ------- ----- --------- - ----------------------------- ---------------- -------- ----------- -------- ------------------- ------ ---- ------- ---- -------- -- -------- -------- -- ----- ------- ------- -- - -- ----- ----- ---- -------------------- ---
这里将 test.jpg
裁剪为 200x200 的图像,并保存为 test_cropped.jpg
。quality
参数可以指定输出质量,gravity
参数可以控制裁剪区域的位置。
旋转
rotate
方法可以对图像进行旋转:
-- -------------------- ---- ------- ----- --------- - ----------------------------- ------------------ -------- ----------- -------- ------------------- ------ -- -- ----- ------- ------- -- - -- ----- ----- ---- -------------------- ---
这里将 test.jpg
逆时针旋转 90 度,并保存为 test_rotated.jpg
。也可以指定 background
参数控制背景颜色。
添加水印
composite
方法可以在图像上添加水印:
-- -------------------- ---- ------- ----- --------- - ----------------------------- --------------------- -------- ----------- -------- ----------------------- ---------- ---------------- -------- -------- -- ----- ------- ------- -- - -- ----- ----- ---- -------------------- ---
这里将 watermark.png
添加到 test.jpg
中央,并保存为 test_watermarked.jpg
。
生成缩略图
thumbnail
方法可以从图像中生成缩略图:
-- -------------------- ---- ------- ----- --------- - ----------------------------- --------------------- -------- ----------- -------- --------------------- ------ ---- ------- ---- -------- -------- -- ----- ------- ------- -- - -- ----- ----- ---- -------------------- ---
这里从 test.jpg
中生成一张 200x200 的缩略图,并保存为 test_thumbnail.jpg
。
总结
hanul-imagemagick
提供了一种简单易用、且功能丰富的处理图像的方法。上面的例子可以帮助你更好地了解它的使用方法,同时也能够拓展它的功能,应对更多的场景需求。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/68150