在位图(而不是画布)上绘制文本

时间:2010-12-19 22:51:35

标签: android

我分别在Canvas和Bitmap上绘制了一些文本:

protected void onDraw(Canvas canvas) {
    canvas.drawText("Canvas text", 10, 10, mPaint);
    Canvas singleUseCanvas = new Canvas();
    singleUseCanvas.setBitmap(mBitmap);
    singleUseCanvas.drawText("Bitmap text", 10, 30, mPaint);
}

在前一种情况下,文本呈现为您所期望的,而在后者中,它看起来非常粗糙和丑陋。当使用例如

时,这变得更加成问题
canvas.drawBitmapMesh(...);

将转换应用于位图。我做错了什么,或者当你从Canvas传递到Bitmap时质量是否会恶化?

在旁注中,我在Bitmap上绘制文本的原因是为了对所讨论的文本(如Apple OSX的Dock)获得“放大镜”效果,因为我可以使用a对其应用任意变换位图网格。还有另一种,或许更好的方法吗?

最佳,

迈克尔

编辑已解决。对于那些感兴趣的人,使用API​​版本< 4.使用API​​版本> = 4时,一切正常。

0 个答案:

没有答案