濮阳杆衣贸易有限公司

主頁 > 知識庫 > canvas畫圖被放大且模糊的解決方法

canvas畫圖被放大且模糊的解決方法

熱門標(biāo)簽:高德地圖標(biāo)注地點(diǎn)糾錯(cuò) 南昌仁和怎么申請開通400電話 拓展地圖標(biāo)注 機(jī)器人外呼系統(tǒng)存在哪些能力 電話機(jī)器人電銷系統(tǒng)掙話費(fèi) 電話機(jī)器人黑斑馬免費(fèi) 平?jīng)龅貓D標(biāo)注位置怎么弄 只辦理400電話 如何獲取地圖標(biāo)注客戶

先來理解canvas的這幾個(gè)寬度和高度

canvas.width是畫布的大小,而canvas.style.width是瀏覽器渲染的canvas的尺寸

第一個(gè)問題:畫布的高度和寬度

畫布的寬和高一定要在canvas標(biāo)簽中設(shè)置,如果是在css樣式中設(shè)置,則不起作用,畫布會按照默認(rèn)尺寸width:300px,height:150px顯示

//在標(biāo)簽中設(shè)置寬和高
<canvas id="canvas" width="324" height="622" >

除了直接在canvas標(biāo)簽設(shè)置,還可以在繪制的時(shí)候設(shè)置,注意畫布的寬高不需要單位

canvas.width = 324;
canvas.height = 622;

第二個(gè)問題:繪制的圖形被放大,圖像模糊

這是由于手機(jī)的設(shè)備獨(dú)立像素和物理像素不一致,設(shè)備像素比=物理像素/設(shè)備獨(dú)立像素,大部分手機(jī)的設(shè)備像素比為2,這意味著100px的圖像要放在200px中才可以正常顯示

用devicePixelRatio可以獲取到設(shè)備像素比,獲取到像素比后,我們就可以控制圖形的縮放比例

scale = window.devicePixelRatio;

剛剛說了,canvas.style.width是瀏覽器渲染的canvas的尺寸,那要想你畫的圖形正確且清楚的顯示在畫布中,你需要設(shè)置正確的style.width和style.height,如下圖,注意加上單位。

canvas.style.width = canvas.width / scale + 'px';
canvas.style.height= canvas.height/ scale + 'px';

上面我們設(shè)置了畫布的寬度為324,如果不設(shè)置style.width,則畫的圖形會被放大到2倍顯示。

到此這篇關(guān)于canvas畫圖被放大且模糊的解決方法的文章就介紹到這了,更多相關(guān)canvas圖被放大且模糊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家! 

標(biāo)簽:棗莊 新疆 漯河 遼源 西藏 永州 青島 池州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《canvas畫圖被放大且模糊的解決方法》,本文關(guān)鍵詞  canvas,畫圖,被,放大,且模,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《canvas畫圖被放大且模糊的解決方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于canvas畫圖被放大且模糊的解決方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    清丰县| 陵水| 蒙自县| 五原县| 泰来县| 延庆县| 海伦市| 泸水县| 永泰县| 朝阳市| 三原县| 临清市| 怀安县| 汉源县| 阳城县| 苍梧县| 沛县| 日照市| 蓝田县| 诸城市| 邻水| 白银市| 平阴县| 白水县| 大化| 兴和县| 深水埗区| 安图县| 石景山区| 昌邑市| 乐昌市| 河曲县| 邯郸县| 北流市| 无极县| 荔波县| 和平县| 曲周县| 康平县| 崇义县| 湄潭县|