Flash画布drawImage不工作

时间:2012-11-30 15:19:24

标签: javascript html5 canvas flashcanvas

我在运行IE8的Windows7 IE9上。这在IE9中工作只是因为我可以使用canvas但是在IE8中它假设回到flash画布。这是我的来源http://blog.jackadam.net/2010/alpha-jpegs/现在看来我在IE中遇到问题而context.drawImage没有绘制图像?我已经发布了flashcanvas谷歌组,但他们似乎需要一些时间来回复,所以希望有一个flashcanvas大师在这里。

;(function() {

var create_alpha_jpeg = function(img) {

    var alpha_path = img.getAttribute('data-alpha-src')
    if(!alpha_path) return

    // Hide the original un-alpha'd
    img.style.visiblity = 'hidden'

    // Preload the un-alpha'd image
    var image = document.createElement('img')
    image.src = img.src + '?' + Math.random()
    console.log(image.src);
    image.onload = function () {
        console.log('image.onload');

        // Then preload alpha mask
        var alpha = document.createElement('img')
        alpha.src = alpha_path + '?' + Math.random()
        alpha.onload = function () {
            console.log('alpha.onload');
            var canvas = document.createElement('canvas')
            canvas.width = image.width
            canvas.height = image.height
            img.parentNode.replaceChild(canvas, img)

            // For IE7/8
            if(typeof FlashCanvas != 'undefined') FlashCanvas.initElement(canvas)

            // Canvas compositing code
            var context = canvas.getContext('2d')
            context.clearRect(0, 0, image.width, image.height)
            context.drawImage(image, 0, 0, image.width, image.height)
            //context.globalCompositeOperation = 'xor'
            //context.drawImage(alpha, 0, 0, image.width, image.height)

        }

    }

}

// Apply this technique to every image on the page once DOM is ready
// (I just placed it at the bottom of the page for brevity)
var imgs = document.getElementsByTagName('img')
for(var i = 0; i < imgs.length; i++)
create_alpha_jpeg(imgs[i])

})();

2 个答案:

答案 0 :(得分:0)

对此的解决方案是它只适用于较旧版本的flashcanvas,它只适用于flashcanvas pro ...如网站第二页脚中所述

  

此技术使用globalCompositeOperation操作   需要FlashCanvas Pro。免费用于非营利性使用或仅需31美元   商业执照。

答案 1 :(得分:0)

我使用flashcanvaspro。根据目标闪光播放器的不同,最大图像尺寸会有所不同 Flash Player 10将位图的最大大小增加到最大像素数16,777,215。 Flash Player 9限制(2880 x 2880像素)。

https://helpx.adobe.com/flash-player/kb/size-limits-swf-bitmap-files.html

需要有人将flashcanvas更新到最新的Flash播放器

相关问题