黑莓 - 得到位图图像数据 [英] Blackberry - get image data from bitmap
本文介绍了黑莓 - 得到位图图像数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何从位图图像获取图像数据吗?我搜索,但我不能找到一个解决方案。
INT高= bmp.getHeight();INT宽度= bmp.getWidth();
INT [] = rgbdata新INT [宽*高]。
ByteArrayOutputStream BOS =新ByteArrayOutputStream();
DataOutputStream类DOS =新的DataOutputStream类(BOS);
//图形G =新的图形(BMP);
bmp.getARGB(rgbdata,0,宽度,0,0,宽度,高度);的for(int i = 0; I< rgbdata.length;我++){
如果(rgbdata [Ⅰ]!= -1)
{
dos.writeInt(rgbdata [I]);
dos.flush();
}
}
bos.flush();
解决方案
试试这个:
PNGEn codeR EN codeR =新PNGEn codeR(位图,真);
字节[] imageBytes = EN coder.en code(真);
和从字节数组获得恩codeDIMAGE:
恩codeDIMAGE fullImage = EN codedImage.createEn codeDIMAGE(imageBytes,0,imageBytes.length);
how to get image data from a bitmap image ? i searched, but i cant find a solution
int height=bmp.getHeight();
int width=bmp.getWidth();
int[] rgbdata = new int[width*height];
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(bos);
//Graphics g = new Graphics(bmp);
bmp.getARGB(rgbdata,0,width,0,0,width,height);
for (int i = 0; i < rgbdata.length ; i++) {
if (rgbdata[i] != -1)
{
dos.writeInt(rgbdata[i]);
dos.flush();
}
}
bos.flush();
解决方案
Try this:
PNGEncoder encoder = new PNGEncoder(bitmap, true);
byte[] imageBytes = encoder.encode(true);
And to get EncodedImage from byte array:
EncodedImage fullImage = EncodedImage.createEncodedImage(imageBytes, 0, imageBytes.length);
这篇关于黑莓 - 得到位图图像数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文