1

我使用带有fileAPI(fileReader / dataURL)的输入(type =“file”)来获取png(具有透明度)图像,然后显示到网站中。这在台式机上效果很好。我只需单击按钮,浏览并选择我的图像,然后它将显示在网站上。

在 iOS iPhone(未在其他 ios 设备上测试)中,当您单击按钮时,浏览器会显示拍照或从相机胶卷中选择图像的选项。我在相机上选择了我的图像,它以白色背景显示;但这是一个具有透明度的 png 24,并且该背景不应该存在(就像在桌面中一样)。

我发现这可能是相机胶卷去除图像透明度的问题。所以我想知道是否有人使用 html 5 文件 api 从 iphone 获得了具有透明度的 png,如果是,该怎么做?

注意:我尝试使用 Dropbox(一个允许将图像复制到相机胶卷的其他应用程序)希望 png 图像不会失去透明度,但不知何故,所有图像在导入网站时都以令人讨厌的背景结束。

这是我目前用于通过 File API 获取图像的代码:

function init() {
    var bHaveFileAPI = (window.File && window.FileReader);
    document.getElementById("inputid").addEventListener("change", onFileChanged);
}
function onFileChanged(theEvt) {
    var thefile = theEvt.target.files[0];
    var reader = new FileReader();

    reader.onload = function (evt) {
        var resultdata = evt.target.result;
        $('<img>')
            .attr('title', thefile.name)
            .attr('src', evt.target.result)
            .prependTo('#imgin');
    }
    reader.readAsDataURL(thefile);
}
window.addEventListener("load", init);
4

0 回答 0