首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CSS >

canvas、drawImage的有关问题,高手速进

2012-11-03 
canvas、drawImage的问题,高手速进代码如下:!DOCTYPE htmlhtml dirltr langen-USheadmeta cha

canvas、drawImage的问题,高手速进
代码如下:

<!DOCTYPE html>
<html dir="ltr" lang="en-US">
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
jQuery(function ($) {
$("img").load(function () {
var w = $(this).width(),
h = $(this).height();
$(this).after($("<canvas>").css({"width": w, "height": h, "backgroundColor": "blue"}));
var ctx = $(this).next("canvas")[0].getContext("2d");
ctx.drawImage($(this)[0], 0, 0, w, h);
});
});
</script>
</head>
<body>
<img src="http://a.hiphotos.baidu.com/album/s%3D1600%3Bq%3D90/sign=28b8cc8cbc315c6047956fe9bd81f062/1e30e924b899a901844e3baf1d950a7b0208f534.jpg"/>
</body>
</html>

drawImage出来的图片尺寸变形,不是原来图片的形状,会看到canvas背景蓝色。

[解决办法]
请问你用的是什么浏览器呀???我用的chrome opera ie9貌似都没有你说的问题
[解决办法]
.after($("<canvas width="+w+" height="+height+" >")


canvas的实际宽高(canvas代码种实际参考的大小) 要这样设置 否则默认是 300-150
样式里面的 宽高 代表 渲染大小

实际宽高 和 样式 宽高 不一致 就会拉伸了


[解决办法]
canvas里面的width和height跟css里面的width和height是不一样的,我以前就被坑过。。 统一用canvas.width比较好,画板的坐标神马的跟这个width是一样的,跟css里面的不一样
[解决办法]

探讨

canvas画布的尺寸没问题,用drawImage画出来的图片与源img节点尺寸不一样

热点排行