2017-08-02 75 views
2

我使用下面的代碼從url中獲取圖像。在模擬器中,只有圖片的中間中心顯示的高度正確,但圖像被拉伸,看起來像是中心高度的原始圖片的1/3。我怎樣才能在模擬器中看到完整的畫面?Codename一個模擬器只顯示圖片的中間部分

EncodedImage placeholder = EncodedImage.createFromImage(Image.createImage(100, 100, 0xf0f00000), false); 
URLImage img = URLImage.createToStorage(placeholder, "profilbillede.jpg", URL, URLImage.RESIZE_SCALE); 
img.fetch(); 

        //border container 
Container ct = new Container(new BorderLayout()); 
ct.add(BorderLayout.NORTH, new Label("")) 
     .add(BorderLayout.WEST, new Label("")) 
     .add(BorderLayout.EAST, new Label("")) 
     .add(BorderLayout.SOUTH, new Label("")); 
ScaleImageLabel picture = new ScaleImageLabel(img); 
ct.add(BorderLayout.CENTER, picture); 
home.add(ct); 
+0

除了Diamond的評論,您可以檢查縮放操作是否改變了圖像或佈局。您可以打開.cn1目錄中的文件,並在縮放 –

回答

1

將根據佔位符圖像的大小下載和創建您的圖像。在這種情況下,100 x 100px。我會建議你使用手機時,通過改變你的佔位符報關行適當縮放圖像:

EncodedImage placeholder = EncodedImage.createFromImage(Image.createImage(CN.getDisplayWidth(), CN.getDisplayWidth(), 0xf0f00000), false); //or half of the screen width by dividing CN.getDisplayWidth() to 2 

我也會建議你代替URLImage.RESIZE_SCALEURLImage方法使用URLImage.RESIZE_SCALE_TO_FILL

之前緩存的圖像將被使用,直到其被清除。要清除它們,請轉到您的用戶主文件夾並查找.cn1文件夾。在Windows上,它在C:\Users\UserName

+0

Thx後檢查生成的圖像,然後嘗試更改,但得到的結果相同。 –

+0

嘗試使用'標籤'而不是'ScaleImageLabel' – Diamond

+0

標籤給出了相同的結果 –

0

in CreatetoStorage不使用文件擴展名