我的程序具有將工作畫布的高分辨率圖像導出到磁盤的功能。用戶經常會嘗試導出大約20,000 x 10,000像素@ 32bpp的圖像,大約等於800MB。再加上在平均3D CAD程序中已經出現的嚴重內存消耗,你幾乎可以保證在32位平臺上出現內存不足的崩潰。創建巨大的圖像
因此,現在我正在導出用戶必須在像素編輯器中拼接在一起的1000x1000像素的圖塊。有沒有一種方法可以在用戶不做任何工作的情況下解決這個問題?
我想我可能會寫一個小的exe文件,它可以在命令行中插入進程並自動執行拼接。這將是一個獨立的過程,因此它將擁有2GB的RAM。或者還有更好的方法嗎?我想支持jpg,png和bmp,因此將圖像作爲字節流寫入磁盤並不是真的可行。
謝謝佩卡,我會檢查出複合功能。我將無法使用我的安裝程序發佈ImageMagick,因此直接使用它們的功能已無法使用。 – 2010-04-24 11:14:05
@大衛不客氣。但是如果你甚至不能發佈外部的DLL,那麼你肯定會推出自己的智能拼接/交換解決方案 - 這當然不是不可能的,而是一個堅強的破解!我確信有很多開源的拼接器可以獲得至少靈感。 – 2010-04-24 11:48:42
我寫了一個小的控制檯應用程序,可以自動運行。這個過程不需要太長時間,但它仍然限制在32位操作系統上的2GB未壓縮的圖像數據。不過,我認爲大多數用途都應該沒問題。 – 2010-04-24 13:58:51