0 0

Android-颜色转换问题5

public void setColor(int color) {
      int red = (color & 0xff0000) >> 16;
      int green = (color & 0x00ff00) >> 8;
      int blue = (color & 0x0000ff);
      paint.setColor(Color.rgb(red, green, blue));
}

这段代码不是看的很明白,求友人点拨...
2011年5月19日 11:05

2个答案 按时间排序 按投票排序

0 0

采纳的答案

RGB色彩模式分红,绿,蓝三种,它们颜色值的范围是0-255(通俗点就是深浅程度),其它的颜色则是通过这三个基本颜色的最大值合成的。255对应16进制是FF,对应2进制是1111111,在看看代码

int red = (color & 0xff0000) >> 16;

0xff0000的2进制是:111111110000000000000000(一共24位)
color & 0xff0000的意思:求和运算,得到一个000000000000000000000000-111111110000000000000000的数值,
>> 16的意思:右移16位,得到前8位的值,也就是00000000-11111111的数值,对应的2进制也就是0-255的值了。

你的代码中,green 和blue 也是上面的道理算出来的。
这样就得到了rgb的三个值
//这句很简单,根据上面的值得到对应的颜色,然后调用setColor方法
paint.setColor(Color.rgb(red, green, blue));

2011年5月20日 06:43
0 0

(color & 0x00ff00) >> 8是颜色的算法用递进算得 int值

2011年5月19日 13:19

