2017-04-07 4 views
1

URLImageをEncodedImageに変換してスケーリングしようとしましたが、背景が黒くなりました。変換は正常に動作しますが、問題は画像を拡大/縮小するときだけです。ガイドには、URLImageのサイズ制限があると言われていますが、適切に拡大縮小する方法はわかりません。誰かがURLImageを任意のサイズに拡大縮小する方法の例を書くことができたら、私はそれを高く評価します。それはダウンロードが完了するまでURLImageの「データ」は、そのプレースホルダイメージになりますので、コードネームスケールURLImage

ここで私はこのようにURLImageスケーリング

//create the form 
    Form hi = new Form ("urlimage scaling"); 

    try 
    { 
     //create placeholder image 
     EncodedImage placeholder = EncodedImage.create("/dog.jpg").scaledEncoded(492, 290); 
     //get image from the web 
     URLImage urlimg = URLImage.createToStorage(placeholder, "https://australianbananas.com.au/Images/Home/RipenessBlend.png", 
       "https://australianbananas.com.au/Images/Home/RipenessBlend.png"); 
     //try to convert and scale 
     EncodedImage scaledImage = EncodedImage.createFromImage(urlimg,false).scaledEncoded(Display.getInstance().getDisplayWidth(), -1); 
     //display image using a label 
     Label lbl = new Label(); 
     lbl.setIcon(scaledImage); 
     hi.add(lbl); 
    } 
    catch(Exception e) {System.out.println(""+e);} 

    hi.show(); 

答えて

1

を使用したコードがあるには問題があります。したがって、EncodedImage.createFromImage(urlimg, false)のようなものを呼び出すと、URLImageのプレースホルダ画像がエンコードされた画像として作成されます。

URLImageをロードする前にプレースホルダーイメージの正しいサイズを取得し、createToStorage()の呼び出しで適切な「スケール」パラメーターを使用して、イメージがプレースホルダーのディメンションに正しくマップされるようにしてください。

関連する問題