2012-01-31 2 views
1

я должен изменить его через андроид, как и в Java У меняизменить растровое изображение для пикселов массива

byte[] pixels = ((DataBufferByte) image.getRaster().getDataBuffer()).getData(); 

(здесь изображение BufferedImage), но

int[] pixels; 
image.getPixels(pixels, 0, width, 0, 0, width , height); 

(Здесь imgae является растровым изображением) возвращает значение пикселей не как java.

+2

ширина INT = bitmap.getWidth(); int height = bitmap.getHeight(); int [] pixels = new int [width * height]; bitmap.getPixels (пиксели, 0, ширина, 0, 0, ширина, высота); // попробуйте это –

+0

Используйте Hiren dabhi lines.It работайте в android тоже .. + 1 до hiren – Sameer

+0

это было решено вот так: \t \t int [] pix1 = new int [w * h]; \t \t image.getPixels (pix1, 0, w, 0, 0, w, h); \t \t пикселей = новый байт [pix1.length * 3]; \t \t для (int i = 0; i > 0) & 0xFF); \t \t \t пикселей [tind ++] = (byte) ((td >> 8) & 0xFF); \t \t \t пикселей [tind ++] = (byte) ((td >> 16) & 0xFF); \t \t \t \t \t} – shailesh

ответ

0

Попробуйте, как это,

Bitmap bmp = intent.getExtras().get("data"); 
ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); 
byte[] byteArray = stream.toByteArray(); 
+0

Этот результат будет сжат, он просил способ, соответствующий стандартную ява #getPixels (..). – Jens

Смежные вопросы