PerfectVector
Autor: Irene Kim

Obraz obraca się po przesłaniu? Sprawdź dane EXIF

Jeśli rysunek obróci się na bok podczas przesyłania, przed wykonaniem obrysu sprawdź orientację EXIF. Utwórz pionową kopię pikseli, otwórz ją ponownie i porównaj kierunek wektora.

8 min czytania
Na tej stronie

Jeśli rysunek JPEG w jednym miejscu wygląda pionowo, a po przesłaniu obraca się na boki, sprawdź jego pole Orientacja EXIF. Plik może przechowywać piksele ustawione na boki oraz instrukcję wyświetlania ich w pozycji pionowej. Utwórz osobną kopię z instrukcją zastosowaną do pikseli, a następnie usuń lub zresetuj instrukcję orientacji. Otwórz ponownie zapisaną kopię przed jej śledzeniem.

Dla kogoś, kto fotografuje rysunek lub napis, użyteczny wynik jest prosty: góra grafiki pozostaje na górze, napis jest czytany poprawnie i wiesz, który dokładnie plik przesyłasz. Zachowaj oryginalne zdjęcie, aby móc porównać wskazówki i odzyskać siły po błędnym obrocie.

Przed oceną śladu sprawdź rotację
  • Porównaj oryginał, widok przesłanego obrazu i podgląd wektorowy, aby zlokalizować pierwszą zmianę.
  • Zastosuj raz prawidłową orientację EXIF, a następnie zapisz pionowe piksele bez dalszych instrukcji obracania.
  • Jeśli zapisana kopia nadal jest błędna, przed ponownym obróceniem sprawdź, czy brakuje znacznika lub czy jest on nieprawidłowy.
Wypróbuj na własnym obrazie
Otwórz pełne narzędzie
Za darmo i bez rejestracji: upuść obraz, aby zobaczyć podgląd swojego wektora.

Zapisane piksele i wyświetlany kierunek mogą się różnić

EXIF to metadane obrazu. Pole Orientacja opisuje sposób orientacji zapisanego obrazu do wyświetlenia. Odniesienie do orientacji EXIF ​​firmy Microsoft odróżnia stan normalny od obrotów i odbić.

W tym przykładzie przydatne są trzy wartości:

Wartość orientacjiWymagane działanie, aby wyświetlić zapisane piksele
1Brak rotacji
6Obróć o 90 stopni w prawo
8Obróć o 90 stopni w kierunku przeciwnym do ruchu wskazówek zegara

Liczby te opisują instrukcję wyświetlania, a nie zamierzony temat rysunku. Inne wartości orientacji obejmują odbicia; tabela nie jest pełną listą EXIF.

Widz, który zastosuje instrukcję, może wyświetlić obraz w pozycji pionowej, podczas gdy kontrola surowych pikseli pokaże go z boku. Daje to testowalne wyjaśnienie pliku źródłowego do zbadania. Samo w sobie nie określa, co zrobiła konkretna ścieżka przesyłania lub wektoryzator.

Użyj asymetrycznego detalu jako punktu odniesienia. Czytelne słowo, strzałka lub gałąź po jednej stronie powie Ci więcej niż okrąg. Sprawdź zarówno górę/dół, jak i lewo/prawo; lustrzane słowo to inny problem niż obrót o ćwierć obrotu.

Co pokazał nasz test EXIF ​​1, 6 i 8

Narysowaliśmy oryginalną ilustrację rastrową 1200×800 ze strzałką w górę, nierównymi gałęziami i słowem GROW. 9, 2026, zapisaliśmy trzy kontrolki JPEG: pionowy plik z orientacją 1 oraz wersje z bocznymi pikselami z orientacją 6 i orientacją 8, które instruują czytelnika, aby wyświetlał je w pozycji pionowej. Są to autorskie pliki cyfrowe, a nie próbki aparatu telefonicznego.

Zastosowaliśmy Pillow 11.3.0 ImageOps.exif_transpose i zapisaliśmy kopie w formacie PNG. W Pillow opisano tę operację: zastosuj orientację EXIF ​​i usuń dane orientacji, gdy wymagana jest transpozycja.

Kontrola JPEGZapisane wymiaryZapisano znormalizowany plik PNGZapisane pole orientacji
Orientacja 11200×8001200×800, pionowoNieobecny
Orientacja 6800×12001200×800, pionowoNieobecny
Orientacja 8800×12001200×800, pionowoNieobecny

W przypadku każdej kontrolki zapisane piksele odpowiadały oczekiwanemu obrotowi zdekodowanych pikseli tego pliku JPEG. Zastosowanie normalizacji po raz drugi nie zmieniło żadnych pikseli. Uruchomiliśmy także ImageMagick 7.1.2-32 -auto-orient na wszystkich trzech plikach: jego dane wyjściowe miały te same zdekodowane piksele RGB co kopie Pillow i orientację 1.