相关推荐

    Android-Image-Kitchen-master_Androidkitchen_Kitchen_

    Android Kitchen,又称为Kitchen,是一个强大的资源转换工具,它可以自动处理图像,将其转化为适应不同设备屏幕尺寸和密度的各种格式,从而减少应用的内存占用并提升性能。 **关键知识点:** 1. **图像资源优化** ...

    Android SDK (SDK Platforms)-android-21.zip

    8. **Build Tools**: SDK中的Build Tools组件提供了构建应用所需的工具,如AAPT(Android Asset Packaging Tool)用于处理资源文件,dx用于将Java字节码转换为Dalvik字节码,以及gradle插件等。 9. **开发者工具**:...

    android-sdk\platforms\android-19

    1. **Build Tools**:Android SDK提供了一系列的构建工具,用于编译、打包和签名APK,如AAPT(Android Asset Packaging Tool)、dx(Dalvik字节码转换器)等。 2. **ADT插件**:Eclipse的ADT(Android Development ...

    android-gif-drawable解决5.0适配

    6. **透明度和色彩管理**:在某些设备上,GIF的透明度可能处理不当,`android-gif-drawable`修复了这个问题,并支持颜色空间的正确转换。 7. **内存缓存**:库内置了内存缓存机制,避免了重复加载同一GIF资源,提高...

    Android-ColorUtils一个Android颜色变换工具

    在Android开发中,颜色处理是UI设计和用户体验中不可或缺的一部分。`ColorUtils`是一个非常实用的工具类,它提供了一系列方法来帮助开发者处理颜色相关的任务,如颜色的变化、透明度调整、颜色格式转换以及颜色格式...

    ksoap2-android-assembly-2.5.8-jar-with-dependencies.jar

    4. **颜色转换**:有时,转换图片的颜色空间,例如从RGB转换到灰度或YUV,也可以在不损失太多细节的情况下减小文件大小。 5. **编码和保存**:最后,将调整后的Bitmap编码成目标格式,如JPEG或PNG,并写入文件。 ...

    Android-android-shape-imageview-图片圆角三角五角圆形多角

    `android-shape-imageview`库正是为此目的而设计的,它允许开发者轻松地将ImageView组件转换为具有各种形状的视图,提升应用的UI设计灵活性。本文将深入探讨如何使用这个库来实现这些功能,并提供一些关键知识点。 ...

    Android-PDF-master_androidpdf_

    此外,熟悉PDF生成过程还有助于理解和处理其他与文档相关的任务,如打印、预览和转换等。总的来说,这是一个非常实用的学习资源,对于想在Android应用中集成PDF功能的开发者来说,无疑是一份宝贵的教程。

    opencv-4.1.0-android-sdk.zip 下载

    - 图像处理:包括颜色转换、滤波、边缘检测、图像缩放等。 - 特征检测:SIFT, SURF, FAST, ORB等特征检测算法,用于图像匹配和定位。 - 人脸检测和识别:使用Haar分类器或LBP特征进行实时人脸检测,配合EigenFace, ...

    OpenCV-2.4.6-android-sdk-r2(不包含apk)

    在2.4.6版本中,它包含了基础的图像处理功能,如滤波、边缘检测、颜色空间转换,以及高级的特征检测、物体识别和追踪等。OpenCV库广泛应用于机器学习、深度学习、图像分析、增强现实等领域。 **Android SDK:** ...

    Android-AudioVisualizer一个轻量级易于使用的音频可视化Android控件

    这通常涉及到各种绘图方法,如drawLine()、drawRect()等,以及颜色管理、渐变和透明度设置等。 4. **动画更新**:为了实现音频可视化的效果,需要定期更新Canvas上的图形。这可以通过重写View的onDraw()方法并结合...

    android sdk platform-31_r01.zip (android 12 preview)

    4. **build-tools** - 包含构建应用所需的工具,如aidl(Android Interface Definition Language)、dx(转换Dalvik字节码的工具)和zipalign(优化APK文件的工具)等。 5. **android.jar** - Android 12 的公共API...

    android-audio-visualizer,android媒体播放器的音频可视化.zip

    - Android的Canvas和Paint类可用于绘制可视化图形,包括线条、形状和颜色填充。 - 对于更复杂的动画效果,项目可能使用了Android的Animation框架或第三方库如Lottie。 6. **自定义化**: - 开源项目通常允许...

    opencv-3.4.1-android-sdk.zip

    常见的OpenCV功能包括图像读取与显示、图像变换(如缩放、旋转、平移)、颜色空间转换、滤波器(如高斯滤波、中值滤波)、边缘检测(如Canny、Hough变换)、特征检测(如SIFT、SURF)、对象识别和追踪等。...

    android-sdk-aapt-25.0.2-linux

    在Linux环境下,`aapt`工具通常与其他Android SDK Build Tools一起使用,如`dx`(用于将Java字节码转换为Dalvik字节码)和后来的`dex`工具,以及`apkbuilder`或现代的Gradle插件。这些工具协同工作,完成整个构建...

    android-ui-utils,从code.google.com/p/android-ui-utils自动导出.zip

    - 颜色处理:包含颜色转换、颜色混合、透明度调整等功能,帮助开发者更好地控制和改变界面的颜色表现。 5. **ScreenUtils**: - 屏幕适配:提供了根据设备屏幕尺寸和密度进行自动适配的方法,确保应用在不同设备...

    Android高级应用源码-android-times-square Android日历部件.rar

    5. **时间区域支持**:`android-times-square`不仅支持本地时间,还支持时区转换,使得全球用户都能正确显示和选择日期。 6. **国际化**:考虑到全球用户的需求,该项目也实现了多语言支持,通过`Locale`对象,可以...

    EasyPR_Android-master.zip

    在车牌检测阶段,项目通常会采用颜色分割、边缘检测等预处理技术来定位潜在的车牌区域。OpenCV中的Canny边缘检测算法和HSV色彩空间转换在此起到了关键作用。一旦找到可能的车牌区域,接下来就是字符识别。这通常涉及...

    RGB-YUV转换工具 - Android App

    通过这个工具,开发者和普通用户都能快速方便地进行颜色转换,提高工作效率。同时,提供的源代码可以帮助初学者更好地理解色彩空间转换的算法和Android开发实践。 总的来说,RGB-YUV转换工具是一个实用且教育性的...

    Android-Simulate.rar

    该库在PC上创建一个虚拟GPU,模拟移动设备上的图形处理,将Android应用的图形指令转换为可被PC图形卡理解的指令。 三、Android-Simulate.sln文件 ".sln"是Visual Studio解决方案文件,包含了整个项目的所有配置信息...

Global site tag (gtag.js) - Google Analytics