JS使png背景图片透明

合集下载

png背景透明 数学公式

png背景透明 数学公式

png背景透明数学公式
PNG图片背景透明的数学公式主要涉及“alpha”或“透明度”的概念。

Alpha代表的是透明度,取值范围是0-1,其中1表示完全不透明,0表示完全透明。

PNG图片的每个像素都包含一个alpha通道,用来表示该像素的透明度。

Alpha通道的每个像素由8个bit表示,因此总共有256个不同的透明度级别。

对于具有透明度的像素,其颜色值(红、绿、蓝)的计算方式如下:
像素颜色= (alpha/256) × 前景像素颜色 + (1 - alpha/256) × 背景像素颜色
其中,前景像素颜色是具有透明度的像素的颜色,背景像素颜色是该像素所覆盖的背景的颜色。

这个公式可以根据透明度级别进行颜色混合,以实现半透明效果。

请注意,具体的颜色混合效果可能还受到图像处理软件或图形硬件等因素的影响。

以上内容仅供参考,建议咨询计算机领域专业人士以获得更多关于PNG背景透明数学公式的信息。

制作清晰的透明PNG图片的方法和技巧

制作清晰的透明PNG图片的方法和技巧

Png是图像文件存储格式,在网页设计中已经不是一个陌生的名词,在前端开发中经常使用到它,如常用CSS 雪碧图。

而Png的使用不仅仅如此,Png有多少种格式,有哪些特点,PC 端中常用的Png格式是哪些,手机端最合适的Png格式是什么呢?如果你对这些问题有疑问,那么Png是图像文件存储格式,在网页设计中已经不是一个陌生的名词,在前端开发中经常使用到它,如常用CSS 雪碧图。

而Png的使用不仅仅如此,Png有多少种格式,有哪些特点,PC 端中常用的Png格式是哪些,手机端最合适的Png格式是什么呢?如果你对这些问题有疑问,那么很开心的告诉你,这里有你需要的答案。

相关技巧教程:Photoshop详细详细解析色彩模式和调色原理Photoshop实例解析蒙版工具的使用技巧Photoshop技巧教程:轻松掌握PS曲线工具PNG的格式和透明度这个Fireworks会比较清楚,打开Fireworkd优化面板,可以清楚看到png有3种不同深度的格式:png8、png24、png32。

其中,在优化面板选择png8,可发现png8包括不透明、索引色透明、alpha透明3种格式。

PNG88位的png最多支持256(2的8次方)种颜色,8位的png其实8支持不透明、索引透明、alpha透明。

PNG24支持2的24次方种颜色,表现为不透明。

PNG32支持2的32次方种颜色,32位是我们最常使用的格式,它是在png在24位的png基础上增加了8位的透明信息,支持不同程度的半透效果。

其实PNG8的3种格式不透明、索引透明、alpha透明,正好把png的所有格式都归类好了:『png 不透明』格式不勾选透明度单选框,图片的透明背景会被默认的白色填充导出来的png图片深度为24位,图片为不透明,表现跟jpg图片相似如果勾选了透明度(alpha通道),导出深度为32位的透明图片从photoshop存储为web所有格式面板中这样理解,png24深度其实为24位,再勾选上8位的alhpa通道,24+8=32,即『png32』 = 『png24+alpha』,这也许是photoshop软件开发者不添加png32位格式的原因,下图为Photoshop存储为web所有格式界面的图片格式选择,并没有png32位的选项~『PNG 索引透明』格式说到索引颜色透明,我们可以了解下什么是索引颜色,『png 索引透明』代表格式有『png8 索引透明』,导出软件有:Photoshop、Fireworks,它的特点总结如下:挑选一副图片中最有代表性的若干种颜色(通常不超过256种)只能为不透明或全透明文件体积小带有杂边锯齿支持IE6『png8 索引透明』产生杂边锯齿原因『png8 索引透明』只有透明索引颜色,没有半透明索引颜色,下图左侧为带半透明像素的图片,在浏览器中打开不会有锯齿,而右侧图片为全透明或不透明的像素,在浏览器打开后有锯齿。

JS使png背景图片透明

JS使png背景图片透明

JS使png背景图⽚透明png图⽚有很好的品质,阴影效果也不会有杂边,很流畅。

如果插⼊⽹页的话可以给⽹站内容增⾊不少!更重要的是在不增加图⽚容量⼤⼩的情况下提⾼了页⾯的图⽚的质量。

对于有复杂背景,如在有颜⾊过渡背景上插⼊不规则边框的图⽚,带来极⼤和便利! 但⽬前IE中对于插⼊的透明背景的png的图⽚是不能正常显⽰的,IE会⾃动给".png"格式的图⽚加个灰⾊背景。

解决这个的⽅法是增加javascript,具体⽅法有两种: 第⼀种:把下⾯的代码放在head区就可以解决问题了。

<script language="javascript">function correctPNG(){for(var i=0; i<document.images.length; i++){var img = document.images[i]var imgName = img.src.toUpperCase()if (imgName.substring(imgName.length-3, imgName.length) == "PNG"){var imgID = (img.id) ? "id='" + img.id + "' " : ""var imgClass = (img.className) ? "class='" + img.className + "' " : ""var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "var imgStyle = "display:inline-block;" + img.style.cssTextif (img.align == "left") imgStyle = "float:left;" + imgStyleif (img.align == "right") imgStyle = "float:right;" + imgStyleif (img.parentElement.href) imgStyle = "cursor:hand;" + imgStylevar strNewHTML = "<span " + imgID + imgClass + imgTitle+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"img.outerHTML = strNewHTMLi = i-1}}}window.attachEvent("onload", correctPNG);</script> 第⼆种:把这段代码单独加在⼀张图⽚上:<spanstyle="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='你的图⽚名称.png',sizingMethod='scale');"></span>⽬前⼤部分浏览器对PNG的⽀持并不完善,IE虽然可以显⽰PNG图⽚,但如果PNG图⽚中含有透明部分,那么透明部分的显⽰就不正常了。

