2013-02-20 65 views
0

我有麻烦显示到Android的大图像。我试图通过这个custom- scrollable-image-view来完成这项工作。7165X786大尺寸图像无法在实际设备中显示(平板电脑)

我已经在我的课程中使用了完整视图,并使用了7165 * 786大小的图像。它只有1.11MB的图像。我能够在bluestack中运行此代码并查看其中的图像,但无法在实际设备中加载。

bmLargeImage = BitmapFactory.decodeResource(getResources(), 
       R.drawable.imagewithout); 
bmlotusImage1 = BitmapFactory.decodeResource(getResources(), 
       R.drawable.lotus); 

我在onDraw方法中使用了同样的画布,如下所示。

canvas.drawBitmap(bmLargeImage, scrollRect, displayRect, paint); 

canvas.drawBitmap(bmlotusImage1, 45 - newScrollRectX, 
       255 - newScrollRectY, paint); 

我能不能在我的实际设备显示bmlargeImage我可以看到设备的莲花图像,但不是大的。

我应该不得不解码或缩放图像或其他任何东西才能让它在真实设备中显示?

回答

0

我得到的解决方案不是真正的显示图像设备的问题是简单的。

我刚刚删除了目标sdk我得到了web服务中的错误。它开始向我的真实设备显示图像,同时我也得到了如下图所示的显示图像Flt的解决方案。

private static Bitmap ShrinkBitmap(String backgroundimage, int width, 
     int height) { 

    // TODO Auto-generated method stub 
    BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options(); 
    bmpFactoryOptions.inJustDecodeBounds = true; 
    Bitmap bitmap = BitmapFactory.decodeFile(backgroundimage, 
      bmpFactoryOptions); 

    int heightRatio = (int) Math.ceil(bmpFactoryOptions.outHeight 
      /(float) height); 
    int widthRatio = (int) Math.ceil(bmpFactoryOptions.outWidth 
      /(float) width); 

    if (heightRatio > 1 || widthRatio > 1) { 
     if (heightRatio > widthRatio) { 
      bmpFactoryOptions.inSampleSize = heightRatio; 
     } else { 
      bmpFactoryOptions.inSampleSize = widthRatio; 
     } 
    } 

    bmpFactoryOptions.inJustDecodeBounds = false; 
    bitmap = BitmapFactory.decodeFile(backgroundimage, bmpFactoryOptions); 
    return bitmap; 

} 

而且我已经通过图像宽度和高度作为此方法中的参数。

bmLargeImage = ShrinkBitmap(backgroundimage, 7165, 786); 
相关问题