Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

309
Visualizações
Haga zoom en el puntero, no en el origen de la imagen cargada en fabric js También para establecer el zoom máximo en 1

Necesito acercar la ubicación del puntero y la ubicación máxima de alejamiento se establecería en 1. La imagen se carga en el lienzo desde el sistema local. A continuación se muestra mi fragmento de código js:

 var canvas = new fabric.Canvas('canvas'); document.getElementById("uploader").onchange = function(e) { var reader = new FileReader(); reader.onload = function(e) { var image = new Image(); image.src = e.target.result; image.onload = function() { var img = new fabric.Image(image); img.set({ left: 100, top: 60 }); img.scaleToWidth(1125); canvas.add(img).setActiveObject(img).renderAll(); } } reader.readAsDataURL(e.target.files[0]); } canvas.on('mouse:wheel', function(opt) { var delta = opt.e.deltaY; var zoom = canvas.getZoom(); zoom *= 0.999 ** delta; if (zoom > 20) zoom = 20; if (zoom < 0.01) zoom = 0.01; //canvas.setZoom(zoom); const center = canvas.getCenter(); const centerPoint = new fabric.Point(center.left , center.right); canvas.setZoom(zoom); opt.e.preventDefault(); opt.e.stopPropagation(); })

archivo HTML:

 <canvas id="canvas" width="1500" height="844" style="border:1px solid black"></canvas>
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Para establecer el alejamiento máximo, cambie esto if (zoom < 0.01) zoom = 0.01; a si (zoom < 1) zoom = 1;

about 4 years ago · Juan Pablo Isaza Relatório

0

necesitas usar este código

 canvas.zoomToPoint({ x: opt.e.offsetX, y: opt.e.offsetY }, zoom);

en vez de

 const center = canvas.getCenter(); const centerPoint = new fabric.Point(center.left , center.right); canvas.setZoom(zoom);
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda