這樣做的最佳方式是什麼。我有一個高度*寬度的數組長度。我是否簡單地通過位圖將每個像素設置爲基於循環索引的數組?謝謝在整數數組中存儲位圖
[更新] 這是一個應用程序,在位圖上放置魚眼失真。我試圖在存儲陣列中的像素數據,而不是調用Bitmap.setPixel(),因爲這涉及一個龐大的開銷GC
for (int j=0;j<dst.getHeight();j++) {
for (int i=0;i<dst.getWidth();i++) {
origPixel= input.getPixel(i,j);
getRadXStart = System.currentTimeMillis();
float x = getRadialX((float)j,(float)i,centerX,centerY,k);
float y = getRadialY((float)j,(float)i,centerX,centerY,k);
sampleImage(input,x,y);
color = ((s[1]&0x0ff)<<16)|((s[2]&0x0ff)<<8)|(s[3]&0x0ff);
// System.out.print(i+" "+j+" \\");
//if(Math.sqrt(Math.pow(i - centerX, 2) + (Math.pow(j - centerY, 2))) <= 150){
if (Math.pow(i - centerX, 2) + (Math.pow(j - centerY, 2)) <= 22500) {
// dst.setPixel(i, j, color);
arr[i]=color;
} else {
//dst.setPixel(i,j,origPixel);
arr[i]=origPixel;
}
}
}
Bitmap dst2 = Bitmap.createBitmap(arr,width,height,input.getConfig());
return dst2;
示例代碼向我們展示了什麼?你在哪裏設置像素? –
@ted hopp嗨,更新後 – turtleboy