ike*_*txu 5 eclipse plugins blackberry image
我正在使用Blackberry JDE Plugin v1.3 for Eclipse,我正在尝试使用此代码创建一个BitmapField,我总是这样做:
this.bitmap = EncodedImage.getEncodedImageResource("ico_01.png");
this.bitmap = this.bitmap.scaleImage32(
this.conf.getWidthScale(), this.conf.getHeightScale());
this.imagenLoad = new BitmapField(this.bitmap.getBitmap(), this.style);
Run Code Online (Sandbox Code Playgroud)
它工作正常,没有错误,但现在我有这组图像具有相同的名称,但在不同的子文件夹中,如下所示:
出于解释原因,我把它做得比实际要小.我不想重命名文件,所以它们都是不同的.我想知道如何访问不同的子文件夹."res/img/on/ico_01.jpg","img/on/ico_01.jpg","on/ico_01.jpg"是我尝试过但失败的一些例子.
看来,无论它位于资源目录树中的哪个位置,EncodedImage.getEncodedImageResource(filename)
都会检索第一个实例。filename
如果您在不同的目录中具有相同文件名的图像(正如您所拥有的那样),这并不是很有帮助。
我使用的解决方案是创建自己的方法,该方法可以根据路径和文件名返回图像。
public static Bitmap getBitmapFromResource(String resourceFilename){
Bitmap imageBitmap = null;
//get the image as a byte stream
InputStream imageStream = getInstance().getClass().getResourceAsStream(resourceFilename);
//load it into memory
byte imageBytes[];
try {
imageBytes = IOUtilities.streamToBytes(imageStream);
//create the bitmap
imageBitmap = Bitmap.createBitmapFromBytes(imageBytes, 0, imageBytes.length, 1);
} catch (IOException e) {
Logger.log("Error loading: "+resourceFilename+". "+e.getMessage());
}
return imageBitmap;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
369 次 |
最近记录: |