2010-07-21 119 views
2

我想將一些代碼從一個普通的java程序移植到android平臺。不幸的是,該計劃的一個重要部分涉及操縱圖像,而java的awt被從我身上帶走。我試圖用位圖替換awt.BufferedImage,並希望兩個類之間的唯一區別是它們的接口。我閱讀了一些文檔,看起來確實如此,但是在將所有圖像內容包裝到一個漂亮的小課堂中,並在我的開發機器和實際手機上測試幾乎相同的代碼後,一個程序就可以運行,另一個則沒有。所以:位圖和BufferedImages之間的差異

顏色的編碼不會改變 - 對嗎?它仍然是0xAARRGGBB-對嗎?

圖像本身沒有改變 - 對嗎?當我將圖像放入res/drawable中時,圖像完全相同。最值得注意的是 - 它們不會以任何方式改變分辨率 - 對嗎?

訪問像素本質上是相同的 - 對嗎?我基本上用get/setPixel(x,y,color)替換了所有get/setRGB(x,y,RGB)。索引到網格中的方法沒有改變 - 是否存在?

回答

1

解決:打開圖像時,我無法創建一個BitmapFactory.Options(),並將inDither設置爲false。 BitmapFactory然後未能產生一個精確的副本,在產生的位圖中進行一些修改,以使其更加令人滿意。