宝哥软件园

使用ImageMagick进行图像缩放、合成和裁剪

编辑:宝哥软件园 来源:互联网 时间:2021-11-16

最近的项目需要对书籍封面进行处理,即添加一条阴影线,形成书脊的凹凸感,然后将书脊裁剪出来,分成两部分,让客户端实现开篇动画。因为需要在服务器端处理,所以使用情况的研究是由imagemagick进行的。同时我们要打包一个Node.js和Python的方法,主要讲一下然后用imagemagick对图片进行缩放、合成和剪切。首先,素材文件如下(左边是未处理的封面,右边是要合成的阴影):fmsc

我不会谈论安装ImageMagick的过程。我可以参考官网的安装方法:http://www.imagemagick.org/script/install-source.php先把封面图file.png放大到1024的高度,生成一个newfile.png便于合成阴影图。命令如下:复制代码代码代码如下: Convert-resize X1024 file.png newfile.png Convert缩放方法如下:Convert-resize 1024 file.jpg newfile.jpg得到一张宽度为1024的图片。根据高原始图片比例转换-调整x768的大小。在file.jpg newfile.jpg获得的图片,高阶为768,宽度按原图片比例计算。convert-调整大小1024768!File.jpg固定宽度和高度缩放,不考虑图片的原始宽度和高度比,将图片缩放到指定的大小。转换-调整大小“1024768”file.jpg newfile.jpg只有当src.jpg的宽度大于1024或高度大于768时才会缩小,否则newfile.jpg和file.jpg会有相同的大小。转换-调整大小“1024768”file.jpg newfile.jpg只有当src.jpg的宽度小于1024或高度小于768时才放大,否则newfile.jpg和file.jpg大小相同。接下来在封面合成阴影文件(左上角合成yy.png到file.png生成newfile.png):复制代码如下: Composite -gravity西北t yy.png file.png newfile.png这里主要解释一下-gravity参数:-Gravity西北指右上角。如果要求位于中间,则参数为中心。如果要求位于右下角,则参数为东南。按方位合成后的其他效果如下:fmyy

最后,图片被剪切,将图片分成两部分。一部分阴影left.png,另一部分右。png:复制代码如下: left:convert file . png-gravity西南-crop 31x 1024 00 left.png右:convert file.png-gravity sou。ast-crop 737 x 102400 right.png裁剪方法的调整如下:convert file . png-crop width xhx8 x y new file,其中width xhx8是目标图片的大小,x y是原始图片的坐标点。这两组值中至少有一组应该出现,或者它们可以同时存在。此外,该命令还可以使用重力来重新定义坐标系。最终结果如下:fmwc

更多资讯
游戏推荐
更多+