2 ky52879 ky52879 于 2017.08.27 19:48 提问

Android中的PorterDuffXfermode怎么实现减法(Mode.ADD的反义词)? 5C

各位大佬,相信大家都用过以下方法画图片吧:
paint.setXfermode(new PorterDuffXfermode(Mode.ADD));这是加法
比如:原颜色RGB(100,0,0)、目标RGB(30,0,0).
这样出来的结果就是两个颜色相加,最后得到的就是RGBA(130,0,0,255),
那么如果我想让两个颜色相减应该怎么办呢?翻遍了API都没找到,也就是我想得到这样的结果:RGB(70,0,0)还有RGB(-70,0,0),这两种结果怎么办呢?当然第二个结果其实就是
RGB(0,0,0)因为颜色没有负数

1个回答

dabocaiqq
dabocaiqq   2018.05.28 01:13
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android使用PorterDuffXfermode实现遮罩效果
当我们在程序里需要做遮罩效果时,可以PorterDuffXfermode类实现。 例如有一副图片,需要使用一个图形(一般是可以使用Canvas画出来的图形),图形覆盖到的地方在图片上才显示出来,可以使用PorterDuff.Mode.SRC_IN属性实现,常见的有圆形头像的实现。 先创建图片Bitmap一样大小的Canvas,再设置将图形画到Canvas里,再画图片bitmap画到Canvas
Android中Canvas绘图之PorterDuffXfermode使用及工作原理详解
概述类android.graphics.PorterDuffXfermode继承自android.graphics.Xfermode。在用Android中的Canvas进行绘图时,可以通过使用PorterDuffXfermode将所绘制的图形的像素与Canvas中对应位置的像素按照一定规则进行混合,形成新的像素值,从而更新Canvas中最终的像素颜色值,这样会创建很多有趣的效果。当使用PorterD
PorterDuffXfermode自定义View实现圆角图片
今天使用PorterDuffXfermode自定义View实现圆角图片 package com.example.bitmap_porterduffxfermode; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import andro
Android Xfermode 实战 实现圆形、圆角图片
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/42094215,本文出自:【张鸿洋的博客】1、概述其实这篇本来准备Android BitmapShader 实战 实现圆形、圆角图片放到一篇里面,结果由于篇幅原因就独立出来了~在很久以前也写过一个利用Xfermode 实现圆形、圆角图片的,但是那个继承的是View,其实继承Imag
Android Paint之 setXfermode PorterDuffXfermode 讲解
前面关于paint的方法讲解里,讲到 setXfermode 就截止了,原因有两个: 1. 那篇文章已经太长了,我自己都看不下去了; 2. setXfermode 在paint 里占有至关重要的地位; 基于以上两个原因,我们一起来看看这个方法有何妙用。 首先我们还是来看看关于这个方法的说明: /** * Set or clear the xfermode object.
细数PorterDuffXferMode的几个坑, PorterDuffXferMode不正确的真正原因
菜鸡wing遇敌PorterDuffXferMode,不料过于轻敌,应战吃力。随后与其大战三天三夜,三百余回合不分胜负。幸得 @咪咪控 相助,侥幸获胜。 关键字:PorterDuffXferMode  错误 不正确  不达到预期  bug 上一篇带来一个使用PorterDuffXferMode  做的 水波纹loadingview,中间遇到了点小困难。 (
关于android中图片裁剪以及PorterDuffXfermode的使用经验小结
关于图片”裁剪”出现锯齿的问题,以及PorterDuffXfermode实现方式原理小结
Android 绘图进阶(一):PorterDuff与Xfermode(画笔风格)仿QQ圆形头像
之前就看到有人在问QQ头像的圆形头像是怎样制作的,今天学习到绘图方面的xfermode才知道原来QQ头像是通过它来绘制的,感觉它所能实现的效果还是很不错的。一、Xfermode简单介绍Xfermode有三个子类 : AvoidXfermode 指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图)。PixelXorXfermode 当覆盖已有的颜色时,应用一个简单的像素异或
Android PorterDuffXfermode使用中的一些坑
概述在android canvas绘图中经常会使用到Paint.setXfermode()来给画笔设置一个Xfermode;Xfermode是一种将所绘制的图形的像素按照一定模式进行混合从而形成新的像素值。Xfermode有三个子类:AvoidXfermode、PixelXorXfermode、PorterDuffXfermode;前两个已经废弃了,我们使用的最多的就是PorterDuffXferm
PorterDuffXfermode的SRC_IN使用问题总结
问题场景: 因为要做一个透明图片和绘制图形的叠加效果,该透明图片是当前绘制图形所在View的背景,绘制图形在当前View的onDraw方法里面绘制。然后画笔使用SRC_IN,结果在只有当前View时,SRC_IN才起作用。当View放置到一个layout里面,layout背景设置为黑色时,SRC_IN失效了,网上搜索了下,尝试了下,解决方法如下: 解决方法: 总体的解决方法就是针对当前Vie