如何使用Photoshop制作透明背景的PNG图像

如何使用Photoshop制作透明背景的PNG图像

如何使用Photoshop制作透明背景的PNG图像Photoshop是一款功能强大的图像编辑软件,广泛应用于广告设计、网页设计以及个人创作等领域。

在许多设计项目中,透明背景的PNG图像经常被用于与其他图像或背景进行融合。

下面将介绍使用Photoshop制作透明背景的PNG图像的详细步骤。

步骤一:准备工作1. 安装并打开Photoshop软件。

2. 导入需要制作透明背景的图像。

你可以通过点击“文件”菜单中的“打开”选项来导入图像,或者直接拖动图像到Photoshop的工作区。

步骤二:选择工具1. 在Photoshop的工具栏中选择“魔术棒工具”。

这个工具可以帮助我们快速选择背景部分。

2. 调整工具选项栏中的魔术棒工具的“容差”数值。

容差数值越大,选取的范围越宽松。

步骤三:选择并删除背景1. 使用魔术棒工具点击背景区域。

你可以通过按住Shift键并点击多个区域来可以一次选择多个区域。

2. 当你完成选取背景后,按下“Delete”键(Windows)或“Backspace”键(Mac)来删除背景。

步骤四:调整选择1. 如果发现仍有未选中的背景区域,可以尝试调整魔术棒工具的容差数值,或者使用“套索工具”等其他选择工具来补充选取。

步骤五:调整边缘1. 点击“选择”菜单中的“修改”选项,然后选择“扩展”。

输入一个适当的数值来扩展选取的边缘。

2. 如果需要对选取边缘进行平滑处理,点击“选择”菜单中的“修改”选项,然后选择“平滑”。

调整平滑选项来使边缘更加自然。

步骤六:保存为PNG图像1. 点击“文件”菜单中的“另存为”选项,然后选择PNG格式。

2. 在弹出的保存对话框中,选择一个保存路径和文件名,并点击“保存”。

通过以上步骤,你就可以成功使用Photoshop制作透明背景的PNG图像。

这样的图像可以方便地与其他图层或背景进行融合,提高设计效果和可编辑性。

使用Photoshop的强大功能,你能够轻松地创作出专业水准的透明背景PNG图像,满足各种设计需求。

png格式图片背景不透明问题解决

png格式图片背景不透明问题解决

