как использовать метод createEncodedImage в jde 4.5

Может ли кто-нибудь знать, как использовать метод createEncodedImage класса EncodedImage в jde 4.5

Спасибо и с уважением, Вивек Берди


person user291977    schedule 29.04.2010    source источник


Ответы (1)


Вот как бы вы это сделали, если бы изображение было файлом ресурсов приложения:

byte[] imgData = null;
InputStream in = Application.getApplication().
        getClass().getResourceAsStream(imgName);
if(in == null) {
    // Handle appropriately
}

try {
    int length = in.available();
    imgData = new byte[length];
    in.read(bytes, 0, length);
} finally {
    in.close();
}

if(imgData == null) {
    // Handle appropriately
}

EncodedImage encodedImage = 
        EncodedImage.createEncodedImage(imgData, 0, imgData.length);

Вы также можете передать строку в качестве параметра для определения типа MIME. Вот поддерживаемые типы MIME:

  • "изображение/гиф"
  • "изображение/png"
  • "изображение/vnd.wap.wbmp"
  • "image/jpeg" (поддерживается только на цветных устройствах)
  • "image/jpg" (поддерживается только на цветных устройствах)
  • "image/pjpeg" (поддерживается только на цветных устройствах)
  • "изображение/bmp"
  • "изображение/TIFF"

Наконец, вот документация для 4.5: [EncodedImage Javadocs 4.5][1]

[1]: http://www.blackberry.com/developers/docs/4.5.0api/net/rim/device/api/system/EncodedImage.html#createEncodedImage(byte[], int, int)

person Fostah    schedule 29.04.2010
comment
привет fostah, Спасибо за ваш быстрый ответ. Но у меня возникает проблема в строке ниже: byte[] imageData = Resource.getResourceClass().getResource(res_img.gif); компилятор выдает ошибку, что getResourceClass() не определен для Resource. И я не смог найти документацию для класса Resource в Blackberry JDE 4.5 API. Спасибо и с уважением, Вивек Берди. - person user291977; 30.04.2010
comment
Вы правы. Я обновлю, как выполнить то, что делает Resource.getResourceClass().getResource(). Извини за это. - person Fostah; 03.05.2010
comment
хорошо, но большое спасибо. Я получил решение. InputStream input = this.getClass().getResourceAsStream(image.png); EncodedImage закодировано = null; try{ байт []b = новый байт[input.available()]; ввод.чтение(б); закодировано = EncodedImage.createEncodedImage(b, 0, b.length); }catch(Exception e){ System.out.println(Exceptin + e); } И изображение должно присутствовать в том же пакете, где мы пишем класс, или нужен какой-то путь, чтобы указать, где мы разместили изображение. - person user291977; 06.05.2010