Android SurfaceView位图质量比XML中的ImageView更差

时间:2014-10-23 21:34:24

标签: android xml image bitmap surfaceview

当我通过绘图方法在SurfaceView上绘制位图时,图像(在这种情况下为背景)模糊且质量差,即使它没有按比例放大。当我在XML布局中使用相同的图像作为背景时,它看起来更好,更清晰。

这是我用来加载位图的代码:

    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inScaled = false;
    options.inPreferQualityOverSpeed = true;
    options.inPreferredConfig = Bitmap.Config.ARGB_8888;
    bmpLoader = BitmapFactory.decodeResource(getResources(), R.drawable.image);
    bmpImage= Bitmap.createScaledBitmap(bmpLoader,width, height,true);
    if (bmpLoader!=null){
        bmpLoader.recycle();  
        bmpLoader = null;
        }

我还使用特殊颜料绘制位图:

    bitmapPaint = new Paint();
    bitmapPaint.setAntiAlias(true);
    bitmapPaint.setDither(true);
    bitmapPaint.setFlags(Paint.DITHER_FLAG);
    bitmapPaint.setFilterBitmap(true);

提前感谢任何建议。

如果有人遇到同样的问题: 您必须调用并设置此像素格式

    yoursurfaceviewinstance.getHolder().setFormat(PixelFormat.RGBA_8888);

在将内容视图设置为此曲面视图之前。

1 个答案:

答案 0 :(得分:2)

如果有人遇到同样的问题: 您必须调用并设置此像素格式

    yoursurfaceviewinstance.getHolder().setFormat(PixelFormat.RGBA_8888);

在将内容视图设置为此曲面视图之前。