我正在开发一个 JavaScript 图像大小调整功能,它依赖于 IE only DXImageTransform 插件。
也想解决现代浏览器问题,我试了一下画布,结果非常好。
但是,我在调整大小函数中遇到了一个问题,如下所示:
函数调整大小(oObj,flMultiplier) { var canvas = document.getElementById('canvas'); var canvasContext = canvas.getContext('2d'); oObj.style.visibility = '隐藏'; canvasContext.clearRect(0,0,canvas.width,canvas.height); // 清除画布 canvasContext.fillStyle = 'rgba(0,0,0,0.4)'; canvasContext.scale(flMultiplier,flMultiplier); canvasContext.drawImage(oObj, 0, 0); }
如果我的图像变得比画布项目大,那么人们只会看到图像的一部分,这很糟糕。
我试图在运行时调整画布大小,但如果影响调整大小图像的显示。
所以我最终声明了一个大的画布元素,这很好,除了我的网页的 css 溢出是在我最大的元素上调整的,而不是在我调整大小的图像上,这很痛苦。
所以我想有两种方法可以解决我的问题:
- 尝试从溢出方案中排除大画布元素
- 调整大小时尝试更新画布元素大小(我可能在那里遗漏了一些东西)