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-function ...

有任何想法吗?

4

2 回答 2

0

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

于 2011-05-24T11:18:19.080 回答
0

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

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

因此,通过 let scaleX == scaleY,字体将按预期均匀缩放。

于 2015-11-26T22:33:51.853 回答