png格式图⽚背景不透明问题解决⽅法⼀(CSS滤镜,某些时候不管⽤):⽅法⼆:(引⽤js⼯具类,成功)var DD_belatedPNG={ns:"DD_belatedPNG",imgSize:{},delay:10,nodesFixed:0,createVmlNameSpace:function(){if(spaces&&!spaces[this.ns]){spaces.add(this.ns,"urn:schemas-microsoft-com:vml")}},createVmlStyleSheet:function(){varb,a;b=document.createElement("style");b.setAttribute("media","screen");document.documentElement.firstChild.insertBefore(b,document.documentElement.firstChild.firstChild);if(b.styleSheet){b=b.styleSheet;b.addRule(this.ns+"\\:*","{behavior:url(#default#VML)}");b.addRule(this.ns+"\\:shape","position:absolute;");b.addRule("img."+this.ns+"_sizeFinder","behavior:none; border:none; position:absolute; z-index:-1; top:-10000px;visibility:hidden;");this.screenStyleSheet=b;a=document.createElement("style");a.setAttribute("media","print");document.documentElement.firstChild.insertBefore(a,document.documentElement.firstChild {display: none !important;}");a.addRule("img."+this.ns+"_sizeFinder","{display: none !important;}")}},readPropertyChange:function(){varb,c,a;b=event.srcElement;if(!b.vmlInitiated){return}if(event.propertyName.search("background")!=-1||event.propertyName.search("border")!=-1){DD_belatedPNG.applyVML(b)}if(event.propertyName=="style.display"){c=(b.currentStyle.display=="none")?"none":"block";for(a in b.vml){if(b.vml.hasOwnProperty(a)){b.vml[a].shape.style.display=c}}}if(event.propertyName.search("filter")!=-1){DD_belatedPNG.vmlOpacity(b)}},vmlOpacity:function(b){if(b.currentStyle.filter.search("lpha")!=-1){vara=b.currentStyle.filter;a=parseInt(a.substring(stIndexOf("=")+1,stIndexOf(")")),10)/100;b.vml.color.shape.style.filter=b.currentStyle.filter;b.vml.image.fill.opacity=a}},handlePseudoHover:function(a) {setTimeout(function(){DD_belatedPNG.applyVML(a)},1)},fix:function(a){if(this.screenStyleSheet){var c,b;c=a.split(",");for(b=0;b<c.length;b++){this.screenStyleSheet.addRule(c[b],"behavior:expression(DD_belatedPNG.fixPng(this))")}}},applyVML:function(a){a.runtimeStyle.cssText="";this.vmlFill(a);this.vmlOffsets(a);this.vmlOpacity(a);if(a.isImg){this.copyImageBorders(a)}},attachHandlers:function(i){var d,c,g,e,b,f;d=this;c= {resize:"vmlOffsets",move:"vmlOffsets"};if(i.nodeName=="A"){e={mouseleave:"handlePseudoHover",mouseenter:"handlePseudoHover",focus:"handlePseudoHover",blur:"handlePseudoHover"};for(b in e){if(e.hasOwnProperty(b)){c[b]=e[b]}}}for(f in c){if(c.hasOwnProperty(f)){g=function(){d[c[f]](i)};i.attachEvent("on"+f,g)}}i.attachEvent("onpropertychange",this.readPropertyChange)},giveLayout:function(a){a.style.zoom=1;if(a.currentStyle.position=="static"){a.style.position="relative"}},copyImageBorders:function(b){var c,a;c={borderStyle:true,borderWidth:true,borderColor:true};for(a in c){if(c.hasOwnProperty(a)){b.vml.color.shape.style[a]=b.currentStyle[a]}}},vmlFill:function(e){if(!e.currentStyle){return}else{var d,f,g,b,a,c;d=e.currentStyle}for(b in e.vml){if(e.vml.hasOwnProperty(b)){e.vml[b].shape.style.zIndex=d.zIndex}}e.runtimeStyle.backgroundColor="";e.runtimeStyle.backgroundImage="";f=true;if(d.backgroundImage!="none"||e.isImg){if(!e.isImg){e.vmlBg=d.backgroundImage;e.vmlBg=e.vmlBg.substr(5,stIndexOf('")')-5)}else{e.vmlBg=e.src}g=this;if(!g.imgSize[e.vmlBg]){a=document.createElement("img");g.imgSize[e.vmlBg]=a;a.className=g.ns+"_sizeFinder";a.runtimeStyle.cssText="behavior:none; position:absolute; left:-10000px; top:-10000px; border:none; margin:0; padding:0;";c=function(){this.width=this.offsetWidth;this.height=this.offsetHeight;g.vmlOffsets(e)};a.attachEvent("onload",c);a.src=e.vmlBg;a.removeAttribute("width");a.removeAttribute("height");document.body.insertBefore(a,do {var h,n,a,e,g,m,f,l,j,i,k;h=d.currentStyle;n={W:d.clientWidth+1,H:d.clientHeight+1,w:this.imgSize[d.vmlBg].width,h:this.imgSize[d.vmlBg].height,L:d.offsetLeft,T:d.offsetTop,bLW:d.clientLeft,bTW:d.clientTop};a=(n.L+n.bLW==1)?1:0;e=function(b,p,q,c,s,u){b.coordsize=c+","+s;b.coordorigin=u+","+u;b.path="m0,0l"+c+",0l"+c+","+s+"l0,"+s+"xe";b.style.width=c+"px";b.style.height=s+"px";b.style.left=p+"px";b.style.top=q+"px"};e(d.vml.color.shape,(n.L+(d.isImg?0:n.bLW)),(n.T+(d.isImg?0:n.bTW)),(n.W-1),(n.H-1),0);e(d.vml.image.shape,(n.L+n.bLW),(n.T+n.bTW),(n.W),(n.H),1);g={X:0,Y:0};if(d.isImg){g.X=parseInt(h.paddingLeft,10)+1;g.Y=parseInt(h.paddingTop,10)+1}else{for(j in g){if(g.hasOwnProperty(j)){this.figurePercentage(g,n,j,h["backgroundPosition"+j])}}}d.vml.image.fill.position=(g.X/n.W)+","+(g.Y/n.H);m=h.backgroundRepeat;f={T:1,R:n.W+a,B:n.H,L:1+a};l={X:{b1:"L",b2:"R",d:"W"},Y:{b1:"T",b2:"B",d:"H"}};if(m!="repeat"||d.isImg){i={T:(g.Y),R:(g.X+n.w),B:(g.Y+n.h),L:(g.X)};if(m.search("repeat-")!=-1){k=m.split("repeat-")[1].toUpperCase();i[l[k].b1]=1;i[l[k].b2]=n[l[k].d]}if(i.B>n.H){i.B=n.H}d.vml.image.shape.style.clip="rect("+i.T+"px "+(i.R+a)+"px "+i.B+"px "+(i.L+a)+"px)"}else{d.vml.image.shape.style.clip="rect("+f.T+"px "+f.R+"px "+f.B+"px "+f.L+"px)"}},figurePercentage:function(d,c,f,a){var b,e;e=true;b=(f=="X");switch(a){case"left":case"top":d[f]=0;break;case"center":d[f]=0.5;break;case"right":case"bottom":d[f]=1;break;default:if(a.search("%")!=-1){d[f]=parseInt(a,10)/100}else{e=false}}d[f]=Math.ceil(e?((c[b?"W":"H"]*d[f])-(c[b?"w":"h"]*d[f])):parseInt(a,10));if(d[f]%2===0){d[f]++}return d[f]},fixPng:function(c){c.style.behavior="none";var g,b,f,a,d;if(c.nodeName=="BODY"||c.nodeName=="TD"||c.nodeName=="TR"){return}c.isImg=false;if(c.nodeName=="IMG"){if(c.src.toLowerCase().search(/\.png$/)!=-1){c.isImg=true;c.style.visibility="hidden"}else{return}}else{if(c.currentStyle.backgroundImage.toLowerCase().search(".png")==-1){return}}g=DD_belatedPNG;c.vml={color:{},image:{}};b={shape:{},fill:{}};for(a in c.vml){if(c.vml.hasOwnProperty(a)){for(d in b){if(b.hasOwnProperty(d)){f=g.ns+":"+d;c.vml[a][d]=document.createElement(f)}}c.vml[a].shape.stroked=false;c.vml[a].shape.appendChild(c.vml[a].fill);c.parentNode.insertBefore(c.vml[a].shape,c)}}c.vml.image.shape.fillcolor="none";c.vml.image.fill.typ {}DD_belatedPNG.createVmlNameSpace();DD_belatedPNG.createVmlStyleSheet();调⽤⽅式(fix⾥⾯的参数为css类):window.onload = function(){DD_belatedPNG.fix(".msg0,.msg");}。

png图片不透明解决

png图片不透明解决

png图片不透明解决用FW将导航图片保存时选择PNG6以及索引透明,保存了先png透明解决第 1 种方法:定义一个样式,给某个div应用这个样式后,div的透明png背景图片自动透明了。

(注意两处图片的路径写法不一样,本例中,icon_home.png 图片与html文件在相同目录)<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title><style type="text/css"><!--.qq {height: 90px;width: 90px;background-image: url(icon_home.png)!important;/* FF IE7 */ background-repeat: no-repeat;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='icon_home.png '); /* IE6 */_ background-image: none; /* IE6 */}--></style></head><body><div class="qq"></div></body></html>第 2 种方法: 给img定义样式,页面上所有透明png即自动透明了。

完美解决透明图片背景在各个浏览器中的兼容问题

完美解决透明图片背景在各个浏览器中的兼容问题

完美解决透明png图片及透明png背景,兼容所有浏览器*将以下代码保存为png.js*/function correctPNG(){for(var i=0; i<document.images.length; i++){var img = document.images[i]var imgName = img.src.toUpperCase()if (imgName.substring(imgName.length-3, imgName.length) == "PNG"){var imgID = (img.id) ? "id='" + img.id + "' " : ""var imgClass = (img.className) ? "class='" + img.className + "' " :""var imgTitle = (img.title) ? "title='" + img.title + "' " :"title='" + img.alt + "' "var imgStyle = "display:inline-block;" + img.style.cssTextif (img.align == "left") imgStyle = "float:left;" + imgStyleif (img.align == "right") imgStyle = "float:right;" + imgStyleif (img.parentElement.href) imgStyle = "cursor:hand;" + imgStylevar strNewHTML = "<span " + imgID + imgClass + imgTitle+ " style=\"" + "width:" + img.width + "px; height:" + img.height +"px;" + imgStyle + ";"+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"img.outerHTML = strNewHTMLi = i-1}}}window.attachEvent("onload", correctPNG);在body下<script type="text/javascript" src="inc/png.js"></script>如果在网页中直接插入png图片想使其透明只需加入以下js代码,整个页面内的所有直接插入的png图片都可以实现透明:<script language="JavaScript">function correctPNG() // correctly handle PNG transparency in Win IE5.5 &6.{var arVersion = navigator.appVersion.split("MSIE")var version = parseFloat(arVersion[1])if ((version >= 5.5) && (document.body.filters)){for(var j=0; j<document.images.length; j++){var img = document.images[j]var imgName = img.src.toUpperCase()if (imgName.substring(imgName.length-3, imgName.length) =="PNG"){var imgID = (img.id) ? "id='" + img.id + "' " : ""var imgClass = (img.className) ? "class='" +img.className + "' " : ""var imgTitle = (img.title) ? "title='" + img.title + "'" : "title='" + img.alt + "' "var imgStyle = "display:inline-block;" +img.style.cssTextif (img.align == "left") imgStyle = "float:left;" +imgStyleif (img.align == "right") imgStyle = "float:right;" +imgStyleif (img.parentElement.href) imgStyle = "cursor:hand;" +imgStylevar strNewHTML = "<span " + imgID + imgClass + imgTitle+ " style=\"" + "width:" + img.width + "px; height:" +img.height + "px;" + imgStyle + ";"+"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"+ "(src=\'" + img.src + "\',sizingMethod='scale');\"></span>"img.outerHTML = strNewHTMLj = j-1}}}}window.attachEvent("onload", correctPNG);</script>--------------------------------------------------------------------如果是想使用png做背景透明的话,需要用到css滤镜和hack:html>body .png { background:url(1.png); width:300px; height:100px;border:#000 solid 1px;}/* ie6 */* html .png { filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=scale, src='1.png');background:none; width:300px; height:100px; border:#000 solid1px;}============================================IE6不支持PNG半透明图片的缺陷为web设计带来了极大的不便,之前曾经介绍过用滤镜+hack的方法实现显示PNG,不过实现起来相当繁琐。

如何在Adobe Photoshop中制作透明背景的PNG图片

如何在Adobe Photoshop中制作透明背景的PNG图片

如何在Adobe Photoshop中制作透明背景的PNG图片Adobe Photoshop作为一款强大的图像处理软件,被广泛应用于设计和编辑领域。

其中,制作透明背景的PNG图片是其常见的应用之一,本文将介绍如何在Adobe Photoshop中实现这一操作。

第一步,打开图片文件首先,打开Adobe Photoshop软件,并选择“文件”菜单下的“打开”选项,找到你要编辑的图片文件并打开。

在打开的图片文件中,我们可以看到默认的背景色为白色。

第二步,选择透明背景在工具栏中找到“魔术棒工具”或“套索工具”,用鼠标点击选择其中一个工具。

然后,在图片上点击鼠标左键,这样Photoshop就会根据你的选择范围自动划定一个选区。

第三步,删除背景接下来,按下键盘上的“Delete”键或“Backspace”键,即可将选区内的背景部分删除。

此时,你会发现背景被变为透明色,只剩下前景图像。

第四步,保存为PNG格式保存为透明背景的PNG图片是接下来的关键步骤。

选择“文件”菜单下的“存储为”选项,在弹出的对话框中选择保存路径,并将文件格式选择为“PNG”。

点击“保存”按钮后,会再次弹出一个对话框,确认选择“透明区域”选项,以确保背景透明性的保持。

第五步,调整透明度(可选)如果你觉得透明度不够理想,可以通过调整图层的透明度来进一步优化。

在图层面板中,找到你的图层,并将透明度滑块往左滑动,以降低透明度。

你可以不断尝试,直到达到你满意的效果为止。

总结通过以上步骤,我们可以轻松地在Adobe Photoshop中制作透明背景的PNG图片。

这种PNG图片常被用于网页设计、产品展示等需要透明背景的场合。

不仅如此,Photoshop还提供了其他丰富的编辑功能,例如图像调整、图层混合等,可根据个人需求进行进一步的优化和编辑。

然而,初次使用Photoshop可能会比较复杂,需要一定的时间和耐心去掌握各种工具和功能。

因此,建议初学者可以通过查阅官方文档、在线教程或参加相关培训课程来提升自己的技能。

渴切-开源中文css框架之基于jQuery的PNG透明插件

渴切-开源中文css框架之基于jQuery的PNG透明插件
后 来我发现了一个比较完美的解决IE6不支持PNGJS插件,position与background-repeat它支持backgrond- position与background-repeat.这是其他js插件不具备的.同时还支持a:hover属性。没这个强大但比这个完美些。可点击查 看。
<script type="text/javascript" src="js/jquery.pngFix.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(document).pngFix();
在IE6下如何解决但本人还是发表一下,推荐一下这个用jQuery实现的好方法,很不错。
原作者地址:http://jquery.andreaseberhard.de/pngFix/
翻译及整理:Beautycss
本方法介绍:
优点:1.HTML里的代码简洁,使用方便,兼容性好。
2.支持插入的PNG图透明,链接的PNG图透明,作为层背景的PNG图透明,作为按钮的背景PNG图透明等等。
缺点:PNG作为背景图透明, 需要给背景层设置与背景图相同的大小。如果层的尺寸大于背景图的尺寸,背景图会发虚。不过这也只是小问题,好解决。
});
</script>
注:以上方法经过本人测试,保证没有问题。
文件下载:Download pngFix.zip
看原文请到原作者网站:http://jquery.andreaseberhard.de/pngFix/

