无论如何要显示大图像的一部分 - 图像是16000 * 320 当我在Android Studio中使用ImageView尝试此操作时,我通常可以在activity_main.xml设计下获得它的工作效果,直到我构建.apk然后图像消失并在我的平板电脑上运行它也是空白的。
答案 0 :(得分:0)
在布局xml文件中添加ImageView:
<ImageView
android:id="@+id/myImage"
android:layout_width="100dp"
android:layout_height="100dp"/>
在您的活动中:
ImageView mImageView = (ImageView) findViewById(R.id.myImage);
然后使用BitmapRegionDecoder
:
// Get image width and height:
InputStream inputStream = getAssets().open("large_image.jpg");
BitmapFactory.Options tmpOptions = new BitmapFactory.Options();
tmpOptions.inJustDecodeBounds = true;
BitmapFactory.decodeStream(inputStream, null, tmpOptions);
int width = tmpOptions.outWidth;
int height = tmpOptions.outHeight;
// Crop image:
// Crop a rect with 200 pixel width and height from center of image
BitmapRegionDecoder bitmapRegionDecoder = BitmapRegionDecoder.newInstance(inputStream, false);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.RGB_565;
Bitmap bitmap = bitmapRegionDecoder.decodeRegion(new Rect(width / 2 - 100, height / 2 - 100, width / 2 + 100, height / 2 + 100), options);
mImageView.setImageBitmap(bitmap);
来自here的代码