理解PorterDuffXferMode从从理解什么叫源什么叫目标开始

源和目标到底是意思?我语文没学好??

脑壳里面有一种思维,就是认定是这个理,特么就是很难改过来,就好比你认为男人是女人女人是男人的时候,我特么就疯了,这颠覆我的逻辑了,就是绕不过来。

就混淆了,src dest ,从图上看好像看不太懂,谁是被操作者,谁是操作者?

src 是操作者,从源地址服务器发送到 目标地址服务器

用源图片和目标图片进行杂交,目标地址在那个位置,源图片到达了那个位置,
源图片 是盖在目标上面的。 如果你认为 目标图片改在源图片上的,那么 xferMode的图片就似乎看不懂了。。

所以我觉得吧,我就是那种容易被混淆概念的人,我就是绕不过来,我觉得应该把src叫着topview, dest叫bottom view,一个在底部 一个在上面 覆盖在底部。。
概念纠正过来之后为了避免以后不被混淆概念,我决定用相近英语来记住它source file -> destop桌子,桌面 ,源文件放到了桌面上,桌面不可能放到源文件上,所以源文件在上面而,dest是类似背景,

ok不被混淆概念之后做起来其实超级简单的,因为你所理解的和效果图是一模一样了,你和参考教材的答案一样了,不再怀疑人生,也就不再害怕不理解PorterDuffXferMode 没错,我曾经就是害怕的,因为我不理解src到底是上面还是下面,谁是被操作者,谁是操作者

好了,再看看图,露露代码也没啥难度了

PorterDuffXfermode`

测试相交 xor, xor 其实也叫亦或 就是同性相斥异性相吸。挖空的地方就是被吸走了。合体不见了。

 //destop bg
    canvas.drawRect(20,20,80,80,mDstPaint);  
    mSrcPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.XOR));  
    //src  file
    canvas.drawCircle(30,30,30,mSrcPaint);  
  

其他的代码走链接.纠正了观念以后看图就知道做效果了,
https://blog.csdn.net/wingichoy/article/details/50534175
https://blog.csdn.net/fz_dev/article/details/51489481

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,738评论 25 709
  • 万物也许快得过风,但追不上时间。可是你们却一起,打败了时间。 “I have loved you, I hav...
    芒果益达阅读 3,978评论 0 2
  • 妈妈让我自己写数学题结果写错了好几道,这是为什么呢?因为我写数学题的方法不对,然后妈妈就辅导我,我告诉我一个窍门儿...
    朱嘉诚11阅读 1,280评论 0 0
  • 这些年被频繁提起的一个词就是跨界,对于创业者而言,在面对巨头时,绝大多数机会来自于跨界创新,这些基于边缘的突破,初...
    公子在野阅读 6,389评论 2 106