<img id="obrazek"/> <script> var ctx = document.getElementById('new_canvas').getContext('2d'); var img = new Image(); img.src = "html5.png"; img.onload = function() { ctx.drawImage(img,0,0); } document.getElementById('obrazek').setAttribute("src", document.getElementById('new_canvas').toDataURL("image/png")) ; </script> </p>
testowałem go na tym obrazku:
http://img69.imageshack.us/img69/3418/html5.png
Skrypt powinien robić 2 rzeczy:
1. wczytuje obrazek do elementu canvas
2. wyświetla obrazek do elementu <img id="obrazek"/> za pomocą toDataURL
Problem w tym, że (2) nie działa. To znaczy obrazek nie wyświetla się. Wydaje mi się, że prawdopodobnie toDataURL() błędnie konwertuje ten obrazek:
Cytat
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAxUlEQVR4nO3BMQEAAADCo
PVPbQhfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA1
v9QAATX68/0AAAAASUVORK5CYII=
PVPbQhfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA1
v9QAATX68/0AAAAASUVORK5CYII=
a tymczasem converter online
http://websemantics.co.uk/online_tools/ima..._uri_convertor/
dla tego samego obrazka zwrócił zupełnie inny kod, który był wyraźnie dłuższy i rzeczywiście, gdy ustawi się go jako parametr src elementu img, to obrazek wyświetla się prawidło!
Co więc jest nie tak w tym moim kodzie, że u mnie obrazek się nie wyświetla? Wygląda na to, że funkcja toDataURL() źle konwertuje, ale dlaczego?