Android - 如何在不抖动/抗锯齿的情况下缩放文本 - 我想要像素化文本

发布于 2024-11-09 13:04:37 字数 634 浏览 0 评论 0原文

对于实验,我想在画布上绘制像素化文本。

这就是我到目前为止所拥有的:

Paint text = new Paint();
text.setAntiAlias(false);
text.setFilterBitmap(false);
text.setDither(false);
text.setFakeBoldText(false);
text.setLinearText(false);
text.setTextSize(10);

// Scale the canvas we draw on
matrix = c.getMatrix();
matrix.reset();
matrix.postTranslate(0, 0);
matrix.postScale(10,10);
c.setMatrix(matrix);
c.drawText("ABCabc", 0, 10, text);

这达到了我想要的大小,但是文本是抗锯齿和抖动的,这不是我想要的。

我得到的最接近的是这样做:

    text.setTextScaleX(5); 

它按照我想要的水平缩放文本,但不幸的是没有 text.setTextScaleY-functuion ...

有什么想法吗?

For an experiment I want to draw pixelated text on a canvas.

This is what I have so far:

Paint text = new Paint();
text.setAntiAlias(false);
text.setFilterBitmap(false);
text.setDither(false);
text.setFakeBoldText(false);
text.setLinearText(false);
text.setTextSize(10);

// Scale the canvas we draw on
matrix = c.getMatrix();
matrix.reset();
matrix.postTranslate(0, 0);
matrix.postScale(10,10);
c.setMatrix(matrix);
c.drawText("ABCabc", 0, 10, text);

This achieves the size I want, but the text is antialiased and dithered, and this is not what I want.

The closest I've gotten is by doing this:

    text.setTextScaleX(5); 

which scales the text the way I want horizontally, but unfortunately there is no text.setTextScaleY-functuion...

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小帐篷 2024-11-16 13:04:37

您可以使用 text.setTextSize(n) 并放大字体吗?

Can you use text.setTextSize(n) and scale up the font instead?

一绘本一梦想 2024-11-16 13:04:37

我知道这是一个非常老的问题,但如果有人仍在寻找一个简单的解决方案,这里有一个简单的解决方案:

textView.setTextScaleX(scaleX);
textView.setScaleY(scaleY);

因此,通过让 scaleX == scaleY ,字体将按预期统一缩放。

I know that this is a really old question but here's a simple solution if anyone's still looking for one:

textView.setTextScaleX(scaleX);
textView.setScaleY(scaleY);

So by letting scaleX == scaleY, the font will be scaled uniformly as expected.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文