Zapisany kierunek a zapisany kierunek
Preview wyświetlający złożone porównanie bocznych 6 zapisanych pikseli EXIF, kontrolki zastosowanej w orientacji Pillow oraz zapisany pionowy, znormalizowany rysunek
Rzeczywiste zapisane piksele z testu rysowania. Preview wyświetla złożone porównanie RGB; środkowy panel wyraźnie stosuje orientację w Pillow, zamiast testować dekoder JPEG Preview's.

Wprowadziliśmy także kontrolę błędów: zmieniliśmy tylko etykietę orientacji 6 pliku bocznego na 1, bez ponownej kompresji lub obracania jego pikseli. Pozostało 800×1200 i na boki. Fizyczne obrócenie tego elementu sterującego o 90 stopni w kierunku zgodnym z ruchem wskazówek zegara i zresetowanie instrukcji dało takie same pionowe piksele, jak w przypadku znormalizowanej kopii Orientacja 6.

Ten test określa etapy przygotowania plików dla tych kontrolek. Nie testuje selektora telefonu, przesyłania przez przeglądarkę, konwersji PerfectVector ani fizycznego wyniku cięcia.

Zapisz pionową kopię roboczą

Potrzebujesz oryginalnego pliku JPEG, wyraźnego odniesienia do zamierzonego kierunku i narzędzia obrazu, które może zastosować orientację EXIF ​​​​do pikseli. Poniższa trasa poleceń wymaga ImageMagick. Pracuj nad duplikatem i nadaj wynikowi odrębną nazwę pliku, abyś mógł go później wybrać niezawodnie.

  1. Zlokalizuj pierwszą zmianę kierunku. Porównaj oryginalną grafikę lub zdjęcie z plikiem w przeglądarce i podglądem przesyłania. Zwróć uwagę na słowo lub znak asymetryczny, który powinien pozostać po tej samej stronie. Nie zakładaj, że miniatura potwierdza zapisany kierunek pikseli.
  2. Sprawdź instrukcję orientacji. Jeśli plik JPEG ma prawidłową orientację 6 lub 8, która wyjaśnia piksele przechowywane na bokach, zastosuj tę instrukcję do danych obrazu. Jeśli pola nie ma, 1 lub jest ono niezgodne z grafiką, użyj poniższej kontroli błędów.
  3. Zapisz zastosowany wynik jako nowy obraz. Ustaw piksele pionowo i pozostaw instrukcję orientacji normalną lub nieobecną. W teście użyliśmy kopii roboczych w formacie PNG, zachowując oryginalne wymiary po ćwierćobrocie, zamiast zmieniać rozmiar lub przycinać grafikę.
  4. Otwórz ponownie zapisaną kopię. Sprawdź strzałkę, napis i szczegóły dotyczące strony z oryginałem. Upewnij się, że wymiary są odpowiednie dla zamierzonego kierunku i że pole Orientacja nie wymaga już kolejnego obrotu.
  5. Prześlij dokładnie tę kopię i porównaj ponownie. Upewnij się, że widok przesłanego obrazu i podgląd wektorowy zachowują tę samą górę i boki. Jeśli kierunek zmieni się później, zachowaj oba pliki i zbadaj ten etap, zamiast wielokrotnie obracać źródło.

Przetestowane polecenie ImageMagick

W przypadku pliku, którego instrukcja EXIF ​​poprawnie opisuje zamierzony widok, zastąp te nazwy wejść/wyjść własnymi:

magick "drawing-exif6.jpg" -auto-orient "magick-normalized-exif6.png"

ImageMagick dokumentuje -auto-orient jako zastosowanie i resetowanie instrukcji orientacji. Ostrzega również, że już poprawione piksele z nieaktualną instrukcją można poprawić ponownie i że usunięcie instrukcji nie pozostawia operatorowi nic do zastosowania.

Nasze polecenie testowe wygenerowało pionowy obraz PNG 1200×800 z orientacją 1. Otwórz ponownie własne dane wyjściowe i sprawdź je; polecenie nie może określić zamierzonej góry dowolnego rysunku na podstawie jego tematu.

Jeśli zapisana kopia nadal znajduje się na boku

Wybierz następną akcję z aktualnego stanu pliku:

