Obrazy do podręcznika

Jest to trochę rozszerzenie do Zapisywanie dla sieci. Zajmuje się tworzeniem obrazów do podręcznika i sposobem optymalizacji obrazów.

Narzędzia do tworzenia zrzutów ekranu

W przypadku, gdy będziesz chciał stworzyć obraz ekranu ze wszystkimi dokami i narzędziami, to Zapisywanie dla sieci nie będzie zbyt pomocne: To ze względu, że zapisuje tylko treść płótna!

Tak więc zamiast tego, wykonamy zrzut ekranu. W zależności do twojego systemu operacyjnego, dostępnych jest kila narzędzi do tego.

Windows

Windows ma wbudowane narzędzie do zrzutów ekranu. Domyślnie uruchamiane na klawisz Print Screen. Na laptopach czasami będziesz musiał dodatkowo nacisnąć klawisz Fn.

Linux

Zarówno Gnome, jak i KDE mają przyzwoite narzędzia do robienia zrzutów ekranów, które pojawiają się domyślnie po naciśnięciu klawisza Print Screen. Podobnie jest na innych pulpitach. Jeśli z jakiegokolwiek powodu nie masz

ImageMagick

Z imagemagick możesz użyć następującego polecenia:

import -depth 8 -dither <filename.png>

Podczas gdy powinniśmy ograniczać liczbę plików GIF w podręczniku ze względu na różne powody związane z dostępnością, to czasami nadal potrzebujemy plików GIF oraz krótkich filmów. Dodatkowo, pliki GIF są całkiem przydatne do pokazywania nowych możliwości w dzienniku zmian do wydania.

Możesz użyć następującego programu do tworzenia krótkich plików GIF:

  • Peek – Ten program jest rozpowszechniany jako AppImage i jest prosty w obsłudze. Jak wiele programów do nagrywania ekranu, sprawia on kłopoty na Waylandzie.

macOS

Skrótem do tworzenia zrzutów ekranu na macOS jest Shift + Command + 3, według oficjalnej dokumentacji Apple.

Odpowiedni format pliku do zadania

Dla różnych rodzajów obrazów, nadają się różne rodzaje plików. Ostatecznie, chcemy, aby obrazy wyglądały ładnie i zajmowały mało miejsca, bo to czyni podręcznik łatwiejszym do pobrania i przeglądania w sieci.

Zrzuty ekranu GUI

To powinno być pliki PNG i jeśli to możliwe GIF.

Obrazy, które mają wiele płaskich barw.

To powinny być pliki PNG.

Obrazy w odcieniach szarości

To powinny być pliki GIF lub PNG.

Obrazy z dużą liczbą gradientów

To powinny być pliki JPG.

Obrazy z dużą ilością przezroczystości.

To powinny być pliki PNG.

Logika jest sposobem, w jaki każdy z nich zapisuje barwy. JPEG jest doskonały do zdjęć oraz obrazów z wieloma gradientami, bo pakuje inaczej. Jednakże, kontrasty nie działają dobrze w JPEG. PNG działają lepiej przy ostrych kontrastach, podczas gdy dla obrazów o liczbie barw mniejszej niż 256 plik GIF może okazać się lepszy.

Obrazy w odcieniach szarości, nawet wtedy gdy zawierają wiele zmiennych gradientów, powinny być zapisane jako PNG. Powodem jest, że gdy używamy obrazów w pełni barw, to polegamy na tym, że obraz używa od 3 do 5 liczb opisujących wartości barw, gdzie każda z tych wartości może być jedną z 256 różnych liczb. JPEG oraz inne «stratne» pliki używają sprytnych psychologicznych sztuczek, aby ograniczyć liczbę wartości potrzebnych do wyświetlenia treści obrazu. Jednakże, gdy tworzymy obrazy w odcieni szarości, to zachowujemy tylko wartość jasności. Jasność jest pojedynczą liczbą, która może przyjąć jedną z 256 wartości, czyniąc ją łatwą do przechowywania w plikach GIF lub PNG, zamiast JPEG, które mogą zawierać różne skazy. (Obrazy te są także trochę mniejsze)

