2012-04-11 73 views
1

我裁剪兩個PNG文件時有不同的結果。使用使用Imagick裁剪兩個透明PNG圖像給出不同的結果

Imagick版本convert -version

  • 版本:ImageMagick的6.6.5-10 2010-11-26 Q16
  • 版權所有:版權所有(C)1999-2010 ImageMagick的工作室LLC
  • 特點:OpenMP的

兩個文件使用identify

  • works.png PNG 1218x610 1218x610+0+0 8-bit DirectClass 755KB 0.000u 0:00.000
  • doesntwork.png PNG 70x70 70x70+0+0 8-bit DirectClass 1.64KB 0.000u 0:00.000

我使用這個命令:

convert <original>.png -crop 50x50+0+0 <target>.png 

的問題是,works.png是100%正確的,而doesntwork.png是一個黑色的正方形。

兩張原始圖像看起來都是一樣的 - 在windows 7上顯示正確。

的圖像:

works.png

enter image description here

doesntwork.png

enter image description here

+0

你可以發佈圖像,以便我們可以測試可能的解決方案嗎?另外,我會推薦'識別--verbose'來獲取更多的圖像信息,特別注意色彩空間,因爲我看到這會導致類似的問題。 – blahdiblah 2012-04-13 18:54:43

+0

我已將圖像添加到原始帖子。 – 2012-04-16 08:52:50

+0

對不起,但是兩個原始圖像在某種意義上是相同的? – 2012-04-16 19:23:03

回答

0

適用於我使用convert -version ImageMagick 6.4.0 04/17/08 Q16(這是「當前」版本cygwin下),通過Windows XP SP3上的cygwin運行。

這可能是您的特定版本ImageMagick中的一個錯誤。鯊魚works.png是一個帶有alpha(4個8位通道)的全綵色圖像。 doesntwork.png是一個具有8位alpha值的1位黑白圖像,陰影是通過改變alpha來完成的。在我看來,這似乎是一種非常罕見的格式,所以我可以想象一個錯誤會轉化爲轉換代碼。

您可能會嘗試先將圖像轉換爲真彩色。

0

在發佈兩個圖像的情況下,這似乎是它可能的情況下,的工具做他們被告知的事情,而不是做什麼。

在上面的鯊魚圖像上使用-crop 50x50+0+0會提供完全透明的50乘50圖像,因爲鯊魚圖像的左上角(+0+0)中的50乘50塊像素是完全透明的。使用-crop 50x200+0+0也捕獲了鯊魚的尾巴。 -crop 50x50+950+250引人入勝。

所有這些都符合您的結果嗎?

+0

鯊魚工作正常,這是另一個不會收穫。我想知道爲什麼鯊魚會工作,而另一個則不行。我會在明天添加我的裁剪結果。 – 2012-04-16 22:47:22

+0

這兩個張貼的圖像在我的系統上使用ImageMagick 6.7.6-0 2012-03-26都很好。也許是升級的順序,或者Imgur做了一些轉換來解決問題(儘管「識別」信息仍然是一樣的)。 – blahdiblah 2012-04-16 23:10:21