0

我已经被这个难住了一点,所以我想我会在这里询问是否有人有任何指示。

简而言之,我有一个应用程序,我希望将多个复杂的形状绘制到画布上,然后将其绘制到屏幕上(我将按照这个问题的答案中的建议在大画布上实现平移:Android:绘图并在画布上旋转

我该如何创建自定义形状并将其绘制在 Android 画布上的任意位置/旋转处?

下面是一个简单的自定义形状的示例,到目前为止我已经尝试实现它(通常它们会在运行时创建)

public class Symbol {
    public Bitmap b = Bitmap.createBitmap(500, 500, Bitmap.Config.ARGB_8888);
    public Symbol() {
        Canvas canvas = new Canvas(b);;
        Paint paint = new Paint();
        paint.setColor(Color.GRAY);
        paint.setStyle(Paint.Style.STROKE);
        paint.setTextSize(25);
        paint.setStrokeWidth(4);
        paint.setDither(true);                    
        paint.setStrokeJoin(Paint.Join.ROUND);    
        paint.setStrokeCap(Paint.Cap.ROUND);      
        paint.setAntiAlias(true);  
        String str="TestStr";
        canvas.drawText(str, 250,250, paint);
    }
}
4

1 回答 1

0

哇,我在这个上讨厌铁杆。

Android:canvas.drawBitmap 性能问题

在我的主课中添加这个让一切都很开心,至少就这个简单的案例而言:

Symbol s = new Symbol();
canvas.save();
canvas.rotate(5);
canvas.drawBitmap(s.b, 0,0, null);
canvas.restore();
于 2012-12-20T21:17:59.913 回答