2012-12-20 91 views
0

我一直被这一点难住了一点,所以我想我会问在这里看看是否有人有任何指针。在Android上的画布上绘制自定义形状

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

我到底该如何创建一个自定义形状,并在Android的Canvas上的任意位置/旋转中绘制它?

下面是一个简单的自定义形状的例子,因为我已经尝试实现它至今(通常他们会在运行时创建的)

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); 
    } 
} 

回答

0

哇,我derped这个铁杆一。

Android: canvas.drawBitmap performance issue

在我的主类所做的一切快乐添加此,至少就这个简单的例子去:

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

另外,看“图片”:HTTP://开发商。 android.com/reference/android/graphics/Picture.html –