亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 關于canvas繪制模糊問題的解決方法

關于canvas繪制模糊問題的解決方法

熱門標簽:惡搞電話機器人 智能電銷機器人被禁用了么 ok電銷機器人 高德地圖標注商戶怎么標 電話機器人技術 黃石ai電銷機器人呼叫中心 如何查看地圖標注 地圖標注軟件打印出來 欣鼎電銷機器人 效果

模糊原因

首先,需要理解canvas的展示機制。

<canvas id="map" width="375" height="667"></canvas>

我繪制了一張375px的canvas,iphone6的寬度也是375px,ok,canvas鋪滿了整個屏幕。

那么canvas的大小就是375px,canvas類似于圖片,一張375px的圖片,我們就把它當做是圖片來看就好了。我,尖沙咀段坤說的。

如果遇到了屏幕寬度400px的手機,那么圖片會 拉伸,canvas也會拉伸,拉伸則必然會模糊。

那么iphone6確實是375px寬度的手機,還是會出現模糊問題,為什么呢?手機端會存在高清屏的問題。也就是我們說的2倍屏或者3倍屏,也叫作屏幕的DPI。高清屏在繪制界面時,會把2px的寬度渲染成1px,也就達到了高清的效果。也就是說,我們在高清屏下看到的375px其實是750個像素點繪制出來的,canvas其實是375px被拉伸到了750px再展示出來的,拉伸則必然會模糊。

好了,模糊的原因知道了,其實就是高清屏所帶來的麻煩,怎么解決呢?

解決方法

如果是2倍屏,我們把設計圖上375px的canvas畫成750px不就解決了?

設置canvas樣式

這里我們不寫width和height,而直接寫style。把它看成是圖片,我們先不管圖片原寬高是多少,不管拉伸還是壓縮,直接讓他鋪滿整個屏幕。style里寫的寬高不是圖片的原寬高,也就是style里寫的寬高并不是canvas的真實寬高

<canvas id="map" style="width: 375px;height:330px;"></canvas>

設置canvas寬高

上面的style并不是canvas的真實寬高,那么我們如何設置它的寬高呢?

普通屏,2倍屏,3倍屏如果分別適配?

<canvas id="map" style="width: 375px;height:330px;"></canvas>

<script>
let canvas = document.querySelector('#map');
// 獲取到屏幕倒是是幾倍屏。
let getPixelRatio = function(context) {
  var backingStore = context.backingStorePixelRatio ||
    context.webkitBackingStorePixelRatio ||
    context.mozBackingStorePixelRatio ||
    context.msBackingStorePixelRatio ||
    context.oBackingStorePixelRatio ||
    context.backingStorePixelRatio || 1;
   return (window.devicePixelRatio || 1) / backingStore;
};
 // iphone6下得到是2 
const pixelRatio = getPixelRatio(canvas);
// 設置canvas的真實寬高
canvas.width = pixelRatio * canvas.offsetWidth; // 想當于 2 * 375 = 750 
canvas.height = pixelRatio * canvas.offsetHeight;
</script>

那么canvas的寬高就變成了下圖這樣,750寬度的canvas,如果你是2倍屏我就剛好能夠適應!!!

設置后的寬高

開始畫點

比如,375的設計圖上,有一個半徑為2px的圓點,點的位置是x:100,y:100。

那么我們現在canvas的寬度是750,寬高變成了之前的2倍。為了視覺上位置保持不變,我們畫點的位置就應該是x:100*pixelRatio,y:100*pixelRatio。

完整代碼如下:

<canvas id="map" style="width: 375px;height:330px;"></canvas>

<script>
let canvas = document.querySelector('#map');
// 獲取到屏幕倒是是幾倍屏。
let getPixelRatio = function(context) {
  var backingStore = context.backingStorePixelRatio ||
    context.webkitBackingStorePixelRatio ||
    context.mozBackingStorePixelRatio ||
    context.msBackingStorePixelRatio ||
    context.oBackingStorePixelRatio ||
    context.backingStorePixelRatio || 1;
   return (window.devicePixelRatio || 1) / backingStore;
};
 // iphone6下得到是2 
const pixelRatio = getPixelRatio(canvas);
// 設置canvas的真實寬高
canvas.width = pixelRatio * canvas.offsetWidth; // 想當于 2 * 375 = 750 
canvas.height = pixelRatio * canvas.offsetHeight;

// 開始畫點
let ctx = canvas.getContext("2d");
ctx.beginPath();
 // 375設計圖上的位置和尺寸都應該*pixelRatio 因為我們現在的canvas是750
ctx.arc(100*pixelRatio, 100*pixelRatio, 2*pixelRatio, 0, 2 * Math.PI);
ctx.fillStyle = "#fff";
ctx.fill();
ctx.closePath();

// ...你的其他代碼
</script>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:金昌 中山 盤錦 赤峰 聊城 萍鄉 阿壩 綏化

