Javascript 单击以缩放画布上插入的图像剪辑它,代码片段jquery,html5

Javascript 单击以缩放画布上插入的图像剪辑它,代码片段jquery,html5,javascript,jquery,html,Javascript,Jquery,Html,我正在编程一个画布图像,以便在单击控制按钮后能够放大/缩小 红色球的正常尺寸为128x128px。当放大太多时…图像被自己的容器剪切…如何修复 工作小提琴 这就是我试过的。。。 我希望放大是正确的没有剪辑的图像 设M_GlassesZoom=1; 设L_GlassesZoom=1; $('.ZoomGlasses')。打开(“单击”,函数(事件){ if($(this).hasClass(“ZoomGlassPlus”)){ M_GlassesZoom+=0.5; } else if($(t

我正在编程一个画布图像,以便在单击控制按钮后能够放大/缩小

红色球的正常尺寸为128x128px。当放大太多时…图像被自己的容器剪切…如何修复

工作小提琴

这就是我试过的。。。 我希望放大是正确的没有剪辑的图像

设M_GlassesZoom=1;	
设L_GlassesZoom=1;
$('.ZoomGlasses')。打开(“单击”,函数(事件){
if($(this).hasClass(“ZoomGlassPlus”)){
M_GlassesZoom+=0.5;
}
else if($(this).hasClass(“ZoomGlassessless”)){
L_GlassesZoom+=0.5;
} 
drawMe();
});
var canvas=document.getElementById('cv');
ctx=canvas.getContext('2d');
//抽芯功能
var drawMe=函数(){
var ImgGlasses=document.getElementById('glasses');
画布宽度=400;
画布高度=400;
clearRect(0,0,canvas.width,canvas.height);
ctx.fillStyle='蓝色';
ctx.fillRect(0,0,canvas.width,canvas.height);
var GlassesWidth=128;
var玻璃重量=128;
如果(M_GlassesZoom!=1){
玻璃宽度=玻璃宽度/M_玻璃缩放;
玻璃重量=玻璃重量/M_玻璃缩放;
}
如果(L_GlassesZoom!=1){
GlassesWidth=GlassesWidth*L_GlassesZoom;
玻璃重量=玻璃重量*L_GlassesZoom;
}
ctx.drawImage(ImgGlasses,0,0,GlassesWidth,GlassesHeight,50,50,128128);
}
drawMe()

变焦+
缩放-

您将目标宽度/高度固定为128px,因此当球变大时,它将被夹持。当然,源的宽度和高度应该是固定的,目的地应该是计算出来的

设M_GlassesZoom=1;	
设L_GlassesZoom=1;
$('.ZoomGlasses')。打开(“单击”,函数(事件){
if($(this).hasClass(“ZoomGlassPlus”)){
M_GlassesZoom+=0.5;
}
else if($(this).hasClass(“ZoomGlassessless”)){
L_GlassesZoom+=0.5;
} 
drawMe();
});
var canvas=document.getElementById('cv');
ctx=canvas.getContext('2d');
//抽芯功能
var drawMe=函数(){
var ImgGlasses=document.getElementById('glasses');
画布宽度=400;
画布高度=400;
clearRect(0,0,canvas.width,canvas.height);
ctx.fillStyle='蓝色';
ctx.fillRect(0,0,canvas.width,canvas.height);
var GlassesWidth=128;
var玻璃重量=128;
如果(M_GlassesZoom!=1){
玻璃宽度=玻璃宽度/M_玻璃缩放;
玻璃重量=玻璃重量/M_玻璃缩放;
}
如果(L_GlassesZoom!=1){
GlassesWidth=GlassesWidth*L_GlassesZoom;
玻璃重量=玻璃重量*L_GlassesZoom;
}
ctx.drawImage(图像,0,0,128128,50,50,玻璃宽度,玻璃高度);
}
drawMe()

变焦+
缩放-

您将目标宽度/高度固定为128px,因此当球变大时,它将被夹持。当然,源的宽度和高度应该是固定的,目的地应该是计算出来的

设M_GlassesZoom=1;	
设L_GlassesZoom=1;
$('.ZoomGlasses')。打开(“单击”,函数(事件){
if($(this).hasClass(“ZoomGlassPlus”)){
M_GlassesZoom+=0.5;
}
else if($(this).hasClass(“ZoomGlassessless”)){
L_GlassesZoom+=0.5;
} 
drawMe();
});
var canvas=document.getElementById('cv');
ctx=canvas.getContext('2d');
//抽芯功能
var drawMe=函数(){
var ImgGlasses=document.getElementById('glasses');
画布宽度=400;
画布高度=400;
clearRect(0,0,canvas.width,canvas.height);
ctx.fillStyle='蓝色';
ctx.fillRect(0,0,canvas.width,canvas.height);
var GlassesWidth=128;
var玻璃重量=128;
如果(M_GlassesZoom!=1){
玻璃宽度=玻璃宽度/M_玻璃缩放;
玻璃重量=玻璃重量/M_玻璃缩放;
}
如果(L_GlassesZoom!=1){
GlassesWidth=GlassesWidth*L_GlassesZoom;
玻璃重量=玻璃重量*L_GlassesZoom;
}
ctx.drawImage(图像,0,0,128128,50,50,玻璃宽度,玻璃高度);
}
drawMe()

变焦+
缩放-