【问题标题】:Drawing custom shape onto Canvas in Android在 Android 中将自定义形状绘制到 Canvas 上
【发布时间】:2012-12-20 21:03:22
【问题描述】:

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

简而言之,我有一个应用程序,我希望将多个复杂的形状绘制到画布上,然后将其绘制到屏幕上(我将按照此问题的答案中的建议在大画布上实现平移: Android: Drawing and rotating on a canvas)

我该如何创建自定义形状并将其绘制在 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);
    }
}

【问题讨论】:

    标签: android android-canvas


    【解决方案1】:

    哇,我在这个方面让铁杆失望了。

    Android: canvas.drawBitmap performance issue

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

    Symbol s = new Symbol();
    canvas.save();
    canvas.rotate(5);
    canvas.drawBitmap(s.b, 0,0, null);
    canvas.restore();
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多