首页 颜色分量转换

颜色分量转换

举报
开通vip

颜色分量转换颜色分量转换 记得我在上学的时候老师给我们出了一道代码题就是把一个颜色当中的三个颜色分量都提取出来,然后把当中R和G的值,相互调换位置,从而形成一个新的颜色。 但是由于当时我在上课的时候基本上都处在深度睡眠当中,课余时间各种促进男女同学之间友谊的娱乐活动不断,导致我别说是用代码实现了,就连最基本的题目意思我都没搞明白是什么东西,于是我就一直用各种理由推脱,最后就不了了之了,真是呜呼哀哉,老师没事找事。 一直到工作之后我才理解什么是颜色分量。今天闲来无事突然想起这件趣事,一时兴起和大家分享一下它的实现方法。如果大家...

颜色分量转换
颜色分量转换 记得我在上学的时候老师给我们出了一道代码题就是把一个颜色当中的三个颜色分量都提取出来,然后把当中R和G的值,相互调换位置,从而形成一个新的颜色。 但是由于当时我在上课的时候基本上都处在深度睡眠当中,课余时间各种促进男女同学之间友谊的娱乐活动不断,导致我别说是用代码实现了,就连最基本的题目意思我都没搞明白是什么东西,于是我就一直用各种理由推脱,最后就不了了之了,真是呜呼哀哉,老师没事找事。 一直到工作之后我才理解什么是颜色分量。今天闲来无事突然想起这件趣事,一时兴起和大家分享一下它的实现 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。如果大家有更好的方法,欢迎贴出来大家一起探讨一下,如果是美女的话,为了能够更好的交流,大家不妨一起出来喝喝茶,探讨一下人生和理想。 位图的颜色是由RGB值来 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示的,RGB就是三个颜色分量,也就是三原色,这三种分量形成的颜色调配出所有其他颜色如下图: 这里所说的颜色分量转换其实就是:把一个颜色的三原色分割出来,然后调换其中的两个颜色的值,从而形成一个新的颜色,如下图:R:CD 与G:3D 的位置进行了调换,从而得到了一个新的颜色 在这里我给大家介绍一下具体的代码实现原理步骤: 1、获取需要转换位置分量的值:比如下图0xCD3D7B的颜色当中的R部分是CD二进制是0xCD3D7B,G部分是3D二进制是11110100 // 获取原始颜色中的红色分量值 0xFF CD 3D 7B  11001101 //System.out.println(Integer.toHexString(color << 8)); //System.out.println(Integer.toHexString(color << 8 >>> 24)); int r = color << 8 >>> 24; // 获取原始颜色中的绿色分量值 //System.out.println(Integer.toHexString(color << 16)); //System.out.println(Integer.toHexString(color << 16 >>> 24)); int g = color << 16 >>> 24; 2、将源颜色中需要转换的分量部分清空:也就是把0XCD3D7B部分的R:CD与G:3D变成0。如下图: // 将颜色中的红色和绿色部分清空 color = color & 0xFF0000FF; 3、将两个分量位置调换填充: // 将绿色分量写入到红色分量的位置,将红色分量值写入到绿色分量的位置 color = color | (g << 16) | (r << 8); 具体实现代码如下: package com.chinasofti.microexample; /** *

* Title: ColorOperation *

*

* Description:将颜色值的红色分量和绿色分量进行互换的微案例代码 *

*

* Copyright: Copyright (c) 2016 *

*

* Company: ChinaSoft International Ltd. *

* * @author etc * @version 1.0 */ public class ColorOperation { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub // 定义用于测试的原始颜色信息 //11111111 11001101 00111101 01111011 int color = 0xFFCD3D7B; // 定义工具对象 ColorOperation co = new ColorOperation(); // 转换颜色信息后输出 System.out.println("0x" + Integer.toHexString(co.r2g(color)).toUpperCase()); } /** * 将参数中的颜色数据的红色分量和绿色分量进行互换 * * @param color *            需要进行转换的颜色 * @return 转换后的结果 * */ public int r2g(int color) { // 获取原始颜色中的红色分量值 0xFF CD 3D 7B  11001101 //System.out.println(Integer.toHexString(color << 8)); //System.out.println(Integer.toHexString(color << 8 >>> 24)); int r = color << 8 >>> 24; // 获取原始颜色中的绿色分量值 //System.out.println(Integer.toHexString(color << 16)); //System.out.println(Integer.toHexString(color << 16 >>> 24)); int g = color << 16 >>> 24; // 将颜色中的红色和绿色部分清空 color = color & 0xFF0000FF; // 将绿色分量写入到红色分量的位置,将红色分量值写入到绿色分量的位置 color = color | (g << 16) | (r << 8); // 返回转换后的结果 return color; } }
本文档为【颜色分量转换】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_435706
暂无简介~
格式:doc
大小:28KB
软件:Word
页数:7
分类:互联网
上传时间:2019-01-25
浏览量:13