W razie wątpliwości, wybierz PNG.

Optymalizowanie obrazów pod kątem jakości i rozmiaru

Podczas gdy większość edytorów obrazu próbuje nadać dobre wartości domyślne obrazom, to czasami chcemy, żeby były one jeszcze mniejsze, a możemy to zrobić przy użyciu pewnych narzędzi.

Windows

Najczęściej polecanym narzędziem do tego na Windowsie jest IrfranView, lecz twórca tego dokumentu nie ma pojęcia jak użyć go poprawnie.

Inną możliwością jest użycie PNGCrush, jak już wspomniano w dziale o Linuksie.

Linux

Optymalizowanie PNG

Istnieje długa lista narzędzi do optymalizacji PNG na Linuksa. Występują w dwóch odmianach: Stratne (używające psychologicznych sztuczek), oraz bezstratne (próbujące spakować dane w bardziej zwyczajny sposób). Następujące są jednak najczęściej polecanymi:

PNGQuant

Program do pakowania PNG przy użyciu bezstratnych technik do zmniejszenia liczby używanych barw w mądry sposób.

Aby użyć PNGquant, przejdź do danego katalogu i wpisz:

pngquant --quality=80-100 image.png

Gdzie obraz jest zastępowany nazwą pliku obrazu. Gdy naciśniesz klawisz Enter, to w katalogu pojawi się nowy obraz ze spakowanymi wynikami. PNGQuant działa na większość obrazów, lecz niektóre obrazy, jak te z wybierakami barw nie działają z nim dobrze, więc zawsze upewnij się, że obraz wynikowy wygląda dobrze, w przeciwnym przypadku wypróbuj następujących ustawień:

PNGCrush

Program do bezstratnego pakowania PNG. Użycie:

pngcrush image.png imageout.png

Wypróbuje to najczęstsze sposoby. Dodaj -brute, aby wypróbować wszystkie sposoby.

Optipng

Kolejny bezstratny program do pakowania PNG, którego można użyć po użyciu PNGQuant, wygląda na to, że jest to pierwotnie odgałęzienie png crush. Użycie:

optipng image.png

gdzie obraz jest nazwą pliku. OptiPNG następnie wypróbuje kilka algorytmów pakowania i zastąpi plik image.png wersją zoptymalizowaną. Możesz zapobiec temu zastąpieniu poleceniem --out imageout.png.

Optymalizowanie GIF

Optymalizowanie JPEG

JPEG jest zawiły do poprawnej optymalizacji. Jest tak, ponieważ to stratny format pliku, co oznacza, że używa psychologicznych sztuczek do przechowywania danych.

Jednakże, sztuczki, takie jak te, stają się bardzo oczywiste, gdy twój obraz zawiera wiele kontrastów, jak w przypadku np. tekstu. Dodatkowo, pliki JPEG nie są dobre, gdy zapisuje się je wielokrotnie. Z tego powodu, upewnij się, że gdzieś znajduje się bezstratna wersja obrazu, którą możesz poddawać zmianom i że tylko końcowy wynik jest w formacie JPEG.

macOS

  • ImageOptim – Nakładka graficzna na narzędzia wiersza poleceń takie jak PNGquant oraz gifski.

Zmienianie metadanych pliku

Czasami dane osobowe są zaszywane w pliku obrazu. Innym razem, chcemy zaszyć dane w pliku, aby lepiej go opisać.

Jest co najmniej 3 do 4 różnych sposobów na postępowanie z metadanymi, a same metadane mają różne sposoby na postępowanie z różnymi plikami.

Najczęściej używanym narzędziem do zmian na metadanych jest ExifTool, innym jest ImageMagick.

Windows oraz macOS

Aby uzyskać exiftool, wystarczy, że pobierzesz go ze strony sieciowej.

Linux

Na Linuksie, możesz także wgrać exiftool.

Debian/Ubuntu

sudo apt-get install libimage-exiftool-perl

Oglądanie metadanych

Zmień katalog na katalog, gdzie znajduje się obraz i wpisz:

exiftool image

