Cropzoom PNG重新调整大小问题

时间:2013-09-19 14:08:58

标签: jquery png crop image-resizing jcrop

我最近升级到了Cropzoom 1.1并开始遇到重新调整png文件大小的问题。我收到以下错误。

  

“未捕获的TypeError:无法设置未定义的属性'过滤器'”

Web检查员指着以下代码行。

var ext = getExtensionSource();
if (ext == 'png' || ext == 'gif')
    $image.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"
        + $options.image.source
        + "',sizingMethod='scale');";

任何建议都将不胜感激!

1 个答案:

答案 0 :(得分:0)

也有同样的挑战。从我可以推断出,它与具有透明度的PNG文件有关。 CropZoom希望将AlphaImageLoader应用于它,但在许多浏览器中,它不是受支持的操作,甚至不需要。 我的错误报告在jquery.cropzoom.js的163ish行上,所以我看了一眼,然后快速编辑:

 if (ext == 'png' || ext == 'gif')
                $image.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"
                    + $options.image.source
                    + "',sizingMethod='scale');";

要:

if ((ext == 'png' || ext == 'gif')  && $.browser.msie)
                $image.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"
                    + $options.image.source
                    + "',sizingMethod='scale');";

它有效。

这也可能需要版本控制检查,我认为此代码的意图是如果扩展支持透明度,使用IE的DXImageTransform使其在cropzoom工具中显得透明。我认为这主要是旧版IE的需要。