2011-09-13 19 views
5

Eclipse için Blackberry JDE Eklentisi v1.3 kullanıyorum ve bir BitmapField oluşturmak için bu kodu deniyorum veEncodedImage.getEncodedImageResource, Eclipse (Blackberry eklentisi) ile aynı adlı farklı bir alt klasörle görüntü yüklemekte başarısız oldu

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); 

hiçbir hata ile çalışıyor, ama şimdi aynı isimde görüntülerin bu dizi var ama bu gibi farklı alt klasörlerde: hep böyle yapılır

enter image description here

yaptığım aslında expl için daha küçüktür ana sebepler. Dosyaları yeniden adlandırmak istemem, yani hepsi farklı. Farklı alt klasörlere nasıl erişileceğini bilmek istiyorum. "res/img/on/ico_01.jpg", "img/on/ico_01.jpg", "on/ico_01.jpg" denediğim ve başarısız olduğum bazı örnekler.

cevap

2

O EncodedImage.getEncodedImageResource(filename) olursa olsun sizin kaynak dizin ağacında içinde nerede olduğu filenameilk örneğini almak edeceği anlaşılmaktadır. (Sahip olduğu) Farklı dizinlerde aynı adı taşıyan resim varsa

bu çok yararlı değildir.

ben kullandım çözüm yolu ve dosya adı dayalı bir görüntüyü döndürebilir kendi yöntemini yaratmaktır.

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; 
} 
İlgili konular