第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

請問如何解決canvas 在高清屏下的模糊問題

使用 canvas 畫出畫布大小的圖片時(shí)畫面很模糊, 就連畫出的文字也是模糊的, 有什么解決辦法嗎?

正在回答

4 回答

我是先將? canvas的大小與? 圖片大小調(diào)成一致? ?然后在渲染過后的canva用 css的手段 將其限制大小? 這樣就不會(huì)失幀了


0 回復(fù) 有任何疑惑可以回復(fù)我~
<script>
??var?canvasa?=?document.getElementById("canvasa");
??var?contexta?=?canvasa.getContext("2d");

??var?canvasb?=?document.getElementById("canvasb");
??var?contextb?=?canvasb.getContext("2d");

??var?image?=?new?Image();
??window.onload=function(){
????image.src?=?"img/d.jpg";
????image.onload=function(){
??????canvasa.width=image.width;//這個(gè)是重點(diǎn)
??????canvasa.height=image.width;//這個(gè)是重點(diǎn)

??????canvasb.width=image.width;//這個(gè)是重點(diǎn)
??????canvasb.height=image.width;//這個(gè)是重點(diǎn)
??????contexta.drawImage(image,?0,?0,?canvasa.width,?canvasa.height)
??????canvasa.style.width='600px';//這個(gè)是重點(diǎn)
??????canvasa.style.height='600px';//這個(gè)是重點(diǎn)
????}
??};

??function?fillter()?{
????console.log(canvasa.style.width)
??????var?imageData?=?contexta.getImageData(0,0,canvasa.width,canvasa.height);
??????var?Data=imageData.data;
??????for?(var?i=0;i<canvasa.width*canvasa.height;i++){
????????var?r=Data[4*i+0]
????????var?g=Data[4*i+1]
????????var?b=Data[4*i+2]

????????var?rgb=r*0.3+g*0.59+b*0.11

????????Data[4*i+0]=rgb;
????????Data[4*i+1]=rgb;
????????Data[4*i+2]=rgb;
??????}
??????contextb.putImageData(imageData,0,0,0,0,canvasb.width,canvasb.height);
????canvasb.style.width='600px';//這個(gè)是重點(diǎn)
????canvasb.style.height='600px';//這個(gè)是重點(diǎn)
??};
</script>


0 回復(fù) 有任何疑惑可以回復(fù)我~

不知道我分享的這個(gè)能不能幫到你? ? ?

0 回復(fù) 有任何疑惑可以回復(fù)我~

(function($){
? ?var myCanvas = document.getElementById("myCanvas");
? ?var cxt = myCanvas.getContext("2d");
? ?var image = new Image();
? ?// polyfill 提供了這個(gè)方法用來獲取設(shè)備的 pixel ratio
? ?var getPixelRatio = function(context) {
? ? ? ?var backingStore = context.backingStorePixelRatio ||
? ? ? ? ? ? ? ?context.webkitBackingStorePixelRatio ||
? ? ? ? ? ? ? ?context.mozBackingStorePixelRatio ||
? ? ? ? ? ? ? ?context.msBackingStorePixelRatio ||
? ? ? ? ? ? ? ?context.oBackingStorePixelRatio ||
? ? ? ? ? ? ? ?context.backingStorePixelRatio || 1;

? ? ? ?return (window.devicePixelRatio || 1) / backingStore;
? ?};

? ?var ratio = getPixelRatio(cxt);


? ?window.onload = function(){
? ? ? ?image.src = "images/phone.png";
? ? ? ?image.onload = function(){
? ? ? ? ? ?// 注意,這里的 width 和 height 變成了 width * ratio 和 height * ratio
? ? ? ? ? ?cxt.drawImage(image, 0, 0, myCanvas.width * ratio, myCanvas.height * ratio);
? ? ? ?}
? ?};

})(jQuery)

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

請問如何解決canvas 在高清屏下的模糊問題

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號