在我的Android应用程序中,我使用尺寸为600 * 6000且尺寸为91kb的图片,但图片不会加载到我的活动中。我的一位朋友建议切片然后显示它可以解决问题。如果它有效,我们怎么能在活动中显示切片的照片,还是有其他方式来显示图片,这里是链接
https://www.dropbox.com/s/gvylnns2aiqamyc/sgvg.jpg?dl=0
答案 0 :(得分:0)
搜索您的logcat,您可能会发现类似这样的内容
W / OpenGLRenderer:位图太大而无法上传到纹理中(440×5000,最大= 4096×4096)
您应调整图片大小以进行显示。
或者将图像分割为600 * 3000,并将它们显示在两个ImageView中。
分割的示例代码:
private static List<Bitmap> slideBitmap(Bitmap source) {
int glMaxTextureSize = GL10.GL_MAX_TEXTURE_SIZE;
int w = source.getWidth();
int h = source.getHeight();
List<Bitmap> bitmaps = new ArrayList<Bitmap>();
int processedHeight = 0;
while (h > 0) {
Bitmap subBitmap = Bitmap.createBitmap(source, 0, processedHeight, w, h < glMaxTextureSize ? h : glMaxTextureSize);
h -= glMaxTextureSize;
processedHeight += glMaxTextureSize;
bitmaps.add(subBitmap);
}
return bitmaps;
}