宁波网站建设中Canvas中的混合技术

发布时间:2014-12-26 21:42:56

宁波网站建设中Canvas中的混合技术

  混合(Compositing)
  Canvas中的混合技术有着非常多的数景及种类,但用在互联网上的不错的例子并不多。大多数混合技术都受限于自身的表现手法,但这正是我们要克服的问题。图0展示了globalCompositeOperation属性的有效关键词、它们的Porter-Duff混合(用斜体AB表示)以及绘制结果。
  首先我们绘出一个蓝色矩形作为背景,然后设定好混合方法,最后加上一个红色的圆。globalCompositeOperation使用了默认值source-over,代码如下:
  context.beginPath(.);
  context千illStyle='cornflowerblue';
  context.千;[^〈;1:(!50,50);
  context.globalCompositeOperation=*source-over';context.arc(50,50〉3*Math.PI^0);contextfillStyle=’crimson';context.fill();生成的图像如图0所示。
  圆为source(A),而矩形为destination(B)。让我们用Porter-Duff术语来解释一下不同的方法,这样我们可以更直观地深人了解。
  我们用source-over将A绘于B上t用source-in仅绘出A位于B中的部分丨用source-out仅绘出A在B之外的_分用source-atop绘出B以及A与B重叠的部分。第二行为上述的反例,我们在此略去详细解释。方法lighter为重叠区域添加颜色,并让其变浅。copy将B排除并只绘出A,而xor将A及B的重叠部分去掉。问号表明自定义合成方式同样有效,与getContext()方法类似。
  不幸的是,目前尚没有浏览器能完全支持混合功能,因此我们很难在浏览器上演示所有方法。我们会挑选出两个方法,并了解一些有关destination-in及lighter操作的案例。
  若使用destination-in将图像与文本合成,我们可以得到一个剪切效果,如图1所示。我们用drawImageO绘制出图像,设定合成方法,然后插人一段最大宽度为0像素的文本。文本的字体大小为像素,顶部居中,边框为60像素,交点和线端contextdrawlmage(image,00);context.globalCompositeOperation='destination-in';contextstrokeText(HTML5,0);浅灰色文本仍旧使用默认混合方法source-over绘制,因此不受其他效果影响。因为之前提到过的浏览器方面的不足,目前无法同时将数段文本同时定义为剪切。
  在第二个案例中,我们用lighter方法,对之前提到的图像颜色处理方法做了进一步扩展。图2使用lighter将约塞米蒂照片做成16个标准色的矩形,这比使用颜色滤镜monoColor()的CPU占用率更低,宁波网站建设认为详见节。
  context.drawlmage(img,1);context.globalCompositeOperation=’lighter1;context.rillStyle='blue';context.fillRect(1);我们将在1节的图7的镜面效果中再次提到混合操作destination-out。下面让我们来看下Caiwai中的自定义图案。
  本文由乐华网络编辑,转载请注明出处
  宁波网站建设www.leseo.net
上一篇:
目前流行的浏览器都具有自动完成(记忆用户在曾访问网站上所输人的内容)功能。自动完成功能相当有用,但在
下一篇:
可以激起构思的网站SEO仅仅网站优化的一小有些,一个SEO效果超卓的网站可以是一个差劲的网站,就好像
关于乐华
乐华介绍
乐华思维
人才招聘
使用条款
隐私保护
RSS订阅
网站地图
新闻动态
乐华观点
行业动态
频道介绍
服务介绍
案例展示
品牌研究
品牌理论
品牌体系
联系我们
400-680-2900
社会媒体
微信公众平台
微信公众平台