1

如果你愿意的话,我有一个背景位图,我正在将另一个带有字体的位图绘制到背景位图中。当只是在彼此之上绘制并放大我需要的级别时,它们看起来很完美,没有伪影,而且完全符合我的要求。但出于我的目的,我需要将字体位图合并到背景位图中,这样它就基本上变成了一个项目。我显然需要在运行时完成它,我正在使用的解决方案是......

canvas2 = new Canvas(backgroundBitmap);
canvas2.drawBitmap(fontBitmap.getBitmap(), null, rects.get(backgroundRectIndex), null);
invalidate();

现在,当我放大到需要字体的关卡时,字体有伪影。我对图形相当陌生,并且已经阅读了几篇关于类似问题的文章和问题,并且我尝试过使用油漆中的抖动并在 canvas2.drawBitmap 中使用它而不是 null,但似乎没有任何帮助。我遇到了这个...

这不适用于应用程序在内部创建内存位图并在其上绘制某些内容以供稍后在屏幕上显示的情况。该平台在绘制时动态地自动缩放此类位图。这种情况的其他副作用可能是,当屏幕外位图最终呈现到显示器时,在这种位图中绘制的字体将在位图级别缩放,从而导致缩放伪影。

链接文本

这听起来可能是我的问题,但我该如何解决呢?任何帮助将非常感激。

4

1 回答 1

1

如果要缩放位图,请确保将 filterBitmap 标志设置为关闭。

在油漆上应该是:

paint.setFilterBitmap(false);
于 2011-01-23T04:12:47.783 回答