Próbuję renderować obraz lokalny załadowany obiektem FileReader na kanwie w Safari Mobile na iOS6. Ale każdy obraz z adresem URL danych jest renderowany pionowo. Czy to błąd? W Chrome jest renderowany poprawnie.Mobile Safari renderuje <img src="data:image/jpeg;base64..."> skalowane na płótnie?
ScreenShot from iOS6 (powyżej: Płótno, poniżej: Original Image)
Czy istnieje jakiś sposób na obejście tego błędu? Czy to błąd?
Jeśli najpierw zmieniam rozmiar obrazu na urządzeniu przy pomocy aplikacji "PhotoWizard" (przeskaluj go do szerokości 720px), płótno renderuje go poprawnie. Wydaje się, że problem z rozmiaru obrazu lub obrazy wykonane aparatem App:
Wypróbowane sugestie Jake Archibald, wygląda nieco lepiej, ale nadal dostaje pionowo skalowane:
Wypróbowałem to już dziś na Galaxy Nexusie z zainstalowanym Androidem 4.1.1. Działa jak się spodziewano, więc to naprawdę wygląda jak mobilnego Safari numerze:
Znalazłem coś podobnego podczas próby zmiany rozmiaru obrazu w JS. Patrz: – NimmoNet
Jakiekolwiek obejście problemu? Próbowałem dodać pięciosekundowe opóźnienie między "onload" a uzyskaniem obrazu w/h i renderowaniem go na płótnie. Nie naprawiłem tego. Pomyślałem również o "requestAnimationFrame" przed renderowaniem obrazu na płótnie, również go nie naprawiłem. –
Próbowałem użyć adresu URL Bloba w następujący sposób: window.URL.createObjectURL (plik) ... i załadować go do img.src Wyniki w tej samej awarii, renderowanie obrazu z "Blob-src" get's również renderowane pionowo skalowane na płótnie –