我分别在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时,一切正常。