給定兩個圖像,比如在img(大小爲1024x768)的文件夾(img1.png和img2.png)下,我需要調整img2的大小(比如300x300) img1在img1左上方的x和y(比如100,200)。最終結果應該是1024x768大小的圖像。在Nodejs中使用gm調整大小和構圖兩個或多個圖像
利用GM(https://github.com/aheckmann/gm),嘗試這樣做:
gm('./img/img1.png')
.composite('./img/img2.png')
.geometry('300x300+100+200')
.write('resultGM.png', (err) => {
if (err) console.log(err);
});
預期地(因爲整個操作鏈的)它產生300×300的圖像。 然後我嘗試這樣的:
gm('./img/img1.png')
.composite(
gm('./img/img2.png')
.geometry('300x300+100+200')
)
.write('resultGM.png', (err) => {
if (err) console.log(err);
});
希望複合功能接收緩衝區,但沒有機會,它只接受文件的路徑,並提示錯誤。花費2-3小時,閱讀幾篇文章後(僅可以在這裏找到一些討論:How to do composite with gm node.js?在這裏:Combine two gm objects while resizing one of them in graphicsMagick for NodeJS(這一個不回答,其實這個問題),我找不到任何解決方案使用做內存此操作流或緩衝區。這是可能的,同時寫入到一個臨時文件的事情。是否有任何機構在那裏誰可以在存儲器中找到一個解決方案在運行調整和合並圖像?
順便說一句,爲了組成圖像,節點畫布真的比Gm或IM更好,更快。 –
還沒有試過。我會看看我完成了我目前的項目。仍然需要按照我看到的安裝軟件包。帆布非常適合對齊 - 定位實體。謝謝你的建議。 –
是的,它需要開羅和攀高 –