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 ...
随机推荐
- 使用HttpClient发送HTTPS请求以及配置Tomcat支持SSL
这里使用的是HttpComponents-Client-4.1.2 package com.jadyer.util; import java.io.File; import java.io.FileI ...
- Android app Splash页的替代方案
一般的App想要显示公司的log什么的,都会在启动的第一个页面显示,就是SplashActivity. 目前在看到一个替代SplashActivity的方案. 使用SplashActivity的时候, ...
- c#模拟百度电击器方案
核心提示: 我 们都知道百度对于用户体验很重视,如果一个关键词的某个搜索结果,点击量会很对的话,则百度会认为这个结果是用户所喜欢的结果,然后这个网站自然会在百度 得到一个很好的排名. 网络上也出现了百 ...
- Linux 下查看文件字符编码和转换编码
Linux 下查看文件字符编码和转换编码 如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中默认的文件格式是GBK(gb2312),而Linu ...
- git for windows+TortoiseGit客户端的使用
一.安装Git客户端 全部安装均采用默认! 1. 安装支撑软件 : https://code.google.com/p/msysgit/downloads/list?q=full+instal ...
- linux关机和重启的命令[转]
如果你很急着关机或者重启话,那么关机就是init 0,重启就是init 6或者reboot Linux中常用的关机和重新启动命令有shutdown.halt.reboot以及init,它们都可以达到关 ...
- Android百度地图
帖子 热搜: 二维码 聊天 二维码扫描 传感器 游戏 定位 手势绘图 小项目 相框 绘图 涂鸦 拨打电话 记事本 定时器 通话记录 短信群发 listview 音乐播放器 项目例子 百度地 ...
- BZOJ 2179 FFT快速傅里叶
fft. #include<set> #include<map> #include<ctime> #include<queue> #include< ...
- ubuntu - chrome 标题栏, 书签乱码 解决
只要修改/etc/fonts/conf.d/49-sansserif.conf这个文件就行了—— 打开/etc/fonts/conf.d/49-sansserif.conf这个文件: sudo ged ...
- android view的setVisibility方法值的意思
android view的setVisibility方法值的意思 有三个值 visibility One of VISIBLE, INVISIBLE, or GONE. 常量值为0,意思是可见的 常 ...