Я разрешаю пользователям просматривать изображения с помощью URL.createObjectURL () (который представляет изображение в виде большого двоичного объекта). Это сработало отлично, но теперь я использую плагин jCrop
чтобы позволить пользователям обрезать указанные изображения, и я столкнулся с незначительной проблемой.
jCrop отлично работал с BLOB-объектами, полученными из файлов JPG и PNG-файлов без прозрачности, но BLOB-объекты, полученные из прозрачных файлов PNG, отображают прозрачные пиксели (на холсте) в черный цвет (тот же эффект происходил с этими изображениями при изменении размера и загрузке на сервер (php), но это было исправлено с помощью imagealphablending()
).
jCrop вызывается следующим образом:
jQuery(function($) {
$("#myImageContainer").Jcrop({
onChange: myFunction
}, function () {
jcrop_api = this;
});
});
«Черные» изображения на холсте загружаются и сохраняются правильно с прозрачностью, так что это только внешний интерфейс. Кроме того, тот же эффект наблюдается, когда исходный png используется для предварительного просмотра вместо объекта, полученного из png. Есть ли способ исправить этот эффект на холсте вместо бэкэнда?
ОБНОВЛЕНИЕ: прозрачное изображение с самого начала чёрное … Я предполагаю, что автор плагина установил фон холста на чёрный. Я постараюсь изменить это.
Задача ещё не решена.
Других решений пока нет …