gdzie obrazem jest plik, który chcesz zbadać. Jeśli wpiszesz exiftool będąc w dowolnym katalogu, to wypisze on wszystkie dane o plikach, które napotka. Jeśli dobrze się przyjrzysz niektórym obrazom, to zobaczysz, że zawierają metadane o autorze oraz miejscu. Czasami może to stanowić kłopot, jeśli chcesz zachować prywatność i jest także powodem, dla którego wszystkie metadane są usuwane.

Możesz także użyć tożsamości ImageMagick:

identify -verbose image

Oczyszczanie z metadanych

Usuwanie metadanych z przykładu obraz.png można wykonać następująco:

ExifTool

exiftool -all= image.png

Czyści to wszystkie znaczniki, które są widoczne dla exiftool. Możesz także zlecić usunięcie pojedynczego znacznika poprzez: exiftool -author= image.png

OptiPNG

optipng -strip image.png To oczyści i spakuje plik png.

ImageMagick

convert image.png –strip

Wydobywanie metadanych

Czasami chcemy wydobyć metadane, takie jak profil ICC, zanim usuniemy je wszystkie. Można to zrobić przekształcając obraz do profilu o rodzaju:

Narzędzie Convert od ImageMagick

Najpierw wydobądź metadane do profilu przekształcając:

convert image.png image_profile.icc

Następnie oczyść plik i ponownie dodaj dane z profilu:

convert -profile image_profile.icc image.png

Zaszywanie metadanych opisu

Metadane opisu są użyteczne dla ludzi posiadających czytniki ekranowe. Przeglądarki sieciowe często będą próbować użyć metadanych opisu, jeśli zamienny tekst nie jest dostępny do przypisania alt-text. Inną rzeczą, którą możesz chcieć osadzić są rzeczy takie jak dane przestrzeni barw.

ExifTool

ImageMagick

Ustawianie wartości exif:

convert -set exif:ImageDescription "Opis obrazu" obraz.png obraz_po_zmianach.png

Ustawianie kawałka PNG do opisu:

convert -set Description "Opis obrazu" obraz.png obraz_po_zmianach.png

Zaszywanie metadanych licencji

Zaszywanie metadanych licencji w pliku jest pod pewnym względem dobre, ponieważ pozwala w trwały sposób oznaczyć taki obraz. Jednakże, gdy ktoś wyśle taki obraz na inną stronę, to bardzo prawdopodobne, że metadane zostaną usunięte przez program imagemagick.

Używanie właściwości

Możesz użyć dcterms:license do wskazania miejsca przechowywania licencji.

ImageMagick

Dla GDPL:

convert -set dcterms:license "GDPL 1.3+ https://www.gnu.org/licenses/fdl-1.3.txt" image.png

Określa to skróconą nazwę i tekst licencji.

Dla Creative Commons BY-SA 4.0:

convert -set dcterms:license "CC-BY-SA-4.0 https://creativecommons.org/licenses/by-sa/4.0/" image.png

Rzecz z używaniem właściwości jest taka, że są one niestandardowym sposobem na określenie licencji, co oznacza, że komputery nie mogą z nimi wiele zrobić.

Używanie XMP

Strona creative commons zaleca do tego użycie XMP. Możesz wybrać, aby stworzyć odpowiedni plik XMP podczas wybierania licencji.

Do tego będziemy musieli użyć znaczników XMP dla exiftool.

Więc wyglądałoby to trochę jak to:

exiftool -Marked=true -License="https://creativecommons.org/licenses/by-sa/4.0" -UsageTerms="Praca ta jest na licencji <a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>." -Copyright="CC-BY-SA-NC 4.0" image.png

Innym sposobem na znaczenie jest:

exiftool -Marked=true -License="https://creativecommons.org/licenses/by-sa/4.0" -attributionURL="docs.krita.org" attributionName="kritaManual" image.png
Z imagemagick możesz ponownie użyć ustawienia profilu.

Najpierw wydobądź dane (jeśli są tam jakieś):

convert image.png image_meta.xmp

Następnie zmień plik wynikowy i zaszyj dane obrazu:

convert -profile image_meta.xmp image.png

Definicje XMP na licencję. Możesz stworzyć plik XML dla metadanych na stronie creative commons.