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

為了賬號安全,請及時綁定郵箱和手機立即綁定

我哪里寫錯了,為什么沒有鋪滿整個canvas

<body>

<canvas id="canvas"></canvas>
<input id="range" type="range" step="0.01" min="0.5" max="3" value="2" />

<script>

window.onload = function(){
? ?var canvas = document.getElementById('canvas');
? ?var slide = document.getElementById('range');
? ?var ctx = canvas.getContext('2d');
? ?canvas.width = 400;
? ?canvas.height = 252;

? ?var scale = slide.value;
? ?var img = new Image();
? ?img.src = 'img/img3.jpg';

? ?img.onload = function(){
? ? ? ?drawImgByScale(scale);
? ?};

? ?function drawImgByScale(scale){

? ? ? ?var iWidth = 400*scale;
? ? ? ?var iHeight = 252*scale;

? ? ? ?var sx = iWidth/2 - canvas.width/2;
? ? ? ?var sy = iHeight/2 - canvas.height/2;

? ? ? ?ctx.drawImage(img,sx,sy,canvas.width,canvas.height,0,0,canvas.width,canvas.height);
? ?}
}

</script>
</body>

http://img1.sycdn.imooc.com//565ff89400015dcd09300726.jpg

正在回答

4 回答

老師的的算法有問題,之所以他這個能實現(xiàn),我想是圖片分辨率足夠大,換一個分辨率小的就不行了你可以用這個試試

function drawImageByScale(){

var imgW = cwidth/scale;

var imgH = cheight/scale;

var sx = cwidth/2-imgW/2;

var sy = cheight/2-imgH/2;

cxt.drawImage(bgimg,sx,sy,cwidth/scale,cheight/scale,0,0,cwidth,cheight);

}


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

可能是你用的老師之前的那張照片吧 清晰度比較低 不能再放大了 你換一張清晰度高點的就可以了

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

<script>

window.onload=function(){

? var canvas=document.getElementById('canvas');

? var context=canvas.getContext('2d');

? var image=new Image();

? var ran=document.getElementById('scale-range');

??

? canvas.width=1152;

? canvas.height=768;

? image.src="img.jpg";

? image.onload=function(){

//context.drawImage(image,0,0)

var slider=ran.value;

drawImageScale(slider)?

? }

?

function drawImageScale(slider){

? var imgWidth=1152*slider;

? var imgHeight=768*slider;

??

? var sx=imgWidth / 2-canvas.width / 2;

? var sy=imgHeight / 2-canvas.height / 2;

??

? context.drawImage( image , sx , sy , canvas.width , canvas.height , 0 , 0 ,canvas.width , canvas.height)?


?

? ? }

}

</script>



<body>

<canvas id="canvas" style="border:#000 1px solid;display:block;margin:0 auto;">您瀏覽器版本太低</canvas>

<input type="range" id="scale-range" style="display:block;width:800px;margin:20px auto;" min="0.5" max="3.0" step="0.01" value="2.0"/>

</body>

http://img1.sycdn.imooc.com//56b310230001acbc11890627.jpg

為啥不能占滿整個屏幕呢?

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

<body>


<canvas id="canvas"></canvas>

<input id="range" type="range" step="0.01" min="0.5" max="3" value="2" />


<script>


window.onload = function(){

? ?var canvas = document.getElementById('canvas');

? ?var slide = document.getElementById('range');

? ?var ctx = canvas.getContext('2d');

? ?canvas.width = 400;

? ?canvas.height = 252;


? ?var img = new Image();

? ?img.src = '1.jpg';

? ?img.onload = function(){

? ?drawImgByScale(scale);}

? ?slide.onmousemove = function(){

? ? ? drawImgByScale(slide.value);

? ?};


? ?function drawImgByScale(scale){


? ? ? ?var iWidth = 400*scale;

? ? ? ?var iHeight = 252*scale;


? ? ? ?var sx = iWidth/2 - canvas.width/2;

? ? ? ?var sy = iHeight/2 - canvas.height/2;



? ? ? ?ctx.drawImage(img,sx,sy,canvas.width,canvas.height,0,0,canvas.width,canvas.height);

? ?}

}


</script>

</body>

代碼改成這樣會跟著滾動條動



drawImage(img,sx,sy,swidth,sheight,x,y,width,height);

img是需要繪制的圖片,sx,xy是需要繪制的圖片上的起點,而不是在canvas畫布上的起點

swidth,sheight,是需要繪制圖片的寬度和高度

x,y指的是要把繪制的圖片放在畫布的什么位置

width和height 圖片總的大小


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

猴子也救不了我 提問者

我不知道我哪里寫錯了,截出來的圖片沒有平鋪整個canvas
2015-12-03 回復(fù) 有任何疑惑可以回復(fù)我~
#2

木子舟義 回復(fù) 猴子也救不了我 提問者

因為照你寫的這個代碼 根本就沒有這個功能。
2015-12-03 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

我哪里寫錯了,為什么沒有鋪滿整個canvas

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

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

幫助反饋 APP下載

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

公眾號

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