我試圖用油漆ColorFilter 反轉位圖我用這個鏈接作爲參考位圖: http://www.mail-archive.com/[email protected]/msg47520.html的Android反轉在運行時
,但它絕對沒有任何影響 - 位圖通常是繪製你可以告訴我做錯了什麼?
定義float數組:
float invert [] = {
-1.0f, 0.0f, 0.0f, 1.0f, 0.0f,
0.0f, -1.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, -1.0f, 1.0f, 0.0f,
1.0f, 1.0f, 1.0f, 1.0f, 0.0f
};
安裝油漆構造
ColorMatrix cm = new ColorMatrix(invert);
invertPaint.setColorFilter(new ColorMatrixColorFilter(cm));
參考draw()方法
c.drawBitmap(Bitmap, null, Screen, invertPaint);
編輯:我能得到它通過在抽籤聲明油漆分配工作:
ColorMatrix cm = new ColorMatrix(invert);
invertPaint.setColorFilter(new ColorMatrixColorFilter(cm));
c.drawBitmap(rm.getBitmap(DefaultKey), null, Screen, invertPaint);
但現在它呈現非常慢(可能是因爲它建立了一個複雜的矩陣有史以來單幀)...是否有一個原因,當它在同一個方法中工作?
EDIT2: NEVERMIND !!!大聲笑,問題是我有兩個構造函數,我只是在其中一個配置colorfilter ...該進程仍然非常CPU佔用,並導致幀率問題
這對於色彩反轉一個很奇怪的矩陣。它應該是5x4嗎? –
不知道它是什麼意思,但它的工作原理......但它很慢,可能值得它只是保存一個倒置的位圖並交換它們:/ – GideonKain