Co znajdzieszNastępna akcja
Boczne piksele z prawidłową instrukcją obrotuZastosuj instrukcję raz i zapisz wynik
Boczne piksele z orientacją 1 lub bez użytecznych instrukcjiUżyj oryginalnej grafiki, aby wybrać fizyczny obrót pikseli, a następnie zapisz z normalną lub nieobecną instrukcją
Pionowe piksele z nieaktualną instrukcją rotacjiPopraw instrukcję w duplikacie, nie dodając kolejnego niepożądanego obrotu pikseli
Zapisany raster jest w pozycji pionowej, ale wektor najpierw obraca się późniejPorównaj dokładne źródło i wynik na późniejszym etapie; zachowaj oba pliki do diagnostyki
Napisy są odwróconeSprawdź odbicie osobno; obrót o 90-stopni nie spowoduje cofnięcia odbicia lustrzanego słowa

Sama wartość pola nie może powiedzieć, że temat jest odwrócony do góry nogami. W przypadku celowo nieprawidłowej kontrolki tagu 1 w naszym teście wiedzieliśmy właściwy kierunek, ponieważ posiadaliśmy oryginalny rysunek. Użyj tego samego rodzaju odniesienia w swojej pracy.

Obrót nie naprawia również strony w kształcie trapezu, rozmazanego atramentu ani brakujących krawędzi. Sprawdź proces skanowania lub fotografowania, aby uchwycić geometrię i szczegóły linii. Jeśli kierunek jest prawidłowy, ale krawędzie JPEG są zaszumione, w następnej kolejności wykonaj sprawdzanie jakości śledzenia JPG.

Gdzie pasuje PerfectVector

PerfectVector sprawdza się, gdy sfotografowany rysunek potrzebuje kształtów SVG wielokrotnego użytku po tym, jak źródło przejdzie kontrolę kierunku i szczegółowości. Zacznij od pionowej kopii roboczej, a następnie porównaj podgląd wektorowy z dokładnie tym obrazem: sprawdź górną krawędź, czytelne litery, oznaczenia charakterystyczne dla stron i granice rysunku.

Zachowaj użyteczny oryginalny rysunek wektorowy lub cyfrowy, jeśli już go masz. Jeśli zdjęcie straciło obrys lub przycięło papier, przed śledzeniem popraw źródło. Normalizacja orientacji zapewnia spójne odniesienie; nie przywraca brakujących dzieł sztuki.

W przypadku szerszego przekazywania plików z telefonu do pliku, przebieg pracy w formacie SVG na telefonie iPhone obejmuje wybór obrazu i zlokalizowanie wyniku. Przeprowadź te same kontrole kierunku w dowolnym urządzeniu i ostatecznym narzędziu projektowym, którego używasz.

Często zadawane pytania

Dlaczego plik JPEG może wyglądać prosto, ale zawierać piksele ustawione na boki? Pole EXIF ​​Orientation może poinstruować czytelnika, aby obrócił zapisany obraz w celu wyświetlenia. Zapoznaj się z instrukcją i porównaj z oryginalnym rysunkiem, zanim podejmiesz decyzję, w jakim kierunku powinny znajdować się rzeczywiste piksele.

Czy zmiana pola Orientacja na 1 wystarczy? Tylko wtedy, gdy zapisane piksele są już ustawione w zamierzonym kierunku. Nasza kontrolka resetowania tylko tagów pozostała bokiem, ponieważ jej piksele się nie poruszały. Zastosuj wymaganą rotację pikseli i pozostaw zapisaną instrukcję w stanie normalnym lub nieobecną.

Czy automatyczne orientowanie naprawi plik bez przydatnej instrukcji orientacji? Nie może wybrać zamierzonej góry rysunku z brakującej lub błędnej instrukcji. Użyj oryginalnej grafiki jako odniesienia, w razie potrzeby celowo obróć piksele i ponownie otwórz zapisaną kopię przed przesłaniem.

Źródła

  1. Microsoft — wyliczenie PhotoOrientation — definiuje flagę orientacji EXIF ​​oraz jej wartości normalne, obrotowe i odbicia.
  2. Pillow — ImageOps.exif_transpose — Dokumenty stosujące transformację orientacji i usuwające dane orientacji.
  3. ImageMagick — opcja automatycznego orientowania — wyjaśnia zastosowanie/resetowanie orientacji oraz ograniczenia brakujących lub nieaktualnych metadanych.

Masz pionowy rysunek zawierający potrzebne szczegóły? Zacznij bezpłatnie z własnym obrazem w PerfectVector. Porównaj kierunek, litery i krawędzie podglądu wektorowego z zapisanym źródłem, zanim użyjesz go w swoim projekcie.

Więcej z bloga

PerfectVector

Zamień logo lub grafikę w
czysty, edytowalny SVG

Wektoryzuj i sprawdzaj podgląd za darmo, bez dziennego limitu.