jquery画布图像大小覆盖
jquery canvas image size overlay
我有一个jQuery图像悬停,它将图像从灰度级更改为彩色。
工作正常,如果图像是100像素的话。
如果在CSS中,我想将图像缩放到其边界容器的100%,就像这个一样
.class { display: inline-block; width: 250px; height: 250px; }
.class img { display: inline-block; width: 100%; height: auto; }
因此,我有一个250px宽的div,该div中的图像被缩放到100%。
但如果图像是500像素宽,它会缩小它的比例。这很好,但当我将鼠标悬停在图像上,使其从黑白变为彩色时,彩色版本(我假设与画布重叠)显示的是500像素的图像,而不是250像素的图像。
在下面的jquery中,我如何告诉画布覆盖是包含div的100%?
$(".imglist a").hover(
function() {
var canvas = document.createElement('canvas'),
ctx = canvas.getContext('2d'),
masky, maskwidth,
image = new Image();
image.src = this.getElementsByTagName('img')[0].src;
canvas.width = image.width;
canvas.height = image.height;
canvas.style.position = 'absolute';
masky = image.height;
maskwidth = Math.sqrt(image.width * image.width + image.height * image.height);
ctx.rotate(0.45);
$(this).find('div').prepend(canvas);
(function animate() {
if (masky <= -(image.width / 2)) {
return false;
} else {
masky -= 15;
ctx.save();
ctx.rect(0, masky, maskwidth, image.height);
ctx.clip();
ctx.rotate(-0.45);
ctx.drawImage(image, 0, 0);
ctx.restore();
window.requestAnimFrame(animate, 0);
}
})();
},
function() {
$(this).find('canvas').animate({opacity: 0}, 500, function() {
$(this).remove();
});
}
);
// http://paulirish.com/2011/requestanimationframe-for-smart-animating/
window.requestAnimFrame = (function() {
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback, element) {
window.setTimeout(callback, 1000 / 60);
};
})();
尝试将width: 100%
也添加到画布中:
canvas.style.width = '100%';
或者,使用jQuery:
$(canvas).css('width', '100%');
相关文章:
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- PNG图像被覆盖,但每个图像都有一个链接可以更改,每次一个-Javascript/jQuery/CSS
- 将谷歌地图中的平移边界设置为图像覆盖
- TinyMCE图像上传覆盖images_upload_handler
- 如何使用 OnClick 事件更改结构 JS 的覆盖图像
- 多个背景图像,一个覆盖另一个
- node.js在覆盖图像时无法提供图像
- 如何使用PHP、提交和单选按钮复制/重命名/覆盖图像
- 在HTML中覆盖图像
- 如何删除覆盖图像查看器的溢出(滚动条)
- 使用CSS悬停类悬停在链接上,并在页面的其他位置显示覆盖图像
- 覆盖图像与砌体在WP
- 如何覆盖图像和链接路径在iframe对象
- 使用Javascript覆盖图像文件
- 覆盖图像与文本,保存和共享
- 添加多个水印/覆盖图像到amcharts.com图表
- 是否有可能隐藏(切换)主地图层,只显示地面覆盖图像本身?
- 覆盖图像与JS, HTML, CSS
- 防止在加载覆盖图像时显示列表项
- 谷歌地图api v3覆盖图像与搜索栏