Wenn ich versuche, JCROP mit einem transparenten Hintergrund-Canvas zu verwenden, rendert es schwarz, ich habe es online überprüft, und die auf der Frage jcrop turns transparent image black angegebene Lösung funktioniert nicht für mich , es produziert immer noch einen schwarzen Hintergrund. Unten ist mein Code. Jede Hilfe, um diese Arbeit zu bekommen, wäre sehr willkommen!JCROP fügt dem transparenten Bild auf dem schwarzen Hintergrund einen schwarzen Hintergrund hinzu
var maxWidth = 200;
var img = new Image();
img.onload = function() {
var canvas = document.createElement('canvas');
canvas.width = maxWidth;
canvas.height = img.height * (maxWidth/img.width);
var ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
document.getElementById('image').src = canvas.toDataURL();
$('#image').Jcrop({
bgColor:'',
setSelect: [0, 0, canvas.width, canvas.height]
});
}
img.setAttribute('crossOrigin', 'anonymous');
img.src = 'https://z1.porter21.com/wp-content/uploads/sites/2/2015/02/sprite1.png';
Eine Live-Probe
Gibt es eine Möglichkeit, dies auf Jcrops Thumbnailvorbetrachtung auch umzusetzen? Da das Bild schwarz erscheint. Es ist nicht so einfach, nur einen Hintergrund zu erstellen, da es sich um eine gezoomte Vorschau handelt. – Paul
Ich erinnerte mich, dass es vorher eine SO Frage über Jcrop gab: http://stackoverflow.com/questions/34651017/how-should-i-crop-the-image-at-client-side-using-jcrop-and-upload- es/. Ich habe die Antwort so modifiziert, dass sie keinen schwarzen Hintergrund zeigt (bgColor scheint irgendwie zu funktionieren) und fügte einen Kommentar in die 'validateImage()' 'Funktion hinzu, um anzuzeigen, wo Sie die Miniaturbild-Bildquelle aktualisieren können: http: // jsfiddle.net/seahorsepip/wepu47zn/ – seahorsepip