Purina Satou

Czytnik

player1427

player1427 2

AutorDodany dnia 2020-05-16 20:57:36
Dlaczego jedynym dostępnym formatem jest jpg, skoro png wydaje się być lepszą opcją zarówno pod względem jakości, jak i rozmiaru pliku?
Krylan

Krylan 4

Dodany dnia 2020-05-17 15:41:12
Przecież PNG jest formatem z kompresją bezstratną: waga plików PNG jest znacznie większa niż przy JPG (w niektórych przypadkach jest ta różnica mniejsza, ale wciąż występuje). Oczywiście jest z tym związana kwestia jakości obrazu, jednak trzeba iść na pewien kompromis jakości/wagi. O wiele lepszą opcją, z której tutaj korzystamy, jest WebP, który potrafi skompresować obraz w jakości podobnej do JPG, jednak z mniejszą wagą (nawet do 50-70% mniej).
Konwersja jest dokonywana automatycznie co jakiś czas, a ponieważ niektóre przeglądarki jeszcze nie obsługują w pełni formatu WebP, komiksy znajdują się na serwerze w obu wersjach (jeśli przeglądarka nie obsługuje WebP, wtedy otrzymuje cięższy plik JPG).

Podczas umieszczania stron w rozdziale formularz pozwala od niedawna na wprowadzenie plików PNG. Może się jednak okazać, że podczas konwersji z PNG na JPG (bo tak są zapisywane obrazy na serwerze) coś pójdzie nie tak, dlatego na razie nie jest to jeszcze w pełni pewne rozwiązanie.
player1427

player1427 2

AutorDodany dnia 2020-05-17 22:06:17
Ilustracja w formacie JPG waży więcej niż w PNG (odwrotnie jest jeśli chodzi o zdjęcia).
Kwestia formatu przyszła mi na myśl, jako rozwiązanie problemu nieczytelnej czcionki, występującej w komiksach zapisanych w formacie JPG.

Może dodanie informacji o najlepszych wymiarach i rozdzielczości rozwiązałoby ten problem?
Krylan

Krylan 4

Dodany dnia 2020-05-20 23:23:52
Ilustracja w formacie JPG waży więcej niż w PNG (odwrotnie jest jeśli chodzi o zdjęcia).

To zależy od tego, o jakiej ilustracji mówimy.
Na Inku mamy różne komiksy: czarno-białe, kolorowe, mniej lub bardziej zaawansowane graficznie. Wystarczy, że gdzieś zostanie użyty prosty gradient i waga pliku drastycznie wzrasta podczas zapisu do PNG. W przypadku obrazów zawierających proste kolory i ostre linie może rzeczywiście się zdarzyć, że PNG zajmie mniej, jednak komiksy częściej są cieniowane (w czerni i bieli rastrami i gradientami, a w kolorze gradientami i innymi odcieniami kolorów). Zastanawiam się jeszcze, czy przy takich obrazach i tak lepszym formatem niż PNG nie byłoby zrobienie grafiki wektorowo, zapisując do SVG, wtedy plik mógłby ważyć jeszcze mniej ;)

Inne serwisy udostępniające komiksy (takie jak Webtoon, Manga Plus) także przechowują obrazy w formacie JPG: bo one po prostu są lżejsze.
Ja z kolei poszedłem o krok dalej i dla jeszcze lepszej optymalizacji tworzę kopie w formacie WebP, dzięki czemu te strony zajmują znacznie mniej (więc szybciej się pobierają i mniej obciążają serwer), a jakość mają podobną do tej z JPG.

W sprawie nieczytelnego tekstu mogę jedynie radzić, żeby stosować odpowiednią wielkość fontu dla tekstów (w proporcji do reszty obrazu) i odpowiednio je kolorystycznie umieszczać (np. stosując obrysowanie tekstu dla oddzielenia go od koloru tła), ponieważ jeśli będzie zbyt mała, wtedy rzeczywiście może być nieczytelna po kompresji (ale w przypadku tradycyjnego druku mały tekst również może być uciążliwy dla czytelnika). Typografia to także ważna część komiksu, dlatego warto o to zadbać ^_^
Co do wymiarów stron, to skrypt obecnie skaluje strony do 1500px wysokości obrazu.
WildcatArren

WildcatArren 3

Dodany dnia 2021-08-05 13:37:06
Nowa sugestia na temat czytnika.
Czy byłaby możliwość, żeby nawigując strzałkami i klawiszami myszy można było cofnąć się wstecz do strony z poprzedniego rozdziału? Mogę bez problemu poruszać się w obie strony w obrębie jednego rozdziału, przeskoczyć tak do następnego, ale z pozycji pierwszej strony tego, w którym jestem, nie mogę się cofnąć.

I byłoby też dobrze, żeby czytnik zapamiętywał poziom zbliżenia. Po przejściu do następnego rozdziału się resetuje.
Krylan

Krylan 4

Dodany dnia 2021-08-05 22:19:30
Hmm... z tym cofaniem do poprzedniego rozdziału to nie chciałem, żeby zaraz po przejściu do następnego ktoś przypadkowo kliknął nie ten przycisk co trzeba, bo wtedy by go znowu przeniosło z powrotem, a wtedy musiałby ponownie przełączać rozdział na następny. A że czyta się komiksy strona po stronie, to przechodzenie do rozdziału, na którym się dopiero co było, zdaje się być niepotrzebne.
Niemniej jednak, wyobrażam sobie odwrotną sytuację, w której ktoś niekoniecznie przeczytał ostatnią stronę do końca, ale kliknął i go przeniosło – wtedy to by miało sens. Może jest to dobry pomysł, gdyby to wprowadzić może nieco inaczej... jeszcze to przemyślę.

Z kolei poziom zbliżenia to jak najbardziej, dobrze byłoby wprowadzić zapamiętywanie. Co prawda między komiksami istnieją różnice w rozmiarach stron, ale przynajmniej w ramach czytania jednego komiksu nie trzeba będzie ustawiać przybliżenia na każdym rozdziale z osobna.
Jak wrócę z urlopu, to się tym zajmę.
Krylan

Krylan 4

Dodany dnia 2021-11-02 21:41:18
@WildcatArren, co prawda trochę późno, ale w końcu znalazłem czas, żeby do tego przysiąść.
Zaktualizowałem czytnik, dodając zapamiętywanie ustawionego poziomu przybliżenia – teraz przy załadowaniu czytnika poziom zostanie dostosowany do tego, który był ostatnio ustawiony (wyjątkiem jest uruchomienie czytnika w wersji mobilnej, gdzie strona na starcie jest automatycznie dostosowywana do szerokości ekranu).
Zmieniłem również sposób przechodzenia pomiędzy rozdziałami. Poza wyborem odpowiedniego rozdziału z rozwijalnej listy (która teraz również nieco lepiej wygląda), można przejść ze skrajnych stron rozdziału na poprzedni/następny poprzez dwukrotne wykonanie akcji (np. naciśnięcia strzałki). Przy pierwszym działaniu pojawi się komunikat, aby powtórzyć akcję, wraz z kilkusekundowym licznikiem, po uzupełnieniu którego komunikat znika i wtedy akcja jest anulowana. W ten sposób myślę, że nie powinno zdarzać się przypadkowe przejście pomiędzy rozdziałami, a sama mechanika nie powinna być uciążliwa.

Zmian było więcej, ale o nich napiszę jeszcze w aktualizacji zbiorczej w innym temacie :D

A jeśli są jakieś uwagi do działania nowych funkcjonalności lub sugestie, co można byłoby jeszcze tam dodać, to chętnie wysłucham.