题
我正在一个JavaScript图像尺寸变换功能,它依赖于IE仅DXImageTransform插件。
婉婷,以解决现代浏览器为好,我给一个镜头帆布,具有相当不错的效果。
然而,我在调整大小功能,这是下面面临的一个问题:
function Resize(oObj, flMultiplier) { var canvas = document.getElementById('canvas'); var canvasContext = canvas.getContext('2d'); oObj.style.visibility = 'hidden'; canvasContext.clearRect(0,0,canvas.width,canvas.height); // clear canvas canvasContext.fillStyle = 'rgba(0,0,0,0.4)'; canvasContext.scale(flMultiplier,flMultiplier); canvasContext.drawImage(oObj, 0, 0); }
如果我的图像变得小于画布项越大,则一个将只看到图像,这是不好的部分。
我试图调整在运行时画布大小,但如果影响了尺寸调整的图像的显示。
所以我最终声明的大的canvas元素,这是非常好的,只是我的网页的CSS溢出调整我最大的元素,而不是我的尺寸调整的图像,这是疼痛
所以我想有两种方法可以解决我的问题:
- 尝试从溢流方案排除大画布元件
- 尝试调整时更新画布元件尺寸(I可能已经错过的东西有) 醇>
解决方案
我还没有尝试过自己,但也许你可以出DOM的创建canvas元素,与document.createElement
。它可以是任意的尺寸的不干扰显示。
现在,我缺乏上下文(你为什么将图像尺寸调整,而不是使用宽度这样和height属性,其他问题之间),所以也许我错过了点。
不隶属于 StackOverflow