gpt4 book ai didi

android - 如何在不模糊的情况下缩放图像?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:35:19 52 4
gpt4 key购买 nike

我正在尝试将一个小图像(大约 20x40 像素)缩放为任意大的图像。我正在通过设置 ImageView.scaleType 属性进行缩放,但在缩放图像时,它会从一种原始像素颜色淡入另一种像素颜色,从而创建一个大而模糊的图像版本。

这是问题的一些背景。我正在尝试为 Android 创建一个老派的 16 位风格游戏。我想将 Sprite /等存储为小文件,然后根据用户的屏幕尺寸将它们放大。这样,我就不必为每个 Sprite 创建大量不同大小的不同图像。现在我只是在进行概念验证,所以我正在尝试将一个 20x40 的小图像文件缩放到整个屏幕的大小。

*edit:我想出了如何使用 Reflog 推荐的方法。但是,它仍然会产生一些衰落,只是远低于默认算法。

*edit2:知道了!我不得不关闭抗锯齿

*edit3:这对我来说神秘地停止了工作,我发现了另一个需要禁用抖动/自动缩放的地方。添加了选项行。

@Override
protected void onDraw(Canvas canvas) {
Paint paint = new Paint();
paint.setDither(false);
paint.setAntiAlias(false);

BitmapFactory.Options options = new BitmapFactory.Options();
options.inDither = false;
options.inScaled = false;

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.tinyimg, options);
canvas.drawBitmap(bitmap, null, new RectF(getLeft(), getTop(), getRight()/2, getBottom()/2), paint);
}

最佳答案

使用:

paint.setDither(false);
g.drawBitmap(img, src, dst, paint);

使用 NN 缩放,这会减少模糊,但也会降低缩放的质量。

关于android - 如何在不模糊的情况下缩放图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5547722/

52 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com