png图片不透明解决

png图片不透明解决

png图片不透明解决用FW将导航图片保存时选择PNG6以及索引透明,保存了先png透明解决第 1 种方法:定义一个样式,给某个div应用这个样式后,div的透明png背景图片自动透明了。

(注意两处图片的路径写法不一样,本例中,icon_home.png 图片与html文件在相同目录)<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title><style type="text/css"><!--.qq {height: 90px;width: 90px;background-image: url(icon_home.png)!important;/* FF IE7 */ background-repeat: no-repeat;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='icon_home.png '); /* IE6 */_ background-image: none; /* IE6 */}--></style></head><body><div class="qq"></div></body></html>第 2 种方法: 给img定义样式,页面上所有透明png即自动透明了。

实现控件的透明背景

实现控件的透明背景

实现控件的透明背景首先,我们需要明确一点,实现控件的透明背景有两种常见的方式:使用透明背景图片或者使用代码设置控件的透明度。

接下来,我们将分别介绍这两种方式的实现方法。

一、使用透明背景图片使用透明背景图片是实现控件透明背景的一种常见方法。

下面是一个使用透明背景图片的控件透明背景效果的示例代码:```java// 创建一个透明背景的Drawable对象Drawable transparentDrawable = newColorDrawable(android.R.color.transparent);//设置控件的背景为透明yourView.setBackground(transparentDrawable);```在上述代码中,首先我们创建了一个透明背景的Drawable对象,然后将该对象设置为控件的背景。

