我有以下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,基本上是相同的。答案 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);