国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

使用ImageMagick進行圖片縮放、合成與裁剪(js+python)

2019-11-20 22:17:49
字體:
來源:轉載
供稿:網友
最近的項目里面需要對書籍的封面進行處理,就是加一條陰影線形成書脊的凹凸感,然后將書脊切出,分成兩部分,以便客戶端實現打開動畫。由于需要在服務器端處理,使用就研究使用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,高根據原始圖片比例計算而來

convert -resize x768 file.jpg newfile.jpg
得到的圖片高位768,寬根據原始圖片比例計算而來

convert -resize 1024×768! file.jpg newfile.jpg
固定寬高縮放,不考慮原是圖寬高的比例,把圖片縮放到指定大小。

convert -resize “1024×768>” file.jpg newfile.jpg
只有當src.jpg的寬大于1024或高大于768時候,才進行縮小處理,否則生成newfile.jpg和file.jpg具有一樣的尺寸。

convert -resize “1024×768<” file.jpg newfile.jpg
只有當src.jpg的寬小于1024或高小于768時候,才進行放大處理,否則生成newfile.jpg和file.jpg具有一樣的尺寸。

接下來就是將陰影文件合成到封面上(將yy.png從左上角合成到file.png生成newfile.png):

復制代碼 代碼如下:
composite -gravity northwest yy.png file.png newfile.png


這里主要解釋一下-gravity參數:

-gravity northwest指右上角
如果要求在正中間,參數為center
如果要求在右下角,參數為southeast
其他按照方位進行

合成后效果如下:

fmyy

最后就是圖片的裁剪,將圖片分為兩部分,陰影部分left.png和其他部分right.png:

復制代碼 代碼如下:

left:convert file.png -gravity southwest -crop 31x1024+0+0 left.png
right:convert file.png -gravity southeast -crop 737x1024+0+0 right.png


裁剪方法的調整如下:

convert file.png -crop widthxheight+x+y newfile
其中widthxheight是目標圖片的尺寸,+x+y是原始圖片的坐標點,這兩組值至少要出現一組,也可以同時存在。另外該命令也可使用gravity來重新定義坐標系統。

最后成果如下:

fmwc

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 运城市| 天长市| 垣曲县| 英山县| 胶州市| 苍南县| 磴口县| 木兰县| 元朗区| 松溪县| 昭觉县| 本溪| 平顺县| 龙南县| 格尔木市| 江都市| 临潭县| 精河县| 巍山| 灵川县| 蕲春县| 岳阳县| 伊金霍洛旗| 万宁市| 兰西县| 梁山县| 桃源县| 古丈县| 吴川市| 威信县| 肥乡县| 密山市| 舒兰市| 巴林左旗| 南平市| 珲春市| 毕节市| 固安县| 绥化市| 沁水县| 遵义市|