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 ...
随机推荐
- apk反编译(5)用apktool重新生成一个未签名的apk
用apktool反编译apk后,得到一个目录,里面有smali文件,可以对其修改,然后用apktool重新生成一个未签名的apk. 如,把smali文件中的广告部分去掉或改成自己的. 命令如下:与破解 ...
- JAVA中,不同工程间的方法调用
可以调用, 用配置构建路径的方法:点选工程1, 点击右键, 选择 Build Path(构建路径) - > Configure Build Path...(配置构建路径...)然后在弹出的窗口中 ...
- Android开发之MD5加密
将字符串进行MD5加密,返回加密后的字符串 public static String encode(String password) { try { StringBuffer sb = new Str ...
- Codeforces Round #204 (Div. 2) C
写了一记忆化 TLE了 把double换成long long就过了 double 这么耗时间啊 #include <iostream> #include<cstdio> #i ...
- 信息:Could not publish server configuration for Tomcat v6.0 Server at localhost. Multiple Context
需要把server.xml更正一下,去掉重复的context.或者把整个server文件夹都删掉,重新添加服务器.也可以在server窗口中删除server,再新添加一个server.
- bzoj1875: [SDOI2009]HH去散步
终于A了...早上按自己以前的写法一直WA.下午换了一种写法就A了qwq #include<cstdio> #include<cstring> #include<iost ...
- BZOJ2252: [2010Beijing wc]矩阵距离
题解: 我脑子里都是翔??? bfs一下就行了 我居然还想什么kd tree!真是too naive,,, #include<cstdio> #include<cstdlib> ...
- HDU 1863 畅通工程(最小生成树,prim)
题意: 给出图的边和点数,要求最小生成树的代价,注:有些点之间是不可达的,也就是可能有多个连通图.比如4个点,2条边:1-2,3-4. 思路: 如果不能连通所有的点,就输出‘?’.之前以为每个点只要有 ...
- 【C#学习笔记】退出程序
1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit(); 强制所有消息中 ...
- date.plugin.js 日期插件
//定义命名空间 var DatePlugin; if (!DatePlugin) DatePlugin = {}; /*整理时间:2015-05-28*/ var defaultFormat = & ...