这样就实现了控件的透明背景。

二、使用代码设置透明度除了使用透明背景图片外,我们还可以使用代码设置控件的透明度来实现控件的透明背景。

下面是一个使用代码设置透明度的控件透明背景效果的示例代码:```java//设置控件的透明度为50%yourView.setAlpha(0.5f);```在上述代码中,我们通过设置控件的透明度为0.5f(取值范围为0.0f到1.0f)来实现控件的透明背景。

数值越小,透明度越高。

三、控件透明背景的限制需要注意的是,控件透明背景的实现有一些限制。

首先,在使用透明背景图片的方式时,透明背景图片的本身绘制效果需要注意。

其次,在使用代码设置透明度的方式时,控件的透明背景只对直接子元素生效。

如果控件包含多个子元素,不同子元素的透明度设置可能会相互叠加,导致不符合预期的效果。

对于第一个限制,我们可以通过使用合适的透明背景图片来解决。

对于第二个限制,我们可以使用额外的容器来包裹控件,并将透明背景和控件放置在容器中,并设置透明度。

下面是一个使用额外容器解决透明度叠加问题的示例代码:```xml<FrameLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"<ImageViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:alpha="0.5"/><YourViewandroid:layout_width="match_parent"android:layout_height="wrap_content".../></FrameLayout>```在上述代码中,我们使用了一个FrameLayout容器来包裹控件和透明背景图片,并将透明背景图片设置为ImageView的背景。

实现png图片和png背景透明的代码

实现png图片和png背景透明的代码

实现png图片和png背景透明的代码(支持多浏览器)Firefox和Opera对PNG的支持非常的好,都是IE却无视PNG图片这一特性的“存在”,虽然IE7已经支持都是IE6还是不行。

虽然有让IE6支持PNG透明背景的JS程序,都是不是很方便,还是用CSS来实现的好。

使用到的就是:IE5.5+的AlphaImageLoader 滤镜。

1.png背景透明解决办法#div1 {height: 600px;width: 260px;padding: 20px;background-repeat: repeat;}html>body #div1 {background-repeat: repeat;background-image: url(bj1.png);}* #div1 {filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="bj1.png")}附加:IE才识别的通配符(*),来定义IE浏览器中的滤镜Firefox、Opera等完全支持PNG透明图片的浏览器也支持子选择器(>)语法:filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled=bEnabled , sizingMethod=sSize , src=sURL )属性:enabled : 可选项。

