Canvas .toDataURL () gibt ein teilweise beschädigtes Bild zurück

8

Wir haben eine Webanwendung, die (teilweise zeitweise) eine teilweise beschädigte PNG-Bilddaten-URL zurückgibt. Das Bild hat einen großen schwarzen Bereich, der einige des Bildes abdeckt, aber nicht alles. Diese Bilder sind Kundensignaturen.
Zum Beispiel:

Wir verwenden die Signatur-Pad-Komponente von dies . Die Bild-URL wird mit der Routine getSignatureImage() zurückgegeben.

Das einzige, was ich aus den Zugriffsprotokollen gesehen habe, scheint die betroffenen Anfragen von "Samsung Galaxy Tab" -Geräten zu zeigen, aber mit Chrome 59. Andere Anfragen von den gleichen Geräten funktionieren jedoch OK.

Jede Hilfe wird geschätzt.

    
tip2tail 01.08.2017, 09:43
quelle

2 Antworten

1

Wir haben jetzt bestätigt, dass das Problem geräteabhängig war.

Die betroffenen Endbenutzer haben sich von älteren Samsung Galaxy Tab 4 -Geräten zu Tab S2 -Geräten geändert. Das Problem tritt nicht mehr auf.

Für die älteren Geräte scheint es eine Beschränkung der Zeichenfolgenlänge gegeben zu haben.

Danke für die Hilfe!

    
tip2tail 05.09.2017, 10:07
quelle
1

Ich denke, es ist kein Speicherproblem. Wenn das Bild zu viel Speicher verbraucht, wird ein Bild einfach schwarz (leere Pixel rgb (0,0,0) ). Versuchen Sie, Blob aus Canvas zu erhalten - canvas.toBlob (function (blob) {}). Wahrscheinlich ist dein Bild noch nicht geladen oder gezeichnet. Versuchen Sie, window.setTimeout irgendwo zu platzieren, bevor Sie die Bilddaten (base64 oder blob) erhalten

    
Alex Nikulin 10.08.2017 05:35
quelle

Tags und Links