在javascript中使用鼠标滚轮事件在画布上缩放jpeg图像
我用java脚本编写了简单的代码,在画布上添加JPEG图像,并使用简单的mousedown和mouseup事件在图像上添加行。现在我想在那个图像上添加放大和缩小效果。有人能帮我缩小吗 我的js文件如下所示在javascript中使用鼠标滚轮事件在画布上缩放jpeg图像,javascript,canvas,zooming,jpeg,mousewheel,Javascript,Canvas,Zooming,Jpeg,Mousewheel,我用java脚本编写了简单的代码,在画布上添加JPEG图像,并使用简单的mousedown和mouseup事件在图像上添加行。现在我想在那个图像上添加放大和缩小效果。有人能帮我缩小吗 我的js文件如下所示 var canvas; var context; var width; var height; var finalPos = {x: 0, y: 0}; var startPos = {x: 0, y: 0}; function main() { canvas = documen
var canvas;
var context;
var width;
var height;
var finalPos = {x: 0, y: 0};
var startPos = {x: 0, y: 0};
function main() {
canvas = document.getElementById('imageCanvas');
context = canvas.getContext('2d');
loadImage();
width = canvas.width;
height = canvas.height;
var canvasOffset = $('#imageCanvas').offset();
function line(cnvs) {
cnvs.beginPath();
cnvs.moveTo(startPos.x, startPos.y);
cnvs.lineTo(finalPos.x, finalPos.y);
cnvs.stroke();
}
$('#imageCanvas').mousedown(function (e) {
context.strokeStyle = 'blue';
context.lineWidth = 5;
context.lineCap = 'round';
context.beginPath();
startPos = {x: e.pageX - canvasOffset.left, y: e.pageY - canvasOffset.top};
});
$('#imageCanvas').mouseup(function (e) {
// Replace with var that is second canvas
finalPos = {x: e.pageX - canvasOffset.left, y: e.pageY - canvasOffset.top};
line(context);
});
}
;
function loadImage() {
system_image = new Image();
system_image.src = 'img/Google_OH_406TwentySecondStreet.jpg';
system_image.onload = function () {
context.drawImage(system_image, 0, 0, width, height);
};
}
您可以在鼠标滚轮上使用缩放功能
context.scale(scaleValue, scaleValue);
您必须在上下文上绘制图像之前执行此操作
我在这里创建了一个示例:[link]:缩放代码似乎缺失。请不要使用此选项。此接口是非标准的,不推荐使用。它只在非Gecko浏览器中使用。谢谢,至少我有一些想法。