0

我正在尝试从用户使用触摸事件在屏幕上创建的任何内容创建图像。我不想将整个画布存储为位图。我只想存储用户绘制的图形。我希望将路径存储为位图。

请帮忙。

public class DoodleEngine extends View {
private Paint paint = new Paint();
private Path path = new Path();

public DoodleEngine(Context context, AttributeSet attrs) {
super(context, attrs);

paint.setAntiAlias(true);
paint.setStrokeWidth(6f);
paint.setColor(Color.GREEN);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeJoin(Paint.Join.ROUND);
}

@Override
protected void onDraw(Canvas canvas) {

  canvas.drawPath(path, paint);

}

@Override
public boolean onTouchEvent(MotionEvent event) {
float eventX = event.getX();
float eventY = event.getY();

switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:

  path.reset();
  invalidate();
  path.moveTo(eventX, eventY);
  return true;
case MotionEvent.ACTION_MOVE:
  path.lineTo(eventX, eventY);


  break;
case MotionEvent.ACTION_UP:
  // nothing to do
  break;
default:
  return false;
}

// Schedules a repaint.
invalidate();
return true;
}
} 
4

1 回答 1

0

试试这个方法...

  • 使用 创建 Bitmap 的实例Bitmap.createBitmap(),您可能需要为其计算一些尺寸。

  • Canvas(Bitmap)使用构造函数创建一个指向该位图的画布实例

  • 绘制通往新画布的路径

  • 使用位图

于 2013-02-14T21:38:29.943 回答