如何动态改变canvas 的大小 canvas 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你canvas上的画面 肯定有个方法来绘制你改变了canvas的大小 那么在重新调用下那个绘制方法 <input type=button value=缩小 onclick='document.getElementById("myCanvas").width /=2;document.getElementById("myCanvas").height /=2'><input type=button value=放大 onclick='document.getElementById("myCanvas").width *=2;document.getElementById("myCanvas").height *=2'><br><canvas id="myCanvas" width="800" height="500" style="border:1px solid #000;"> 您的浏览器不支持canvas!</canvas> 如果是用1樓的方法改完canvas的屬性 widht、height之後你得需重繪畫面(render)如果用複制的,畫面會照先前的比例假如原本大小 400 x 400放大1000 x 1000 你複制的畫面就會只有一小塊如果是要連畫面一起拉伸,1.直接改變canvas的樣式就行2.算好縮放比例,把比例的參數加進render函數的坐標演算中(不如說你一開始就得有這參數),重新再跑一次 <canvas id="myCanvas" width="800" height="500" style="border:1px solid #000;"> 您的浏览器不支持canvas!</canvas><br /><input type="button" value="小" onclick="resize(500,400)" /><input type="button" value="大" onclick="resize(900,600)" /><script type="text/javascript">var canvas = document.getElementById("myCanvas");var cxt = canvas.getContext("2d");cxt.strokeStyle = "#ff8040";cxt.fillStyle = "#0000ff";cxt.arc(100,100,50,0,2*Math.PI,true);cxt.fill();cxt.strokeRect(30,20,100,150);function resize(w,h){ var imgData = cxt.getImageData(0,0,canvas.width,canvas.height); canvas.width = w; canvas.height = h; cxt.putImageData(imgData,0,0);}</script> 还有第二种方法<canvas id="myCanvas" width="800" height="500" style="border:1px solid #000;"> 您的浏览器不支持canvas!</canvas><br /><input type="button" value="小" onclick="resize(500,400)" /><input type="button" value="大" onclick="resize(900,600)" /><script type="text/javascript">var canvas = document.getElementById("myCanvas");var cxt = canvas.getContext("2d");cxt.strokeStyle = "#ff8040";cxt.fillStyle = "#0000ff";cxt.arc(100,100,50,0,2*Math.PI,true);cxt.fill();cxt.strokeRect(30,20,100,150);function resize(w,h){ var nc = document.createElement("canvas"); nc.width = canvas.width; nc.height = canvas.height; nc.getContext("2d").drawImage(canvas,0,0); canvas.width = w; canvas.height = h; cxt.drawImage(nc,0,0);}</script> http Post参数格式的转换 if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { 关于EXTJS 数据视图的例子 js 验证select下拉菜单问题 请教高手:在javascript中如何减掉字符串中的某段字符串。 窗口焦点的问题? js棘手问题!!!!!!!!! document.write 流的问题。 input的onChange 的问题 如何判断一个数是整数? js页面重定向 求大神看下这句代码应该怎么理解??
<input type=button value=放大 onclick='document.getElementById("myCanvas").width *=2;document.getElementById("myCanvas").height *=2'><br>
<canvas id="myCanvas" width="800" height="500" style="border:1px solid #000;"> 您的浏览器不支持canvas!</canvas>
改完canvas的屬性 widht、height之後
你得需重繪畫面(render)
如果用複制的,畫面會照先前的比例
假如原本大小 400 x 400
放大1000 x 1000 你複制的畫面就會只有一小塊如果是要連畫面一起拉伸,
1.直接改變canvas的樣式就行
2.算好縮放比例,把比例的參數加進render函數的坐標演算中(不如說你一開始就得有這參數),重新再跑一次
<input type="button" value="小" onclick="resize(500,400)" />
<input type="button" value="大" onclick="resize(900,600)" />
<script type="text/javascript">
var canvas = document.getElementById("myCanvas");
var cxt = canvas.getContext("2d");
cxt.strokeStyle = "#ff8040";
cxt.fillStyle = "#0000ff";
cxt.arc(100,100,50,0,2*Math.PI,true);
cxt.fill();
cxt.strokeRect(30,20,100,150);function resize(w,h)
{
var imgData = cxt.getImageData(0,0,canvas.width,canvas.height);
canvas.width = w;
canvas.height = h;
cxt.putImageData(imgData,0,0);
}
</script>
<input type="button" value="小" onclick="resize(500,400)" />
<input type="button" value="大" onclick="resize(900,600)" />
<script type="text/javascript">
var canvas = document.getElementById("myCanvas");
var cxt = canvas.getContext("2d");
cxt.strokeStyle = "#ff8040";
cxt.fillStyle = "#0000ff";
cxt.arc(100,100,50,0,2*Math.PI,true);
cxt.fill();
cxt.strokeRect(30,20,100,150);function resize(w,h)
{
var nc = document.createElement("canvas");
nc.width = canvas.width;
nc.height = canvas.height;
nc.getContext("2d").drawImage(canvas,0,0);
canvas.width = w;
canvas.height = h;
cxt.drawImage(nc,0,0);
}
</script>