Jak mogę otworzyć obraz na płótnie? który jest zakodowany
Używam
var strDataURI = oCanvas.toDataURL();
Wynikiem jest zakodowany obraz bazowy 64. Jak mogę narysować ten obraz na płótnie?
Chcę użyć strDataURI
i stworzyć obraz? Czy to się psuje?
Jeśli nie, to jakie może być rozwiązanie w celu załadowania obrazu na płótno?
Odpowiedzi:
Mając adres URL danych, możesz utworzyć obraz (na stronie lub wyłącznie w JS), ustawiając
src
obraz jako adres URL danych. Na przykład:drawImage()
Metoda z HTML5 Canvas kontekst pozwala skopiować całość lub część obrazu (lub płótnie lub video) na płótnie.Możesz go użyć w ten sposób:
Edycja : wcześniej zasugerowałem w tym miejscu, że może nie być konieczne używanie programu
onload
obsługi, gdy w grę wchodzi identyfikator URI danych. Opierając się na testach eksperymentalnych z tego pytania , nie jest to bezpieczne. Powyższa sekwencja - utwórz obraz, ustaw,onload
aby używał nowego obrazu, a następnie ustawsrc
- jest konieczna, aby niektóre przeglądarki z pewnością korzystały z wyników.źródło
canvas
na swojej stronie element o tym identyfikatorze? Czy zapewniłeś, żemyCanvas
nie jest to nieważne? Jeśli nadal masz problemy, zadaj własne pytanie lub wejdź na kanał czatu JavaScript .źródło
Być może te skrzypce pomogłyby ThumbGen - jsFiddle Używa File API i Canvas do dynamicznego generowania miniatur obrazów.
źródło
Możesz wyczyścić stary obraz przed ustawieniem nowego obrazu.
Musisz również zaktualizować rozmiar obszaru roboczego dla nowego obrazu.
Oto jak robię w moim projekcie:
źródło
w javascript, używając jquery do wyboru identyfikatora płótna:
html5:
źródło