布尔值(Boolean)。

设置或检索滤镜是否激活。

true | false true : 默认值。

滤镜激活。

false : 滤镜被禁止。

sizingMethod : 可选项。

字符串(String)。

设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。

crop : 剪切图片以适应对象尺寸。

image : 默认值。

js 计算png 非透明区域 算法

js 计算png 非透明区域 算法

js 计算png 非透明区域算法要计算PNG图像中非透明区域的算法,你可以使用JavaScript配合Canvas API来实现。

以下是一个基本的步骤说明和示例代码,该代码将帮助你找到PNG图像中非透明像素的数量。

步骤说明加载图像:首先,你需要将PNG图像加载到HTML的<img>元素或Canvas上。

创建Canvas:创建一个Canvas元素,并绘制加载的图像。

遍历像素:使用getImageData()方法获取图像的数据,然后遍历每个像素的alpha通道值。

检查透明度:对于每个像素,检查其alpha值。

如果alpha值不是完全透明的(即大于0),则增加非透明像素的计数器。

输出结果:最后,输出或返回非透明像素的数量。

示例代码html<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Non-Transparent PNG Area Calculator</title></head><body><img id="pngImage" src="your-png-image.png" alt="PNG Image" style="display: none;"><script>const pngImage = document.getElementById('pngImage');const canvas = document.createElement('canvas');const ctx = canvas.getContext('2d');pngImage.onload = function() {canvas.width = pngImage.width;canvas.height = pngImage.height;ctx.drawImage(pngImage, 0, 0, pngImage.width, pngImage.height);const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);let nonTransparentCount = 0;for (let i = 0; i < imageData.data.length; i += 4) {const alpha = imageData.data[i + 3];if (alpha > 0) {nonTransparentCount++;}}console.log(`Non-transparent pixels: ${nonTransparentCount}`);};</script></body></html>注意事项这个算法可能对于大型图像来说效率不高,因为它需要遍历图像中的每个像素。

如何让图片背景变透明透明图片制作方法

如何让图片背景变透明透明图片制作方法

高薪职业
首先下载Ulead GIF Animator软件(仅5M,非常小巧),下载地址请进入百度网盘下载:
1、下载之后请解压,以上是绿色版本,无需安装,解压后,进入UleadGIFAnimator-v5.05目录,找到“Ulead GIF Animator 5”直接运行即可打开软件,如下图:
打开Ulead GIF Animator 5软件
2、打开软件之后,首先选择顶部的文件菜单里面的打开需要处理的图片文件,如下图:
打开需要处理的图片文件
3、然后选择“魔术棒”工具,再点击图片,使图片出虚线框,如下图:
使用魔术棒工具?
4、之后呢再选择一下“选取工具”,然后再点击图片选中图片,最后再按下电脑键盘上的Del键,即可让图片的背景变成透明状了,如下图:
删除图片背景
5、制作完了就可以保存了,如果你想换个其他背景的话,请再在顶部“文件”菜单下选择“添加图像”即可,如下图:
添加图像
?
您可以添加一些自己喜欢的背景图片,即可实现为图片换背景或者场景了,如果只显示背景。

那么注意一下在右侧的图层顺序调整,把背景图层拖至底部即可,这里就不介绍了,大家自己去研究下。

?
5、图片弄好了,注意需要保存为GIF格式喔,其他格式图片不能完成的保留透明背景,如果你已经换了背景,不需要透明,那么也可以生成其他图片格式,如下图。

文件菜单里选择另存图片保存
介绍到这里,相信大家对于如何让图片背景变透明已经明白了,大家可以想象一个,也可以将自己的背景图片换掉,不过需要背景颜色比较单一的情况下会比较好换,背景太复杂魔术棒工具也很难选取背景,那么建议使用专业的PS软件处理吧。

解析智能手机拍摄出高质量图片的技巧:。

用js解决png图片方法

用js解决png图片方法

用js解决png图片方法今天介绍DD_belatedPNG,只需要一个理由,就是它支持backgrond-position与background-repeat.这是其他js插件不具备的.我们知道IE6是不支持透明的PNG的,这无疑限制了网页设计的发挥空间.然而整个互联网上解决这个IE6的透明PNG的方案也是多不胜数,从使用IE特有的滤镜或是expression,再到javascript+透明GIF替代.但是这些方法都有一个缺点,就是不支持CSS中backgrond-position 与background-repeat.而我今天介绍DD_belatedPNG,只需要一个理由,就是它支持backgrond-position与background-repeat.这是其他js插件不具备的.同时DD_belatedPNG还支持a:hover属性,以及<img>.看Demo原理这个js插件使用了微软的VML语言进行绘制,而其他多数解决PNG问题的js插件用的是AlphaImageLoader滤镜.使用方法1.在这里下载DD_belatedPNG.js文件.2.在网页中引用,如下:复制代码代码如下:<!--[if lte IE 6]><script src="Js/DD_belatedPNG_0.0.8a.js" type="text/javascript"></script><script type="text/javascript">DD_belatedPNG.fix('div, ul, img, li, input , a, .png_bg');/* 将 .png_bg 改成你应用了透明PNG的CSS选择器*/</script><![endif]-->3.有2种调用函数,一种是DD_belatedPNG.fix(),如上代码.另一种是fix(),这中方法需要在函数内指出css选择器名.使用a:hover请留意5-25更新:如果你也像jutoy同学一样想要用透明PNG作为a:hover时的背景图片,那么你需要留意你的代码,需要以”a:hover”来作为选择器.否则可能会导致无法成功.同时我也更新了demo,请需要的更新查看.接着我们看看正确的代码:复制代码代码如下:<!--[if IE 6]><script type="text/javascript" src="js/DD_belatedPNG.js" ></script><script type="text/javascript">DD_belatedPNG.fix('.trans,.box a:hover');</script><![endif]-->其他方案在这里还是提供其他方案供大家参考.•Unit PNG Fix•ie7-js•IE PNG Fix。

