„Chcę zmienić DPI za pomocą Imagemagick bez zmiany rzeczywistego rozmiaru bajtów danych obrazu”.
To jest całkowicie niemożliwe!
Dlatego:
more "Dots per Inch"
<==> more pixels per area
<==> more total pixels per image
<==> more total bytes per image
Wydaje się również, że nie rozumiesz, czym w rzeczywistości jest DPI:
- Jest to całkowicie abstrakcyjna wartość, która zyskuje praktyczną wartość tylko w kontekście znajomości bezwzględnego rozmiaru wydruku lub renderowania na ekranie lub monitorze:
- Możesz „wydrukować” ten sam obraz 72x72 pikseli na kwadracie o szerokości 1 cala: wydruk będzie miał rozdzielczość
72dpi
.
- Możesz go również „wydrukować” na kwadracie o szerokości 1/4 cala: wtedy wydruk będzie miał rozdzielczość
288dpi
.
- ( Uwaga: jeśli „wydrukujesz” go na
288dpi
kwadracie o przekątnej 1 cala, nie będzie to już ten sam obraz: zostanie on poddany ekstrapolacji przez sterownik drukarki lub inny mechanizm filtrujący, a zamiast tego będzie miał obraz 288 x 288 pikseli obraz 72x72 pikseli ... )
- Oba wydruki będą miały te same informacje o obrazie - obraz o rozdzielczości 288 dpi nie będzie nagle miał więcej.
Jeśli chcesz wydrukować oryginalny obraz 72 x 72 piksele jako kwadrat o szerokości 1 cala, ale w 288dpi
, wtedy musisz przeskalować obraz (w tym przypadku skalować go w górę). Na każdy 1 piksel w oryginale potrzebujesz 4 pikseli nowego, powiększonego obrazu. Teraz istnieją różne algorytmy, których można użyć do obliczenia, jakie wartości kolorów powinny mieć te 4 piksele (3 z nich nowe piksele):
- możesz dać im to samo, co oryginalny piksel (który jest bardzo „surowym” algorytmem,
- lub możesz zrobić uśrednienie wartości koloru oryginalnego piksela z wartościami kolorów sąsiednich pikseli.
W każdym razie tworzysz większy obraz składający się z 288 rzędów pikseli o wysokości 288 pikseli (288 x 288 pikseli).
Co robi dla ciebie Gimp po przejściu przez „Obraz -> Rozmiar wydruku”: upraszcza proces ponownego obliczania wymaganych zmian w absolutnych rozmiarach pikseli, czyniąc go bardziej przyjaznym dla użytkownika. W tym celu ...
- ... najpierw pyta o DPI, ponieważ dana drukarka nie może arbitralnie zmienić rozdzielczości drukowania (niektóre mogą zaoferować nie tylko jedną, ale może nawet 2 lub 3 różne rozdzielczości). Pyta więc, w jakiej rozdzielczości chcesz wydrukować. To jest pierwsza informacja.
- ... to zwraca się również do drugiego kawałka informacji: w którym wielkość (w
cm
, mm
lub inch
) wydruk powinien pojawić się na papierze.
Zgodnie z tymi dwoma informacjami Gimp oblicza całkowitą liczbę pikseli, których musi użyć (ekstrapolować z pierwotnej liczby pikseli), aby wypełnić żądane miejsce w żądanej rozdzielczości.
Jednak skalowanie obrazu rastrowego poprzez dodanie większej liczby pikseli nie dodaje do niego prawdziwych informacji, a jedynie dodaje „jakości”, która jest fikcyjna. Dla ludzkiego oka może to wyglądać ładniej, jeśli algorytm zwiększania skali jest „dobry”. I będzie wyglądać brzydko, jeśli podwoisz, potroisz lub poczwórnie istniejące piksele, tak jak robią to niektóre proste algorytmy.
W przypadku obrazów rastrowych
ustawienie DPI ma znaczenie tylko w kontekście drukowania lub wyświetlania . Ponieważ drukarki lub monitory mają ustalone rozdzielczości. Dlatego jest to informacja, że tylko ...
- ... sterownik drukarki lub
- ... aplikacja do przetwarzania obrazu obsługująca drukowanie
potrzebuję wiedzieć.
A dokumentacja ImageMagick jest w pełni zgodna ze mną:
-density width
-density widthxheight
Ustaw poziomą i pionową rozdzielczość obrazu do renderowania na urządzeniach.
W przypadku obrazów wektorowych lub formatów plików
(takich jak PDF lub PostScript) ustawienie DPI jest jednak niezwykle ważne w kontekścieich rasteryzacji . Wyższe DPI przeniesie więcej informacji o obrazie do formatu rastrowego, a tym samym zachowa więcej szczegółów z prawdziwej oryginalnej jakości. Podczas przekształcania obrazu wektora w danej wielkościmm
,cm
lubinch
w rastrze o wyższym DPI będzie bezpośrednio przekłada się na wyższą całkowitej liczby pikseli w obrazie.
Ponadto ImageMagick nie obsługuje „drukowania” jako takiego. Zamiast tego tylko ImageMagick ...
- ... konwertuje pliki z danego formatu rastrowego na inne formaty rastrowe;
- ... lub zmniejsza lub rastruje obrazy;
- ... lub zmienia wartości kolorów zgodnie z określonym algorytmem;
- ... lub przycina obrazy, nakłada je, odwraca, odzwierciedla je;
- ... a co nie ....
... ale aby wydrukować zmanipulowane obrazy, musisz użyć innego programu.
Niektóre formaty obrazu (TIFF, PNG, ...) obsługują zapisywanie ustawienia DPI wewnętrznie w swoich metadanych.
Ale to tylko atrybut „podpowiedzi”, który nie zmienia podstawowego obrazu rastrowego. Właśnie dlatego dokonałeś tego odkrycia:
„Kiedy sprawdzam plik, pozostaje ten sam”.
Ta „wskazówka” może być automatycznie oceniona przez sterowniki drukarki lub programy do tworzenia stron, takie jak LaTeX. W przypadku braku takich „wskazówek” DPI (lub jeśli w jakiś sposób nie prezentują się w sposób, w jaki LaTeX tego oczekuje), LaTeX nadal powinien mieć możliwość wyświetlenia dowolnego obrazu na stronie tak, jak się tego spodziewasz do - potrzebuje tylko bardziej wyraźnego kodu LaTeX wokół obrazu!
Niektóre inne formaty obrazu (JPEG (?), BMP, ...) nawet nie obsługują przechowywania podpowiedzi DPI na ich wewnętrznych metadanych.
Tak więc Gimp obsługuje tylko to, co widzisz dzięki opcji „Obraz -> Rozmiar wydruku”, ponieważ chce wydrukować obraz. Dzięki ImageMagick nie można drukować.
Podczas drukowania rób to, co chcesz robić z Gimpem. Z ImageMagick nie ma to sensu.
Zobacz także ten dodatkowy fragment dokumentacji czatu , który wyjaśnia ten sam temat innymi słowami.
Pozostaje więc:
- Jeśli „zmanipulujesz” swój obraz za pomocą Gimp, a następnie osadzisz wynik w LaTeX, strona wygląda tak, jakbyś tego oczekiwał.
- Jeśli „zmanipulujesz” swój obraz za pomocą ImageMagick, a następnie osadzisz wynik w LaTeX, strona wygląda inaczej niż się spodziewasz.
Podaj następujące informacje, aby rozwiązać powyższy problem:
- dokładna wersja twojej instalacji ImageMagick (pełne wyjście
convert -version
i convert -list configure
);
- (link do) oryginalnego przykładowego obrazu;
- (link do tego) ten sam obraz, którym manipulował Gimp;
- (link do tego samego obrazu manipulowanego przez ImageMagick.
W ten sposób możemy pomóc rozwiązać problem.
Ale uwaga: jest to inny problem niż ten, o który pyta twój obecny temat / nagłówek: „Chcę zmienić DPI za pomocą Imagemagick bez zmiany rzeczywistego rozmiaru bajtów danych obrazu”
Aktualizacja
Ponieważ niektórym czytelnikom wciąż nie jest jasne, co zauważyłem powyżej, oto jeszcze jedna próba ...
Cokolwiek jest oznaczone jako „Rozdzielczość” lub „Gęstość” w pliku obrazu, jest atrybutem metadanych . Nie ma to wpływu na liczbę rzeczywistych pikseli opisanych w pliku i jest całkowicie nieistotne w tym względzie. Jest to tylko wskazówka, której urządzenie drukujące lub renderujące lub aplikacja może, ale nie musi, stosować podczas drukowania, renderowania lub wyświetlania obrazu.
W tym celu jest to tylko niewielka liczba przechowywana w pliku obrazu. Liczby te informują urządzenia wyjściowe, takie jak drukarki, i wyświetlają liczbę punktów (lub pikseli) na cal, na których obraz powinien być wyświetlany. W przypadku formatów wektorowych, takich jak PostScript, PDF, MWF i SVG, informuje skalę pikseli, aby narysowała dowolne współrzędne świata rzeczywistego używane przez obraz.
Jednym z przykładów, w którym wartość rozdzielczości odnotowana przez ImageMagick wewnątrz metadanych obrazu NIE jest honorowana przez aplikację, jest Adobe Photoshop. Photoshop przechowuje wskazówki dotyczące pożądanej rozdzielczości wydruku lub wyświetlania w zastrzeżonym profilu o nazwie 8bim . ImageMagick nie dotyka tego profilu, nawet gdy zostanie poproszony o zapisanie zmiany rozdzielczości w metadanych pliku obrazu. Z drugiej strony Photoshop zignoruje wszystkie wskazówki dotyczące rozdzielczości przechowywane przez ImageMagick w standardowym polu metadanych zdefiniowanym w tym celu, gdy tylko zobaczy swój własny profil 8bim .
PO powinien był wybrać nagłówek:
- „Chcę zmienić DPI (wskazówkę dotyczącą rozdzielczości metadanych) za pomocą ImageMagick bez zmiany faktycznej liczby pikseli na obrazie”
aby uniknąć wszelkich nieporozumień ...
^
ikonę po lewej stronie jego odpowiedzi), a nie tylko „zaakceptowaniu”, gdy tylko będziesz mieć wystarczającą osobistą reputację (myślę, że potrzebujesz +15) ...