什么是BlackBerry相当于Java ME的Image.createImage()来自现有(已加载)的图像

时间:2010-09-17 21:36:29

标签: blackberry java-me

我有以下Java ME代码,我想移植到BlackBerry:

Image imgAll = Image.createImage("/fontDigits_200x20.png");
imageDigits = new Image[10];
for(int i = 0; i < imageDigits.length; i++)
    imageDigits[i] = Image.createImage(imgAll, i * 20, 0, 20, 20, Sprite.TRANS_NONE);

基本上,它是一个十位数的图像,我想分成10个单独的图像并将它们存储到一个数组中。我查看了文档,但在EncodedImage或Graphics上找不到类似的东西。

感谢您的任何指示!

更新:

好消息!显然,没有办法以这样的方式裁剪EncodedImage,即拥有一个新的EncodedImage,它是原始的裁剪子集。但是,你可以do that with a Bitmap,基本上是相同的。

2 个答案:

答案 0 :(得分:1)

你可以使用

Bitmap.getARGB(int[] argbData,
                    int offset,
                    int scanLength,
                    int x,
                    int y,
                    int width,
                    int height)
加载图片后

Bitmap imgAll = Bitmap.getBitmapResource("fontDigits_200x20.png");

当然,您可以根据此ARGB数据创建新的位图。

答案 1 :(得分:0)

您可以使用Bitmap.scaleInto函数直接执行此操作:

Bitmap src;
Bitmap dst = new Bitmap(64,32);
int filterType = Bitmap.FILTER_BILINEAR;
src.scaleInto(srcLeft, srcTop, srcWidth, srcHeight, dst, dstLeft, dstTop, dstWidth, dstHeight, filterType);