网站地图
首页
php教程
asp.net教程
手机开发
css教程
网页制作
办公数码
jsp教程
asp教程
ps教程
当前位置:
编程学习网
>>
ps教程
>
Photoshop
> >
[js防水]js防photoshop风格拾色器代码
[js防水]js防photoshop风格拾色器代码
发布时间:2018-04-08
【www.gdgbn.com--Photoshop】
提示:您可以先修改部分代码再运行
简单的仿
Photoshop
的颜色设置器
背景颜色
文本颜色
<script> function dragMap(opts){//定义一个拖动类,以实时捕捉映射坐标值 this.map=document.getElementById(opts.map); this.mover=document.getElementById(opts.mover); this.x=1; this.y=0; this.drag(opts.dir.indexOf("x")+1,opts.dir.indexOf("y")+1); }; dragMap.prototype={ getPos:function (el){//取得标签页面坐标 var x=0,y=0; while(el){x+=el.offsetLeft; y+=el.offsetTop;el=el.offsetParent}; return {x:x,y:y} }, getMapPos:function (x,y){//取得子标签相对拖动容器的坐标 var mp=this.getPos(this.map); x=Math.max(0,x-mp.x-7); y=Math.max(0,y-mp.y-7); return {x:x,y:y} },//保证安全取值范围 cut:function (a){return Math.min(124,Math.max(-4,a))}, drag:function (_x,_y){//拖动方法 var me=this,d=document,w=window; this.map.onmousedown=function (e){ e=e||event; var x=e.clientX,y=e.clientY; var pos=me.getMapPos(x,y); if(_x)me.mover.style.left=pos.x+"px"; if(_y)me.mover.style.top=pos.y+"px"; me.x=pos.x/128; me.y=pos.y/128; me.onchange(); d.onmousemove=function (e){ e=e||event; var dx=me.cut(pos.x+e.clientX-x); var dy=me.cut(pos.y+e.clientY-y); if(_x)me.mover.style.left=dx+"px"; if(_y)me.mover.style.top=dy+"px"; me.x=(dx+4)/128; me.y=(dy+4)/128; me.onchange(); w.getSelection?w.getSelection().removeAllRanges():d.selection.empty(); }; d.onmouseup=function (){ d.onmousemove=null} } }, onchange:function (){} }; colorSelector={//单例拾色器对象 build:function (){//建造HTML this.win=document.createElement("DIV"); this.win.id="pscolor_win"; this.win.innerHTML="
"; document.body.appendChild(this.win) }, hsb2hex: function(H,S,B){//HSB转HEX if (B==0) {return "#000000"}; H%=360,S/=100,B/=100,H/=60; var i = Math.floor(H),f = H-i,p = B*(1-S),q = B*(1-(S*f)),t = B*(1-(S*(1-f))); var g = [[B,t,p],[q,B,p],[p,B,t],[p,q,B],[t,p,B],[B,p,q]][i]; for (i=g.length;i--;)g[i]=("0"+Math.round(g[i]*255).toString(16)).slice(-2); return "#"+g.join("").toUpperCase() }, show:function (x,y){//定位显示面板 var V=this.win.style; V.left=x+"px"; V.top=y+"px"; V.display="block"; }, hide:function (){this.win.style.display="none";return this}, bind:function (el){//绑定输入框 el=document.getElementById(el); var me=this,h=el.offsetHeight+1; el.onfocus=function (e){ var pos=me.pos(this); me.binder=this; me.show(pos.x,pos.y+h); }; el.onclick=function (e){me.stop(e||window.event)}; this.addEvent(document,"click",function(){me.hide()}); return this }, addEvent:function (el,type,fn){//多次添加事件 el.attachEvent?el.attachEvent("on"+type,function(){fn.call(el)}): el.addEventListener(type, fn, false); }, stop: function(_e) {//取消冒泡 _e.stopPropagation?_e.stopPropagation():(_e.cancelBubble = true) }, init:function (){ var d=document,me=this; this.build(); this.old="#000000"; try{d.execCommand("BackgroundImageCache", false, true)}catch(e){};//IE6-bug this.area=new dragMap({map:"psc_range",mover:"psc_cursor",dir:"xy"}); this.slider=new dragMap({map:"psc_slider",mover:"psc_mark",dir:"y"}); this.win=d.getElementById("pscolor_win"); this.view=d.getElementById("psc_range"); this.box=d.getElementById("psc_preview"); this.newColor=d.getElementById("psc_new"); this.input=d.getElementById("psc_value"); this.out=d.getElementById("color_out"); this.pos=this.area.getPos;//引用拖动对象的取页面坐标方法共用 this.area.onchange=this.slider.onchange=function (){//两个拖动对象的事件定制 var h=Math.round((1-me.slider.y)*360),s=100,b=100; me.view.style.background=me.hsb2hex(h,s,b);//设置左侧背景色 s=me.area.x*100; b=100-me.area.y*100; me.input.value=me.newColor.style.background=me.old=me.hsb2hex(h,s,b);//设置上面文本框的值和预览框的背景 }; this.win.onclick=function (e){me.stop(e||window.event)};//取消面板冒泡 this.win.ondblclick=this.out.onclick=function (){ me.box.style.background=me.old; me.hide().onclick(me.input.value); };//输出按钮事件转发 return this; }, onclick:function (x){//添加选定色彩事件,可以自已添加
其它
响应. this.binder.value=x; this.binder.style.background=x; document.body.style[this.binder.id=="b1"?"background":"color"]=x; } }; colorSelector.init().bind("b1").bind("b2"); </script>
提示:您可以先修改部分代码再运行
本文来源:
http://www.gdgbn.com/ps/22437/
上一篇:
【photoshop cs6教程】photoshop处理教程人物照片磨皮,美化高级教程
下一篇:
如何用photoshop把照片调出来_如何用PhotoShop把照片调出淡黄质感肤色
相关推荐
【怎么对一个网站进行优化】网站优化-tags优化方法与技巧
js经典实例_js经典级联菜单
javascript学习指南|JavaScript读取图片加载完毕代码
新站区管委会_新站如何快速在google取得好排名
[js判断字符串是否包含某个字符串]jsp 简单实例分页代码
json_js 广告图片轮换代码
[paypal怎么注册]Paypal收美金的注册技巧
【会员数据库设计】会员数据导入uchome程序实例
【ajax提交form表单数据】不用from表单提交数据代码
如何做网站推广|网站推广如何选取关键字
网友关注
[站长素材网站]站长必看-网站优化注意与优化方法
[js对联广告代码]js对联广告代码
php获取表单数据|php列出数据再用js 删除数据
[如何把网站上传到服务器]如何把网站成功提交到DMOZ目录
[动态域名解析 免费]免费域名解析申请
javascript学习指南|javascript 带农历的日历代码
【phpstudy】php 批量增加数据
[原创文章检测]原创文章的几个方法
免费域名 哪个好|免费域名申请
json|js 经典window风格的拾色器代码
热门标签
js防抖
js防水涂料
js防止重复点击事件
最新Photoshop
Photoshop
【photoshop换照片底色】photoshop照片美化实例教程
Photoshop
[photoshop反选快捷键]用photoshop反婚纱照片处理成紫色梦幻般效果
Photoshop
利用photoshop把照片处理成流行的淡橙色效果图|利用Photoshop把照片处理成流行的淡橙色效果
Photoshop
[photoshop修人像]利用Photoshop给人像图片磨皮及增强质感教程
Photoshop
[photoshop教程]Photoshop美女图片处理成柔美的粉黄色效果
Photoshop
photoshop换照片底色|利用Photoshop照片转为淡手绘效果
Photoshop
[photoshop怎么抠人物]Photoshop人物图片增加色彩饱和度教程
Photoshop
photoshop怎么美白皮肤|Photoshop人物照片美白处理制作教程
Photoshop
[photoshop 制作两寸照片]Photoshop手机拍的照片制作成非主流色调
Photoshop
adobe reader|Adobe dw cs5 出现RecordsetFind错误提示解决办法
Photoshop热门文章
Phot
如何用photoshop把照片调出来_如何用PhotoShop把照片调出淡黄质感肤色
Phot
photoshop怎么抠人物_Photoshop调出人物照片柔美橙色调实例教程
Phot
photoshop中文版免费下载|Photoshop 人像快速磨皮及润色美白教程
Phot
[photoshop换照片底色]Photoshop给照片增加梦幻的装饰元素教程
Phot
[photoshop快速选择工具]Photoshop快速美化人物脸部实例教程
Phot
photoshop制作几种漂亮边框效果图|photoshop制作几种漂亮边框效果
Phot
flash player_flash AS脚本制作图片模糊变清晰的动画特效
Phot
利用photoshop制作2015|利用Photoshop制作2010新年贺卡教程
Phot
【利用photoshop制作图片动态图】利用Photoshop制作图片动态虚线边框教程
Phot
新年贺卡制作方法_新年贺卡制作教程-利用Photoshop制作的新年贺卡
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
Copyright©2006-2019 编程学习网 www.gdgbn.com 版权所有