久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

HTML5 Canvas畫線技巧――實現繪制一個像素寬的細

HTML5 Canvas畫線技巧――實現繪制一個像素寬的細線_html5教程技巧HTML5中文學習網,是中國最大的HTML5中文門戶,為廣大HTML5愛好者提供各種HTML5資料,包括HTML5網站、HTML5資訊、HTML5應用、
點評:繪制一個像素寬的細線,在使用HTML5 Canvas實現時要特別注意確保你的所有坐標點是整數,否則HTML5會自動實現邊緣反鋸齒,感興趣的朋友可以看下效果圖
正統的HTML5 Canvas中如下代碼

復制代碼
代碼如下:

ctx.lineWidth = 1;
ctx.beginPath();
ctx.moveTo(10, 100);
ctx.lineTo(300,100);
ctx.stroke();

運行結果繪制出來的并不是一個像素寬度的線

感覺怎么好粗啊,跟常常見到的網頁版各種繪制線效果

很不一樣,難道HTML5 Canvas就沒想到搞好點嘛

其實這個根本原因在于Canvas的繪制不是從中間開始的

而是從0~1,不是從0.5~1 + 0~0.5的繪制方式,所以

導致fade在邊緣,看上去線很寬。

解決方法有兩個,一個是錯位覆蓋法,另外一種是中心

平移(0.5,0.5)。實現代碼如下:

錯位覆蓋法我已經包裝成一個原始context的函數

復制代碼
代碼如下:

/**
* <p> draw one pixel line </p>
* @param fromX
* @param formY
* @param toX
* @param toY
* @param backgroundColor - default is white
* @param vertical - boolean
*/
CanvasRenderingContext2D.prototype.onePixelLineTo = function(fromX, fromY, toX, toY, backgroundColor, vertical) {
var currentStrokeStyle = this.strokeStyle;
this.beginPath();
this.moveTo(fromX, fromY);
this.lineTo(toX, toY);
this.closePath();
this.lineWidth=2;
this.stroke();
this.beginPath();
if(vertical) {
this.moveTo(fromX+1, fromY);
this.lineTo(toX+1, toY);
} else {
this.moveTo(fromX, fromY+1);
this.lineTo(toX, toY+1);
}
this.closePath();
this.lineWidth=2;
this.strokeStyle=backgroundColor;
this.stroke();
this.strokeStyle = currentStrokeStyle;
};

中心平移法代碼如下:

復制代碼
代碼如下:

ctx.save();
ctx.translate(0.5,0.5);
ctx.lineWidth = 1;
ctx.beginPath();
ctx.moveTo(10, 100);
ctx.lineTo(300,100);
ctx.stroke();
ctx.restore();

要特別注意確保你的所有坐標點是整數,否則HTML5會自動實現邊緣反鋸齒

又導致你的一個像素直線看上去變粗了。

運行效果:

現在效果怎么樣,這個就是HTML5 Canvas畫線的一個小技巧

覺得不錯請頂一下。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了有關HTML5頁面在iPhoneX適配問題,需要的朋友可以參考下
本篇文章主要介紹了html5中canvas圖表實現柱狀圖的示例,本文使用canvas來實現一個圖表,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
Adobe公司出品的多媒體處理軟件產品線較多,涵蓋了音視頻編輯、圖像處理、平面設計、影視后期等領域。這篇文章主要介紹了Adobe Html5 Extension開發初體驗圖文教程,非常不錯,需要的朋
這篇文章主要介紹了基于HTML5的WebGL經典3D虛擬機房漫游動畫,需要的朋友可以參考下
這篇文章主要介紹了html5實現移動端適配完美寫法,需要的朋友可以參考下
本篇文章主要介紹了HTML5響應式(自適應)網頁設計的實現,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
主站蜘蛛池模板: 国产亚洲精品综合一区 | 国产视频一视频二 | 九色在线观看 | 日本中文字幕一区 | 亚洲欧美精品 | 亚洲精品欧美精品 | 久久久久国产精品免费免费搜索 | 高清不卡毛片 | 免费一级淫片aaa片毛片a级 | 亚洲欧美综合精品久久成人 | 亚洲精品成人在线 | 一区二区三区四区免费观看 | 欧美三级电影在线播放 | 成人在线免费电影 | 最新超碰 | 久久av一区 | 一级特黄网站 | 国产成人免费网站 | 日韩av成人在线观看 | 亚洲视频免费播放 | 国产精品福利在线 | 国产成人精品在线播放 | 亚洲视频一区在线 | 美国av毛片 | 色性av | 亚洲 中文 欧美 日韩 在线观看 | 国产精品久久久久久久久久久新郎 | 韩国主播午夜大尺度福利 | 欧美一区二区免费电影 | 日韩欧美在 | 久久亚洲精品国产精品紫薇 | 狠狠操狠狠操 | 国产精品福利网站 | 一区二区三区视频在线观看 | 成人免费观看视频 | 国产精品久久久久久久久久久久 | www.午夜| 国产第一区二区 | 国产高清免费视频 | 欧美日韩一区二区三区四区五区 | www,黄色,com|