js将颜色转透明度的函数

js将颜色转透明度的函数

js将颜色转透明度的函数JavaScript是现代Web开发中不可或缺的一种编程语言,它在增强网页交互性和动态性方面功不可没。

当涉及颜色变换时,JavaScript也有其独特的处理方式,比如将颜色转为透明度的函数。

下面我们来一起分步骤地学习这个函数。

第一步,理解颜色代码在学习怎样将颜色转为透明度之前,我们需要先理解颜色代码。

在Web中,我们通常使用RGB或HEX代码表示颜色。

RGB代码由三个数字组成,分别代表红色、绿色和蓝色的亮度,取值范围是0-255。

例如,红色的RGB代码为“255, 0, 0”。

HEX代码由六位16进制数表示,每两位代表红、绿、蓝三个颜色通道的数值。

例如,红色的HEX代码为“#FF0000”。

第二步,编写透明度函数JavaScript提供了一种从RGB或HEX代码中提取透明度的方法。

我们可以使用“rgba”或“hsla”颜色格式,其中“a”代表透明度。

例如,使用RGB代码为“255,0,0”,透明度为0.5,可以用rgba格式表示为“rgba(255,0,0,0.5)”;使用HEX代码为“#FF0000”,透明度为0.5,可以用rgba格式表示为“rgba(255,0,0,0.5)”或hsla格式表示为“hsla(0,100%,50%,0.5)”(hsla中的颜色表示为0度,即红色,饱和度为100%,亮度为50%)。

在JavaScript中,我们可以使用以下函数将颜色代码转为透明度:```javascriptfunction addAlpha(colorCode, alpha) {// 将HEX颜色代码转为RGB格式if (colorCode.charAt(0) === '#') {colorCode = colorCode.slice(1);var r = parseInt(colorCode.substring(0,2),16),g = parseInt(colorCode.substring(2,4),16),b = parseInt(colorCode.substring(4),16);return 'rgba(' + r + ',' + g + ',' + b + ',' + alpha + ')';}// 将RGB颜色代码转为RGBA格式else if (colorCode.slice(0,4) === 'rgb(') {var rgb = colorCode.slice(4,-1).split(',');return 'rgba(' + rgb[0] + ',' + rgb[1] + ',' + rgb[2] + ',' + alpha + ')';}// 处理非法输入else {return colorCode;}}```这个函数将颜色代码和透明度作为参数,返回对应的RGBA格式颜色代码。

透明图片的制作

透明图片的制作

透明图片的制作
想要制作以上透明图片效果,首先须有一套合适的图形编辑软体,例如:
LView或Paint Shop Pro都有此功能,在此以Paint Shop Pro为例:
1.开启所需要的图档,将背景色,也就是想变成透明的地方,改成前景所没有的颜色.
2.将图片存成GIF格式,关闭再重新开启一次,如图片原就是GIF格式即可省略此步骤.
3.选择工具bar上的滴管,将滴管移到要变成透明的地方,此时最下方的状态列会出现I:5,5为此颜色的值,依颜色不同此值会不同,记下此值.
4.选择Save As,在存档视窗中的左下角有File Sub-format的选项,选择Version 89a-Noninterlaced.
5.按下右方Options会列出四个选项,选择最後一项Set the Transparency Value to在後面的空格填上刚才记下的I值,再按下OK,再存档即可完成透明图片的制作.
注意事项:
1.尽量不要用会失真的图形格式如JPG来转成GIF,才不会造成转为透明图片後有杂点产生.
2.变成透明的颜色必须为前景所没有的,以免造成不想透明的地方也变成透明.
3.虽然变成透明图片,原来图片的边缘还是存在的,如要限定图片的位置,就必须将透明的边缘考虑进去.
4.如图片边缘有阴影效果,则最好将要透明的颜色设为与HomePage的底色相同以免造成阴影部份不自然的现象.。

XNA透明图片制作详细步骤

XNA透明图片制作详细步骤

XNA透明图片制作详细步骤原BMP图片一、透明PNG制作1.把bmp图片拖入ps工作区2.用魔棒选择背景3.从选择菜单选择“反向”,然后按Ctrl+C复制选择的区域图形4.从菜单选择新建图层5.按默认值,选择确定6.选择新建的图层,按Ctrl+V粘贴选择的图形7.隐藏背景图层8.从菜单选择存为Web所用格式9.选择PNG-8或其他PNG格式,然后点击存储,输出如下图所示图片10.导入到XNA的Content工程中,如:xyzp.png,然后用如下代码绘制,然后可以看到下图结果背景透明了。

protected override void LoadContent(){spriteBatch = new SpriteBatch(GraphicsDevice);xyz = Content.Load<Texture2D>("Images\\xyzp");}protected override void Draw(GameTime gameTime){GraphicsDevice.Clear(Color.CornflowerBlue);spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend);spriteBatch.Draw(xyz,new Rectangle(0, 0, xyz.Width, xyz.Height),Color.White);spriteBatch.End();base.Draw(gameTime);}}二、透明TGA制作紧接“一、透明PNG制作”的“7.隐藏背景图层”后,进行如下操作1.选择图层1,然后用魔棒选择背景2.从选择菜单中选“反向”,选中图形3.切换至通道页签,选择将选取存储为通道,如下图所示4.选中除Alpha1通道之外的所有通道5.从菜单中选择存储为…6.选择Targa格式,勾选Alpha通道,然后选择保存7.在弹出的对话框中选默认选项,输出如下图所示xyzt.tga10.导入到XNA的Content工程中,如:xyzt.tga,然后用如下代码绘制,然后可以看到下图结果背景透明了。

