Secko是正确的,你可以覆盖的油漆,但我认为你是被卡住,因为你还没有创建一个用户界面应用程序。
这是一个非常简单的ui应用程序示例,用于显示位图字段,如果您完全复制它,则需要在src下带有image.png的图像文件夹。
这是从SDK附带的HelloWorldDemo中修改而来的。我建议,如果你刚开始,你看看文件夹中的样本。 \插件\ net.rim.ejde.componentpack5.0.0_5.0.0.25 \分量\样本\
好运
雷
public class DisplayBitmaps extends UiApplication
{
public static void main(String[] args)
{
DisplayBitmaps theApp = new DisplayBitmaps();
theApp.enterEventDispatcher();
}
public DisplayBitmaps()
{
pushScreen(new DisplayBitmapsScreen());
}
}
final class DisplayBitmapsScreen extends MainScreen
{
DisplayBitmapsScreen()
{
Bitmap bitmap = EncodedImage.getEncodedImageResource("images/image.png").getBitmap();
BitmapField bitmapField = new BitmapField(bitmap);
add(bitmapField);
}
public void close()
{
super.close();
}
}
编辑为当图像上的SD卡
DisplayBitmapsScreen()
{
//Bitmap bitmap = EncodedImage.getEncodedImageResource("images/image.png").getBitmap();
try {
FileConnection fc = (FileConnection) Connector.open("file:///SDCard/BlackBerry/pictures/image.png");
if (fc.exists()) {
byte[] image = new byte[(int) fc.fileSize()];
InputStream inStream = fc.openInputStream();
inStream.read(image);
inStream.close();
EncodedImage encodedImage = EncodedImage.createEncodedImage(image, 0, -1);
BitmapField bitmapField = new BitmapField(encodedImage.getBitmap());
fc.close();
add(bitmapField);
}
} catch (Exception e) { System.out.println("EXCEPTION " + e); }
}
重写油漆在现场或任何扩展Field类也可以显示图像,但我并没有真正从Secko的例子明白的地方,他会显示图像所以我在下面的例子中包含了drawImage。
protected void paint(Graphics graphics) {
graphics.drawImage(x, y, width, height, image, frameIndex, left, top);
super.paint(graphics);
}
下面是一些我想到的代码:我假设“image1.png”只是一个实际URI的占位符,例如, “文件:///store/home/pictures/image1.png”;如果Bitmap与应用程序打包在一起,则使用Bitmap.getBitmapResource,如果它位于文件系统上,则使用FileConnection但使用真实路径。如果在添加位图后立即添加其他字段,您是否可以看到该字段?你确定图像是一个有效的位图吗?您可以使用Bitmap.createBitmapFromBytes()而不是EncodedImage中的方法并节省一些空间。 – Jonathan 2010-12-17 03:37:15
如何在文件连接中添加真实路径? FileConnection conn =(FileConnection)Connector.open(“file:/// SDCard/BlackBerry/documents /”+“image1.png”,Connector.READ_WRITE); – JohnDoe4136 2010-12-17 06:46:51
这看起来像一个有效的路径,现在只要确保那里有一个图像。你不需要使用READ_WRITE,因为你只是想读取图像。 – Jonathan 2010-12-17 14:40:18