BitmapField
取得した画像をトリミングして表示していると言っていると思いますか?
そして、おそらくあなたのサイズに合わせて拡大縮小したいと思いますBitmapField
か?これを行うには多くの方法がありますが、その 1 つは、ダウンロード後に画像をリサイズしてから、BitmapField
.
ビットマップのサイズ変更に関するこの回答から
public static Bitmap resizeImage(Bitmap originalImage, int newWidth, int newHeight) {
Bitmap newImage = new Bitmap(newWidth, newHeight);
originalImage.scaleInto(newImage, Bitmap.FILTER_BILINEAR, Bitmap.SCALE_TO_FILL);
return newImage;
}
(私が提供したリンクには、BlackBerry OS < 5.0 をサポートする必要がある場合、画像のサイズを変更する別の方法があることに注意してください)。
次に、使用します
Bitmap img = resizeImage(connectServerForImage(ImageUrl), 80, 70);
BitmapField bmp = new BitmapField(img) {
protected void layout(int width, int height)
{
setExtent(80, 70);
}
};
ただし、実際に のサイズを 80x70 に設定した場合、 の範囲もBitmap
img
80x70 に設定する必要はないと思います。指定した画像のサイズにデフォルト設定する必要があります。したがって、コードを次のように単純化できます。BitmapField
BitmapField bmp = new BitmapField(img);