最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Html5中Canvas畫線有毛邊怎么辦

這篇文章給大家分享的是有關(guān)Html5中Canvas畫線有毛邊怎么辦的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

10多年的旌陽網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整旌陽建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“旌陽網(wǎng)站設(shè)計”,“旌陽網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。

Html5 Canvas 所有的畫線指令畫出來的線條都有毛邊(比如 lineTo, arcTo,strokeRect),這是因為在Canvas中整數(shù)坐標(biāo)值對應(yīng)的位置恰巧是屏幕象素點中間的夾縫,那么當(dāng)按這樣的坐標(biāo)進(jìn)行線條渲染時所要用到的就是夾縫兩邊的象素點,這樣即便設(shè)置了lineWidth為1也將看到兩個象素效果的線條,解決方法原象素點+0.5進(jìn)行偏移。

下面是處理前后的效果比較:

  
  
  
      
    canvasTest  
      
      
        var MyCanvas = function(boxObj, width, height) {  
            //序號、計數(shù)  
            this.index = arguments.callee.prototype.Count = (arguments.callee.prototype.Count || 0) + 1;  
            var cvs = document.createElement("canvas");  
            cvs.id = "myCanvas" + this.index;  
            cvs.width = width || 800;  
            cvs.height = height || 600;  
            (boxObj || document.body).appendChild(cvs);  
            //excanvas框架中針對ie加載canvas延時問題手動初始化對象  
            if (typeof G_vmlCanvasManager != "undefined") G_vmlCanvasManager.initElement(cvs);  
            //2D畫布對象  
            this.ctx = cvs.getContext("2d");  
            /* * 繪制線條  
            * @ops JSON對象,可按實際支持屬性擴(kuò)展,示例:  { lineWidth:1,strokeStyle:'rgb(255,255,255)' }        
            * @dotXY:{ x:0, y:0 } ||[{ x:0, y:0 },{ x:0, y:0 }]  
            */  
            this.drawLine = function(dotXY, ops) {  
                this.ctx.beginPath();   
                for (var att in ops) this.ctx[att] = ops[att];  
                dotXY = dotXY.constructor == Object ? [dotXY || { x: 0, y: 0}] : dotXY;  
                this.ctx.moveTo(dotXY[0].x, dotXY[0].y);  
                for (var i = 1, len = dotXY.length; i < len; i++) this.ctx.lineTo(dotXY[i].x, dotXY[i].y);  
                this.ctx.stroke();  
            };  
        };  
        window.onload=function(){  
            var c1 = new MyCanvas();  
            c1.drawLine([{ x: 10, y: 10 }, { x: 10, y: 200 }],{lineWidth:2,strokeStyle:'rgb(0,0,0)'});  
            c1.drawLine([{ x: 11, y: 10 }, { x: 11, y: 200 }],{lineWidth:2,strokeStyle:'rgb(255,255,255)'});  
            c1.drawLine([{ x: 100, y: 10 }, { x: 100, y: 200 }],{lineWidth:1,strokeStyle:'rgb(0,0,0)'}); //普通線  
            c1.drawLine([{ x: 200.5, y: 10 }, { x: 200.5, y: 200 }],{lineWidth:1,strokeStyle:'rgb(0,0,0)'}); //+0.5偏移  
   
        }  
     
      
  
  
↓ 處理的  ↓ 普通的  ↓ +0.5偏移的  
  

Html5中Canvas畫線有毛邊怎么辦

感謝各位的閱讀!關(guān)于“Html5中Canvas畫線有毛邊怎么辦”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!


本文標(biāo)題:Html5中Canvas畫線有毛邊怎么辦
文章來源:http://fisionsoft.com.cn/article/gesihi.html