blackberryblackberry-os6

how to resize images in Black Berry according to the width and height of the display screen?


How can I re-size the image stored in resource folder using code according to the display width and height of blackberry screen?


Solution

  • Firstly create a encoded image like this

     EncodedImage ei = EncodedImage.getEncodedImageResource("res/helpscreen.png");   
    

    then pass this encoded image to the below function

    EncodedImage ei1= scaleImage(ei,reqWidth,requiredHeight);
    
    
     public EncodedImage scaleImage(EncodedImage source, int requiredWidth, int requiredHeight) 
        {  
            int currentWidthFixed32 = Fixed32.toFP(source.getWidth());  
            int requiredWidthFixed32 = Fixed32.toFP(requiredWidth);  
            int scaleXFixed32 = Fixed32.div(currentWidthFixed32, requiredWidthFixed32);  
            int currentHeightFixed32 = Fixed32.toFP(source.getHeight());  
            int requiredHeightFixed32 = Fixed32.toFP(requiredHeight);  
            int scaleYFixed32 = Fixed32.div(currentHeightFixed32, requiredHeightFixed32);  
            return source.scaleImage32(scaleXFixed32, scaleYFixed32);  
        } 
    

    this will give you a encoded image. then convert it to Bitmap using

            BitmapField logoBitmap = new BitmapField(ei1.getBitmap());