我让用户使用URL.createObjectURL()(将图像表示为blob)预览图像。这很有用,但现在我使用插件jCrop
让用户裁剪出来的图像,我遇到了一个小问题。
jCrop对从jpg文件派生的blob和没有透明度的png文件工作得很好,但是从具有透明度的png文件派生的blob将透明像素(在画布上)呈现为黑色(这些图像发生时效果相同)调整大小并上传到后端(php),但这已使用imagealphablending()
)进行了更正。
jCrop被称为如下:
jQuery(function($) {
$("#myImageContainer").Jcrop({
onChange: myFunction
}, function () {
jcrop_api = this;
});
});
画布上的“黑色”图像会以透明度上传和保存,因此这只是前端效果。另外,当使用源png而不是png派生的blob时,观察到相同的效果。他们有什么方法可以在画布而不是后端校正这种效果吗?
更新:透明图像从一开始就是黑色...我假设插件的作者将画布背景设置为黑色。我会尝试改变这一点。