cocos2d-x图片变灰或者变亮
//根据现有CCSprite,变亮和变灰CCSprite*
FlyLeaf::graylightWithCCSprite(CCSprite* oldSprite,bool isLight){ //CCSprite转成CCimage CCPoint
p = oldSprite->getAnchorPoint(); oldSprite->setAnchorPoint(ccp(0,0)); CCRenderTexture
*outTexture = CCRenderTexture::create((int)oldSprite->getContentSize().width,(int)oldSprite->getContentSize().height); outTexture->begin(); oldSprite->visit(); outTexture->end(); oldSprite->setAnchorPoint(p); CCImage*
finalImage = outTexture->newCCImage(); unsigned char *pData
= finalImage->getData(); int iIndex
= 0; if(isLight) { for (int i
= 0; i < finalImage->getHeight(); i ++) { for (int j
= 0; j < finalImage->getWidth(); j ++) { //
highlight int iHightlightPlus
= 50; int iBPos
= iIndex; unsigned int iB
= pData[iIndex]; iIndex
++; unsigned int iG
= pData[iIndex]; iIndex
++; unsigned int iR
= pData[iIndex]; iIndex
++; //unsigned
int o = pData[iIndex]; iIndex
++; //原来的示例缺少 iB
= (iB + iHightlightPlus > 255 ? 255 : iB + iHightlightPlus); iG
= (iG + iHightlightPlus > 255 ? 255 : iG + iHightlightPlus); iR
= (iR + iHightlightPlus > 255 ? 255 : iR + iHightlightPlus); pData[iBPos]
= (unsigned char)iB; pData[iBPos
+ 1] = (unsigned char)iG; pData[iBPos
+ 2] = (unsigned char)iR; } } }else{ for (int i
= 0; i < finalImage->getHeight(); i ++) { for (int j
= 0; j < finalImage->getWidth(); j ++) { //
gray int iBPos
= iIndex; unsigned int iB
= pData[iIndex]; iIndex
++; unsigned int iG
= pData[iIndex]; iIndex
++; unsigned int iR
= pData[iIndex]; iIndex
++; //unsigned
int o = pData[iIndex]; iIndex
++; //原来的示例缺少 unsigned int iGray
= 0.299 * iR + 0.587 * iG + 0.114 * iB; pData[iBPos]
= pData[iBPos + 1] = pData[iBPos + 2] = (unsigned char)iGray; } } } CCTexture2D
*texture = new CCTexture2D; texture->initWithImage(finalImage); CCSprite*
newSprite = CCSprite::createWithTexture(texture); delete finalImage; texture->release(); return newSprite;}cocos2d-x图片变灰或者变亮的更多相关文章
- CSS使图片变灰
为了悼念,各大网站都纷纷将自己的站点颜色调灰,就连图片也一样,到底如何实现的呢,请看下面的代码. 〈img src="http://hovertree.com/hvtimg/201512/f ...
- NGUI 图片变灰
效果图 1.先准备好一个变灰shader.代码如下 Shader "Custom/Gray" { Properties { _MainTex ("Base (RGB), ...
- c# winform 把彩色图片转换为灰色的图片,变灰,灰度图片,速度很快,safe,unsafe
把彩色图片转换为灰色的图片,直接用.net接口遍历每个像素点转换的效率非常低,800K的图片65万像素我的电脑要用5分钟,而用了unsafe,速度提高了几千倍,同样的图片只用了0.几秒 附一个常用的遍 ...
- Unity图片变灰的方式
http://www.tuicool.com/articles/Vruuqme NGUI中的Button差点儿是最经常使用到的控件之中的一个,而且能够组合各种组件(比方UIButtonColor,UI ...
- JAVA彩色图片变灰处理
File file = new File("F:/firefox.png"); File destFile = new File("F:/pic/" + Sys ...
- 图片变灰css3
-webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filte ...
- css3图片变灰
html{ filter:grayscale(100%); -webkit-filter:grayscale(100%); -moz-filter:grayscale(100%); -ms-filte ...
- 关于cocos2d-x精灵加亮及变灰效果
//根据现有CCSprite,变亮和变灰 static CCSprite* graylightWithCCSprite(CCSprite* oldSprite,bool isLight) { //CC ...
- 怎么让让整个HTML页面变灰
怎么让让整个HTML页面变灰 其实很简单,我们只需要一句话. html {filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1 ...
随机推荐
- SQL效率问题
关于in和or的效率对比:http://blog.chinaunix.net/uid-20639775-id-3416737.html 在没有索引的情况下,in的效率高 SQL语句效率:http:// ...
- UVa 10256 - The Great Divide 判断凸包相交
模板敲错了于是WA了好几遍…… 判断由红点和蓝点分别组成的两个凸包是否相离,是输出Yes,否输出No. 训练指南上的分析: 1.任取红凸包上的一条线段和蓝凸包上的一条线段,判断二者是否相交.如果相交( ...
- 语言基础:C#运算符
运算符 分类 符号 解释 优先级 算术运算符 ++ -- 加加 减减 由高到低,即执行顺序由上到下.(圆括号的优先级最高) * / % 乘 除 取余 + - 加 减 关系运 ...
- Socket programming in C on Linux | tutorial
TCP/IP socket programming This is a quick guide/tutorial to learning socket programming in C languag ...
- NFC(4)响应NFC设备时启动activity的四重过滤机制
响应NFC设备时启动activity的四重过滤机制 在一个NFC设备读取NFC标签或另一个NFC设备中的数据之前会在0.1秒之内建立NFC连接,然后数据会自动从被读取一端流向读取数据的一端(NFC设备 ...
- Android手机拍照
参考的这个视频教程:http://v.youku.com/v_show/id_XNjI5MzkzMjQ4.html和官方API档file:///D:/Android/androidstudio/sdk ...
- git push --no-thin
有时候我们执行 git push 将一个 new branch 推送到远程仓库的时候,会被远程仓库阻止. 可能是我们没有相应的权限吧.然而,我在 git push 的时候加上 --no-thin 参数 ...
- codevs 1197 Vigenère密码
开始做NOIP啦.. #include<iostream> #include<cstdio> #include<cstring> #include<algor ...
- temp - Linux administration handbook 答案
我开始做第一章后的练习题,发觉不是很容易随意地回答,就像是C++ primer之后的练习题的感觉. 自己有这么多不会的,让我感觉很不爽啊- -! 先不要要求自己一下子都明了,一口吃不成胖子,先找一份工 ...
- rtp h264注意点(FU-A分包方式说明)
前写过一篇文章,分析了h264使用rtp进行封包的格式介绍:RTP封装h264.但里面好像没有把拆分以及一些需要注意的情况说清楚,因此这里做补充,也作为自己的备忘(自己记性好像不太好). 关于时间戳, ...