单击时调整画布图像的大小并使用 javascript 将其居中
如何缩放 标签中包含的照片? 特别是,我想在用户单击的位置放大照片。
缩放并不难做到:
img.width = img.width + 100;
img.height = img.height + 100;
ctx.drawImage(img,0,0,img.width,img.height);
问题是我还想将缩放图像集中在单击点的中心,就像普通的放大镜一样。
How is it possible to zoom a photo contained in a <canvas>
tag?
In particular I'd like to zoom in on the photo at the point the user clicked.
The zoom is not difficult to do:
img.width = img.width + 100;
img.height = img.height + 100;
ctx.drawImage(img,0,0,img.width,img.height);
The problem is that I would also like to center the zoomed image in the point of the click, like a normal magnifier.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
[工作演示]
数据
R
Cw
、Ch
Iw
、Ih
Ix< /code>,
Iy
Pcx
,Pcy
Pox
, < code>PoyPrx
、Pry
方法
Pox = Pcx - Ix
,Poy = Pcy - Iy
Prx = Pox * R
、Pry = Poy * R
top = (Ch / 2) - Pry
、left = (Cw / 2) - Prx
ctx.drawImage(img, left, top, img.width, img.height)
实现
[Working demo]
Data
R
Cw
,Ch
Iw
,Ih
Ix
,Iy
Pcx
,Pcy
Pox
,Poy
Prx
,Pry
Method
Pox = Pcx - Ix
,Poy = Pcy - Iy
Prx = Pox * R
,Pry = Poy * R
top = (Ch / 2) - Pry
,left = (Cw / 2) - Prx
ctx.drawImage(img, left, top, img.width, img.height)
Implementation