js点击图片生成黑色透明背景图片居中查看效果代码

js点击图片生成黑色透明背景图片居中查看效果代码

<!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8"><title></title><style>*{ margin:0;padding:0;}#test{position:absolute;left:0px;top:0px;background-color:#000;filter:alpha(opacity=50);]#-moz-opacity:0.5;#opacity:0.5;background:rgba(0,0,0,0.5)}</style><script>function imgMax(img){var browsH = document.documentElement.clientHeight;var browsW = document.documentElement.clientWidth;var i = new Image(); //新建一个图片对象i.src = img.src;//将图片的src属性赋值给新建的图片对象的srcvar realH=i.height; //图片真实高度var realW=i.width;//图片真实宽度//alert(realH);//alert(realW);var imgH = img.height;// 图片定义高度var imgW = img.width;// 图片定义宽度//开始生成odiv=document.createElement('div');odiv.setAttribute('id','test');odiv.style.height = browsH+'px';odiv.style.width = browsW+'px';document.body.appendChild(odiv);oimg=document.createElement('img');oimg.setAttribute('src',img.src);if(realH >= imgH || realW >= imgW){var oimgPositionT=parseInt((browsH-realH)/2);var oimgPositionL=parseInt((browsW-realW)/2);oimg.style.width=realW+'px';oimg.style.height=realH+'px';}else{var oimgPositionT=parseInt((browsH-imgH)/2);var oimgPositionL=parseInt((browsW-imgW)/2);oimg.style.width=imgW+'px';oimg.style.height=imgH+'px';}oimg.style.position='absolute';oimg.style.top=oimgPositionT+'px';oimg.style.left=oimgPositionL+'px';document.getElementById('test').appendChild(oimg);var div = document.getElementById("test");if(div.addEventListener){div.addEventListener("click",delDiv,false);}else if(div.attachEvent){div.attachEvent("onclick",delDiv);}globalImg=img;}window.onresize=function(){if(globalImg){odiv=document.getElementById('test');document.body.removeChild(odiv);imgMax(globalImg);}}function delDiv(){odiv=document.getElementById('test');document.body.removeChild(odiv);}window.onscroll=function(){if(globalImg){odiv=document.getElementById('test');document.body.removeChild(odiv);imgMax(globalImg);}}</script></head><body><img src="./2.jpg" onclick="imgMax(this)" width="300px" height="200px"/> </body></html>。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
img.outerHTML = strNewHTML
第一种:把下面的代码放在head区就可以解决问题了。
<script language="javascript">
function correctPNG()
{
for(var i=0; i<document.images.length; i++)
{
var img = document.images[i]
if (navigator.appName!="Microsoft Internet Explorer") {return false}
return true
}
function correctPNG()
{
for(var i=0; i<document.images.length; i++)
img.width=LW
img.height=LH
}
}
}
if (isIE()) {window.attachEvent("onload", correctPNG);}
</script>
点评:这种方法确实能解决这个问题,但是如果不是在本地调试,通常需要一段时间的转换!
方法三:
} else {
document.getElementById('logo').innerHTML="<img style=\"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=/images/header.png, sizingmethod=scale);width:200px;height:50px;\" src=\"/images/transparent.gif\" width=\"200\" height=\"50\" alt=\"站长吧 \" />"
i = i-1
}
}
}
window.attachEvent("onload", correctPNG);
</script>
第二种:把这段代码单独加在一张图片上:
<span
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='你的图片名称.png',sizingMethod='scale');"></span>
png图片有很好的品质,阴影效果也不会有杂边,很流畅。如果插入网页的话可以给网站内容增色不少!更重要的是在不增加图片容量大小的情况下提高了页面的图片的质量。对于有复杂背景,如在有颜色过渡背景上插入不规则边框的图片,带来极大和便利!
பைடு நூலகம்
但目前IE中对于插入的透明背景的png的图片是不能正常显示的,IE会自动给".png"格式的图片加个灰色背景。解决这个的方法是增加javascript,具体方法有两种:
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
}
</script>
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
点评:这种方法虽然较好的解决了IE 5+的浏览器,但却得本来能正常显示透明PNG图片的FireFox无法正常显示!
方法二:
<script type="text/javascript">
// PNG纠正控件 1.0 For IE 5.5或更高.
// 作者:舜子
function isIE(){
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id='" + img.id + "' " : ""
{
img.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+img.src+", sizingmethod=scale);"
img.src="/transparent.gif"//transparent.gif为1px*1px的透明gif图片
{
var img = document.images
var LW=img.width
var LH=img.height
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
<div>
<script type="text/javascript">
if (navigator.appName!="Microsoft Internet Explorer") {
document.getElementById('logo').innerHTML="<img src=\"/images/header.png\" width=\"200\" height=\"50\" alt=\"站长吧 \" />"
} else {
document.write("<img style=\"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=/images/header.png, sizingmethod=scale);width:200px;height:50px;\" src=\"{$rootpath}/images/transparent.gif\" width=\"200\" height=\"50\" alt=\"站长吧 \" />");
目前大部分浏览器对PNG的支持并不完善,IE虽然可以显示PNG图片,但如果PNG图片中含有透明部分,那么透明部分的显示就不正常了。
解决这个问题大致有以下方法(其原理都是通过AlphaImageLoader滤镜来解决)。
方法一:
<div style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=/images/header.png);width:200px;height:50px"></div>
var imgStyle = "display:inline-block;" + img.style.cssText
if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
<div id="header"><!--此DIV为需要插入PNG图片的区域-->
相关文档
最新文档