我假设您是说您的 BitmapField 正在显示您检索到的图像裁剪?
您希望它可以缩放,或许可以缩放到适合您的BitmapField 的大小?有很多方法可以做到这一点,但一种是在下载后调整图像大小,然后再将其提供给BitmapField:
From this answer on resizing a Bitmap
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
然后,使用
Bitmap img = resizeImage(connectServerForImage(ImageUrl), 80, 70);
BitmapField bmp = new BitmapField(img) {
protected void layout(int width, int height)
{
setExtent(80, 70);
}
};
但是,我相信如果您实际上将Bitmap img 的大小设置为80x70,那么没有必要也将BitmapField 的范围设置为80x70。它应该默认为您提供的图像的大小。因此,您可以将代码简化为:
BitmapField bmp = new BitmapField(img);