获取原始图像大小裁剪和预览与画布IE
get original image size to crop and preview with canvas IE
嗯,我做这个问题是为了告诉我一些使用裁剪和画布的方向。
那时候一切都很好,因为我不打算支持ie,但是,现在,它应该被支持了。
所以,我不知道为什么,但在我看来,这个问题是因为IE没有得到原始图像的大小。
在chrome, ff, opera, safari中一切都很好。IE是唯一显示出一些问题的,裁剪画布的结果不等于从图像中裁剪的区域。
下面是绘制裁剪图像的主代码
$("#crop").on("click", function(){
var canvas = document.getElementById("canvasThumbResult");
var context = canvas.getContext("2d");
var img = document.getElementById("canvasToThumb"),
$img = $(img),
imgW = img.width, // chrome, ff... show as 1498, ie not
imgH = img.height; // chrome, ff... show as 855, ie not
var ratioY = imgH / $img.height(),
ratioX = imgW / $img.width();
var getX = $('#x').val() * ratioX,
getY = $('#y').val() * ratioY,
getWidth = $('#w').val() * ratioX,
getHeight = $('#h').val() * ratioY;
context.drawImage(img,getX,getY,getWidth,getHeight,0,0,320,320);
});
查看问题,只需在ie上运行:
jsfiddle
尝试使用naturalWidth/naturalHeight代替width/height。
var img = document.getElementById("canvasToThumb"),
$img = $(img),
imgW = img.naturalWidth,
imgH = img.naturalHeight;
jsfiddle
相关文章:
- HTML5拖放-如何删除IE上的默认重影图像
- 在IE中预览图像上传
- 图像加载不适用于 IE 8 或更低版本
- 加载 gif 图像未显示在 IE 和镶边中
- 如何在 IE 11 中删除图像映射中的虚线
- 上传前查看图像在IE中不起作用
- 简单的图像滑块Javascript图像路径在IE 6中不起作用
- 混合内容警告IE:什么很重要;css,图像,一切
- 图像映射热点在IE浏览器中无法正常工作
- 图像加载,IE中的另一个错误 - 相当确定这不是缓存错误
- 精灵图像的背景位置在 IE 中不起作用,用于倒计时时钟
- IE不喜欢我的输入和图像标签
- 带有谷歌地图和天气图像的网页只能在IE中运行,在Chrome中无效
- TinyMCE不会在IE中调整图像大小
- Jquery 图像不禁用,IE 除外
- 放大iframe内在IE和谷歌浏览器上不起作用的图像
- 如果背景中有图像,则无法在IE中选择元素
- 具有多个图像的灯箱在IE中不起作用
- 强制 IE 清除图像
- 使用 jQuery 显示的图像未在 Chrome 和 IE 上显示