黑莓 - 得到位图图像数据 [英] Blackberry - get image data from bitmap

查看:322
本文介绍了黑莓 - 得到位图图像数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何从位图图像获取图像数据吗?我搜索,但我不能找到一个解决方案。

  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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