如何撤消透明图纸?

时间:2018-10-17 11:20:26

标签: android canvas drawing android-canvas

我开发了一个绘图应用程序。我需要执行撤消和重做操作。必须通过在撤消描边上绘制相同的描边来进行撤消,但是要使用特殊的涂料。有一些我的绘画可以绘制和撤消:

val mainPaint = Paint().apply {
    color = Color.WHITE
    style = Paint.Style.STROKE
    alpha = 25
    xfermode = PorterDuffXfermode(PorterDuff.Mode.ADD)
    isAntiAlias = true
  }

  val undoPaint = Paint().apply {
    color = Color.WHITE
    style = Paint.Style.STROKE
    alpha = 25
    xfermode = PorterDuffXfermode(PorterDuff.Mode.SRC_OUT)
    isAntiAlias = true
  }

首先,我用mainPaint绘制了第一笔画:

enter image description here

然后我用相同的mainPaint在第二笔画上绘制第二笔画:

enter image description here

最后,我再次使用undoPaint绘制了第二个笔划,以实现撤消操作:

enter image description here

如您所见,结果看起来不像撤消。撤消后,我希望状态像我所附的第一张照片一样。我做错了什么?我该怎么解决?我该如何构建undoPaint

0 个答案:

没有答案