Android QN: изменение цвета краски без влияния на ранее нарисованные линии - PullRequest
1 голос
/ 26 октября 2011

Я хочу создать приложение для рисования, которое позволяет пользователю рисовать разными цветами. Я могу придумать все, кроме смены цветов.

У меня есть начальная красная краска, чтобы нарисовать несколько линий, и когда я меняю цвет на зеленый, все ранее нарисованные линии меняются. Я хочу, чтобы ранее нарисованные линии сохранили свои красные, а новые линии - зеленым.

    canvas.drawPath(mPath, mPaint);

Я использую метод canvas.drawPath для рисования вместе с краской mPaint. но когда я меняю цвет mPaint, все тоже меняет цвет.

Я пытался просматривать Интернет, но ничего не мог найти, и я потратил очень много времени, чтобы понять это. Пожалуйста помоги.

Ответы [ 2 ]

2 голосов
/ 26 ноября 2012

Вы можете использовать этот код в своем основном классе, он будет очень полезен для вас

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MyView(this));

mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setDither(true);
mPaint.setColor(0xFFFF0000);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeJoin(Paint.Join.ROUND);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setStrokeWidth(3);
 }
 private Paint mPaint;
 private MaskFilter mEmboss;
 private MaskFilter mBlur;
 public void colorChanged(int color) {
 mPaint.setColor(color);
 }
0 голосов
/ 06 марта 2012

Почему бы просто не переключиться на новую краску, а не изменить цвет существующей краски?

...