我使用带有fileAPI(fileReader / dataURL)的输入(type =“file”)来获取png(带透明度)图像,然后显示到网站中。这项工作非常适用于台式机。我只需单击按钮,浏览选择我的图像,然后它就会显示在网站上。
在iOS iPhone(未在其他ios设备上测试)单击按钮时,浏览器会显示拍摄照片的选项或从相机胶卷中选择图像。我在凸轮卷上选择我的图像,它显示为白色背景;但这是一个透明的png 24,背景不应该存在(就像在桌面上一样)。
我发现它可能是相机胶卷移除图像透明度的问题。所以我想知道是否有人使用html 5文件api从iphone获得了透明度,如果是这样,该怎么做?
注意:我尝试使用dropbox(其他应用程序,它们可以将图像复制到cam roll),希望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);