巨人網絡通訊聲明:本文標題《關于canvas繪制模糊問題的解決方法》,本文關鍵詞  關于,canvas,繪制,模糊,問,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《關于canvas繪制模糊問題的解決方法》相關的同類信息!
  • 本頁收集關于關于canvas繪制模糊問題的解決方法的相關信息資訊供網民參考!
  • 推薦文章
    国产不卡在线观看| 久久久成人影院| 国产精品免费精品自在线观看| 国产伦久视频免费观看视频| 午夜在线观看视频免费 成人| 国产精品免费精品自在线观看| 国产伦精品一区二区三区无广告 | 青青久久国产成人免费网站| 国产综合成人观看在线| 香蕉视频久久| 国产精品123| 九九久久99| 欧美一级视频免费| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 亚洲www美色| 毛片的网站| 日本在线www| 国产成人精品综合| 欧美一级视频免费| 日韩在线观看视频黄| 久久精品成人一区二区三区| 国产精品123| 久久久成人影院| 一级毛片看真人在线视频| 国产成a人片在线观看视频| 日韩综合| 国产精品自拍亚洲| 黄色免费三级| 亚洲第一页色| 免费国产一级特黄aa大片在线| 日本在线www| 日本伦理网站| 久久国产精品自由自在| 99热精品一区| 黄色福利片| 成人免费观看的视频黄页| 香蕉视频久久| 精品久久久久久免费影院| 国产伦精品一区二区三区无广告 | 国产成a人片在线观看视频| 九九精品影院| 欧美激情一区二区三区视频| 99久久网站| 欧美国产日韩在线| 欧美国产日韩在线| 国产91丝袜高跟系列| 国产视频在线免费观看| 国产伦精品一区二区三区无广告 | 精品视频在线观看一区二区三区| 99久久精品国产免费| 九九精品影院| 国产成人精品综合| 亚洲第一页色| 日韩综合| 99热视热频这里只有精品| 精品视频免费观看| 国产一区二区高清视频| 欧美激情伊人| 亚洲不卡一区二区三区在线| 99久久精品国产免费| 国产一区二区精品久久| 99久久精品国产免费| 二级片在线观看| 青青久久国产成人免费网站| 国产一区二区高清视频| 中文字幕97| 高清一级片| 免费一级片在线观看| 精品久久久久久免费影院| 日韩综合| 九九免费精品视频| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产亚洲免费观看| 成人免费观看的视频黄页| 久久精品免视看国产明星| 久久国产一区二区| 精品久久久久久中文字幕一区| a级精品九九九大片免费看| 天堂网中文在线| a级精品九九九大片免费看| 日本免费看视频| 99热视热频这里只有精品| 一级片片| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日韩在线观看视频黄| 午夜在线观看视频免费 成人| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产麻豆精品免费密入口| 欧美激情伊人| 国产成人啪精品视频免费软件| 黄视频网站在线免费观看| 麻豆网站在线看| 九九久久99| 国产一区二区精品在线观看| 91麻豆精品国产自产在线| 久久国产精品自由自在| 九九久久99| 青青久久国产成人免费网站| 日日夜夜婷婷| 国产网站在线| 黄色免费三级| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日本在线www| 亚洲第一页色| 999久久66久6只有精品| 国产视频一区在线| 国产一级强片在线观看| 免费一级片在线观看| 国产一级强片在线观看| 二级片在线观看| 韩国三级香港三级日本三级la | 成人影院一区二区三区| 99久久精品国产免费| 99热视热频这里只有精品| 可以免费看污视频的网站| 国产一级强片在线观看| 精品视频免费观看| 青青久久国产成人免费网站| 精品视频免费在线| 亚欧成人乱码一区二区| 久久久成人影院| 国产精品自拍亚洲| 久久成人综合网| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产a一级| 四虎影视久久久| 黄视频网站免费观看| 日韩一级黄色大片| 日韩在线观看视频黄| 韩国毛片免费大片| 黄色福利片| 青青久久国产成人免费网站| 日本免费看视频| 99热精品一区| 一级片片| 999久久66久6只有精品| 香蕉视频久久| 一级片片| 免费一级片在线观看| 欧美激情在线精品video| 国产国语在线播放视频| 欧美日本国产| 国产一级强片在线观看| 99热精品一区| 中文字幕97| 黄色免费三级| 国产a一级| 国产视频一区在线| 久久国产一区二区| 九九精品影院| 国产亚洲精品aaa大片| 毛片的网站| 久久国产精品自由自在| 国产不卡在线观看| 久久久久久久免费视频| 天天做人人爱夜夜爽2020毛片| 黄视频网站免费观看| 成人影视在线观看| 亚欧成人乱码一区二区| 99热精品一区| 精品国产一区二区三区久久久狼| 久久国产精品自由自在| 久久99爰这里有精品国产| 一级女性大黄生活片免费| 韩国三级香港三级日本三级la | 亚洲 男人 天堂| 日韩中文字幕一区| a级精品九九九大片免费看| 欧美激情一区二区三区视频| 97视频免费在线观看| 亚洲www美色| 国产一区精品| 色综合久久天天综合观看| 精品久久久久久免费影院| 国产成人啪精品视频免费软件| 久久国产一区二区| 国产伦久视频免费观看视频| 99热精品一区| 日韩一级黄色大片| 青青久久国产成人免费网站| 国产一区二区精品在线观看| 国产一区二区精品久久| 国产不卡高清| 欧美激情伊人| 精品视频免费观看| 国产一区二区精品在线观看| 国产精品123| 欧美日本国产| 亚洲精品影院一区二区| 国产91丝袜高跟系列| 久久成人综合网| 亚洲www美色| 国产成人精品综合| 日韩中文字幕一区| 一级片片| 久久精品免视看国产明星| 国产a一级| 美女免费毛片| 国产福利免费观看| 九九久久99|