相关疑难解决方法(0)

调整大小/缩放位图后图像质量不佳

我正在写一个纸牌游戏,需要我的卡在不同情况下的大小不同.我将我的图像存储为位图,以便可以快速绘制和重绘(用于动画).

我的问题是无论我如何尝试和缩放我的图像(无论是通过matrix.postScale,matrix.preScale还是createScaledBitmap函数),它们总是出现像素化和模糊.我知道它导致问题的缩放因为在没有调整大小的情况下绘制时图像看起来很完美.

我已经完成了这两个线程中描述的每个解决方案:
在运行时调整图像大小时,运行时质量问题中的图像的android质量大小
调整

但还是没有到达任何地方.

我使用以下代码存储我的位图(到一个hashmap):

cardImages = new HashMap<Byte, Bitmap>();
cardImages.put(GameUtil.hearts_ace, BitmapFactory.decodeResource(r, R.drawable.hearts_ace));
Run Code Online (Sandbox Code Playgroud)

并使用此方法绘制它们(在Card类中):

public void drawCard(Canvas c)
{
    //retrieve the cards image (if it doesn't already have one)
    if (image == null)
        image = Bitmap.createScaledBitmap(GameUtil.cardImages.get(ID), 
            (int)(GameUtil.standardCardSize.X*scale), (int)(GameUtil.standardCardSize.Y*scale), false);

        //this code (non-scaled) looks perfect
        //image = GameUtil.cardImages.get(ID);

    matrix.reset();
    matrix.setTranslate(position.X, position.Y);

    //These methods make it look worse
    //matrix.preScale(1.3f, 1.3f);
    //matrix.postScale(1.3f, 1.3f);

    //This code makes absolutely no difference
    Paint drawPaint = new Paint();
    drawPaint.setAntiAlias(false);
    drawPaint.setFilterBitmap(false);
    drawPaint.setDither(true); …
Run Code Online (Sandbox Code Playgroud)

android image-manipulation

75
推荐指数
6
解决办法
9万
查看次数

如何将位图缩放到屏幕大小?

我想知道如何将位图缩放到屏幕高度和宽度?

任何人都可以告诉我如何做到这一点.

谢谢Monali

android

22
推荐指数
3
解决办法
8万
查看次数

标签 统计

android ×2

image-manipulation ×1