Отображение изображения с SD-карты на телефон - JavaME - PullRequest
0 голосов
/ 02 марта 2011

Я пытаюсь отобразить изображение с моей SD-карты на моем BlackBerry.

У меня есть такой код, но на экране BlackBerry ничего не отображается.

InputStream input = filenames.openInputStream();
Image image=Image.createImage(input);
Image copy = Image.createImage(image.getWidth(), image.getHeight());            
javax.microedition.lcdui.Graphics g = copy.getGraphics();
g.drawImage(image, 0, 0, 0);

1 Ответ

1 голос
/ 02 марта 2011

Я думаю, что проблема может быть в том, что вы создаете изображение copy и пытаетесь нарисовать на нем изображение input.Не зная остальной части вашего кода, кажется, что это изображение никогда не добавляется на ваш объект MainScreen, поэтому не отображается.

Есть ли какая-то особая причина, по которой вы пытаетесь сделать это таким образом?

Возможно, лучше вместо этого использовать BitmapField и явно добавить его на главный экран.Что-то вроде

    BitmapField imageCanvas = new BitmapField();

    InputStream input = photoFile.openInputStream();

    int fileSize = (int) photoFile.fileSize();
    byte[] data = new byte[fileSize];
    input.read(data, 0, fileSize);

    Bitmap photoBitmap = EncodedImage.createEncodedImage(data, 0, data.length).getBitmap();
    imageCanvas.setBitmap(photoBitmap);
    add(imageCanvas);

Для краткости я пропустил блоки try catch

...