CodeKitHub
Polski
Narzędzia do obrazów

Konwerter obrazów na grafikę ASCII

Prześlij zdjęcie, a otrzymasz je z powrotem w postaci siatki znaków ASCII, których cieniowanie odpowiada jasności oryginalnego obrazu — to klasyczny styl „sztuki tekstowej”. Wszystko odbywa się na obszarze roboczym w Twojej przeglądarce: obraz jest odczytywany lokalnie i nigdy nie jest przesyłany nigdzie.

Czym jest to narzędzie?

Narzędzie to pobiera próbki obrazu na siatce, mierzy jasność każdej komórki i zastępuje ją znakiem z skali, która przechodzi od „wyglądających na puste” (spacja, kropka) do „wyglądających na gęste” (@, #, jednolity blok). Domyślnie jaśniejsze obszary są mapowane na znaki o większej gęstości, a ciemniejsze — na znaki o mniejszej gęstości. Ponieważ wynik to jasny tekst na ciemnym polu, dzięki temu jasne fragmenty zdjęcia faktycznie wyglądają na jasne, a ciemne wtapiają się w tło.

Różni się to od dostępnego na tej stronie tekstowego generatora grafiki ASCII, który przekształca wpisane słowa w duże drukowane litery (baner w stylu FIGlet). To narzędzie działa na odwrót — jako dane wejściowe wykorzystuje prawdziwe zdjęcie lub plik graficzny, a nie wpisany tekst.

Dlaczego warto go używać?

  • Jednym kliknięciem zamień dowolne zdjęcie w grafikę ASCII w postaci zwykłego tekstu, którą można udostępniać.
  • Regulowana szerokość wyjściowa oraz trzy zestawy znaków (szczegółowa skala szarości, prosta skala 7-znakowa lub cieniowanie bloków Unicode) pozwalające uzyskać różne efekty wizualne.
  • Opcja odwrócenia obrazu przy wklejaniu na jasnym tle.
  • W 100% prywatne — przetwarzanie obrazu odbywa się lokalnie, Twoje zdjęcie nigdy nie jest przesyłane do serwera.
  • Za darmo, bez rejestracji, bez znaku wodnego.

Jak używać

  1. Kliknij obszar przeznaczony do przesyłania plików lub przeciągnij do niego obraz w formacie JPG, PNG lub WebP.
  2. Ustaw szerokość wyniku (w znakach) — większe wartości zapewniają większą szczegółowość, ale wynik jest szerszy.
  3. Wybierz zestaw znaków: „Szczegółowy” – dla płynnych przejść tonów, „Prosty” lub „Bloki” – dla bardziej wyrazistego wyglądu.
  4. Włącz opcję „Odwróć”, jeśli zamierzasz wkleić wynik w miejscu o jasnym tle.
  5. Kliknij „Kopiuj”, aby skopiować wynik w postaci zwykłego tekstu.

Przykład

Wejście

A photo of a single bright white circle on a black background, 100 characters wide

Wynik

Mostly blank/space characters around the edges, with a dense cluster of @ and # characters forming the circle's silhouette in the middle

Dokładne znaki zależą od rzeczywistych wartości jasności obrazu — jest to opis wzoru, a nie dosłowny wynik, ponieważ każde zdjęcie źródłowe daje inny rezultat.

Praktyczne wskazówki

  • Zdjęcia o wysokim kontraście (wyraźny obiekt na jednolitym tle) dają znacznie lepsze wyniki konwersji niż sceny przeładowane szczegółami i o niskim kontraście.
  • Szerokość 100–150 znaków to idealny kompromis w większości zastosowań — wystarczająco szeroka, by zapewnić prawdziwą szczegółowość, a jednocześnie na tyle wąska, by nadal mieścić się na zwykłym ekranie.
  • Jeśli wynik wydaje się odwrócony w stosunku do oczekiwań (obiekt wygląda jak jasna sylwetka zamiast ciemnej), zaznacz pole wyboru „Odwróć”, zamiast próbować używać innego obrazu.
  • Zestaw znaków „Blocks” często czyta się lepiej niż „Detailed” przy bardzo małych szerokościach wydruku, ponieważ kilka poziomów cieniowania jest lepiej widocznych niż dziesiątki cienkich znaków.

Czym różni się to od zamiany tekstu na grafikę ASCII

Jeśli chcesz stworzyć baner z tekstu wpisanego na klawiaturze (nazwa projektu, pojedyncze słowo), a nie przekształcać zdjęcie, to generator grafiki ASCII dostępny na tej stronie właśnie to umożliwia — wykorzystuje czcionki FIGlet do rysowania liter drukowanych i w ogóle nie przetwarza obrazów.

Te dwa narzędzia są zazwyczaj używane razem: baner FIGlet jako tytuł, a pod nim obraz przekonwertowany za pomocą tego narzędzia jako element graficzny – oba w postaci zwykłego tekstu, który zachowuje swój wygląd po wklejeniu do komentarza w kodzie lub pliku README w formacie zwykłego tekstu.

Generator grafiki ASCII · Kompresor obrazów

Najczęściej zadawane pytania

Dlaczego moja grafika ASCII wygląda na spłaszczoną lub rozciągniętą?

Komórki znaków czcionki o stałej szerokości są mniej więcej dwa razy wyższe niż szersze, więc konwersja piksel po pikselu spowodowałaby spłaszczenie obrazu w pionie. To narzędzie już to koryguje, pobierając próbki z mniejszej liczby wierszy niż sugerowałaby siatka pikselowa 1:1 — jeśli obraz nadal wygląda nieprawidłowo w miejscu, do którego go wklejasz, może to oznaczać, że w tym miejscu używana jest czcionka o zmiennej szerokości.

Czy wybór zestawu znaków ma w ogóle znaczenie?

Tak. Tryb „Szczegółowy” wykorzystuje dziesiątki znaków do tworzenia płynnych przejść tonów i najlepiej prezentuje się z pewnej odległości lub po powiększeniu. Tryby „Simple” (7 znaków) i „Blocks” (bloki cieniowania Unicode) zapewniają bardziej wyrazisty, graficzny wygląd z widocznymi pasmami między poziomami jasności — lepiej nadają się do uzyskania efektu stylizowanego niż fotorealistycznego.

Kiedy należy używać funkcji „Odwróć”?

Domyślnie jasne obszary zdjęcia zamieniają się w gęste znaki, a ciemne — w rzadkie, co wygląda poprawnie w ciemnym polu wyjściowym tego narzędzia (jasny tekst na ciemnym tle). Jeśli wkleisz wynik do białego dokumentu lub aplikacji o jasnym motywie, włącz opcję „Odwróć”, aby ciemne obszary obrazu były odwzorowywane jako znaki o większej gęstości (ciemny tusz na jasnej stronie), co zapewni czytelność grafiki.

Jaka jest idealna szerokość wyjściowa?

100 znaków to dobre domyślne ustawienie umożliwiające wyświetlanie w przeglądarce lub terminalu bez konieczności przewijania w poziomie. Znacznie większa szerokość (200+) pozwala uchwycić więcej szczegółów, ale wynik staje się szerszy niż większość ekranów, a bardzo mała szerokość (poniżej 40) powoduje utratę większości rozpoznawalnych szczegółów.

Czy moje zdjęcie zostało gdzieś opublikowane?

Nie. Obraz jest dekodowany i próbkowany przy użyciu interfejsu API Canvas bezpośrednio w przeglądarce. W żadnym momencie żadne dane nie są wysyłane na serwer.

Powiązane narzędzia