cocos2d-js 图片灰度处理
2016-08-30 10:31
387 查看
使用shader把图片进行灰度处理,并支持切回原色
潜在bug:如果调用两次灰度处理,则无法进行色彩还原
LayoutConfig.setWidgetEffectWithEnabled = function (widget,enable) {
if(!widget){return;}
widget.setTouchEnabled(enable);
LayoutConfig.setWidgetGrayEffect(widget,!enable);
}
潜在bug:如果调用两次灰度处理,则无法进行色彩还原
LayoutConfig.setWidgetEffectWithEnabled = function (widget,enable) {
if(!widget){return;}
widget.setTouchEnabled(enable);
LayoutConfig.setWidgetGrayEffect(widget,!enable);
}
LayoutConfig.setWidgetGrayEffect = function (widget,enable) { var shader = LayoutConfig.getShaderMap(enable ? "ui_gray" : "ui_normal"); if (widget) { var children = widget.getChildren(); for (var i in children) { LayoutConfig.setWidgetGrayEffect(children[i], enable); } if (!widget.getString) { widget.setShaderProgram(shader); } if (widget.getVirtualRenderer) { var children = widget.getVirtualRenderer().getChildren(); for (var i in children) { LayoutConfig.setWidgetGrayEffect(children[i], enable); } if (!widget.getVirtualRenderer().getString) { widget.getVirtualRenderer().setShaderProgram(shader); } } } };
LayoutConfig.getShaderMap = function (n) { var _s = this._shaderMap ; if (_s) { //cc.log("LayoutConfig.getShaderMap: " + n + " Cache"); return _s; } var b_n = "res/shader/" + n; var v_n = b_n + ".vsh"; var f_n = b_n + ".fsh"; _s = new cc.GLProgram(v_n, f_n); _s.addAttribute(cc.ATTRIBUTE_NAME_POSITION, cc.VERTEX_ATTRIB_POSITION); _s.addAttribute(cc.ATTRIBUTE_NAME_COLOR, cc.VERTEX_ATTRIB_COLOR); _s.addAttribute(cc.ATTRIBUTE_NAME_TEX_COORD, cc.VERTEX_ATTRIB_TEX_COORDS); _s.link(); _s.updateUniforms(); this._shaderMap = _s; //cc.log("LayoutConfig.getShaderMap: " + n + " New"); return _s; };
相关文章推荐
- cocos2d-js v3.6 关于处理图片锯齿、不清楚的处理方法
- cocos2d-js v3.6 关于处理图片锯齿、不清楚的处理方法
- Cocos2d-lua,Button 切换图片时的适配处理(Cocos2d-Js同理)
- 彩色图片的各种处理方法:灰度,黑白,底片效果
- ie8.0 显示本地图片 js处理 img.src
- 图片旋转处理js
- JS 图片轮换 封装中处理时钟
- 页面中的图片超过规定的大小就按原图片大小缩小,不超过的就按原样的JS处理方案
- js判断图片是否存在,并做处理
- WPF 图片灰度处理
- cocos2d-x初探学习笔记(26)--其他(游戏存档,切换高清,图片处理)
- 第35款插件:第29款插件:jquery.pngFix.js对IE6的PNG图片处理插件
- 页面中的图片超过规定的大小就按原图片大小缩小,不超过的就按原样的JS处理方案
- js图片自动切换效果处理代码
- cocos2d 图片边缘有黑线和移动拼接图时有锯齿的处理方法
- Android关于图片处理,更改图片灰度
- 页面中的图片超过规定的大小就按原图片大小缩小,不超过的就按原样的JS处理方案
- 页面中的图片超过规定的大小就按原图片大小缩小,不超过的就按原样的JS处理方案 选择自 WeekZero 的 Blog
- JavaScript html js图片切割系统,裁剪,图片处理
- JS对图片缩放处理