Kawałek Kodu

Co tu się odskryptala?! Czyli programistyczne porady na luzie

Wiadomość z czapy, czyli o nietypowym wykorzystaniu favicon.

Jeśli lubisz wpatrywać się w ekranu telefonu i nie bolą Cię oczy od odczytywania mikrowiadomości, to dziś dzisiejszy odcinek jest dla Ciebie. Treść w nim zawarta oczywiście nie będzie "z czapy", ale sposób w jaki będziemy prezentować informacje może się wydawać trochę niekonwencjonalny.

Czytaj dalej

Picasso byłby zachwycony, czyli fajniejszy, animowany efekt pixelize.

Gdyby Picasso żył dziś, albo gdyby komputery były szerzej dostępne za jego czasów, to zamiast się męczyć malowałby pewnie zwykłe obrazy, skanował, nakładał filtr pixelize w programie graficznym i drukował. My dziś mamy taką możliwość, więc pobawimy się w malarzy. W tym odcinku każdy będzie Pixasso.

Czytaj dalej

Robótki ręczne, czyli linia w SVG jak z kreskówki.

Brzdąkałeś kiedyś na linijce opartej o krawędź biurka? Dziś będziesz mieć okazję do efektów audio dodać efekty wideo oparte na podobnej zasadzie. Też będziemy brzdąkać na czymś elastycznym, podobnym do linijki. Być może obiło Ci się o uszy hasło "krzywa Béziera". Nie będziemy wnikać w jej podstawy matematyczne, lecz wykorzystamy wprost jej właściwości. Ta krzywa (inaczej spline) przypomina właśnie naszą linijkę, albo jeszcze lepiej listewkę ratanu przeplataną przez gałązki wikliny. Końcówki listewki mocujemy na stałe, natomiast gałązki wikliny powodują odkształcenie elastycznej listewki (w krzywej te wszystkie punkty nazywa się punktami kontrolnymi).

Przygotuj materiały!

Czytaj dalej

Każdy kij ma trzy końce, czyli fraktalne drzewo.

Jesień jest idealną porą na ogrodowe porządki. Przesadzanie i sadzenie. Będziemy sadzić, ale aby nie przesadzić. Nie przesadzić z rekurencją, bo ta będzie nam dziś towarzyszyć. Tym razem o fraktalu bezimiennym, choć w naturze często podpisywanym na korze inicjałami imion i serduszkiem. Bezimiennym, ale równie atrakcyjnym, a być może nawet bardziej niż ostatnio opisywany fraktal Pana Sierpińskiego.

Zróbmy dołek w wyjaśnieniach.

Czytaj dalej

PrzyLUTuj mu! Czyli przetwarzanie graficzne obrazów.

Wbrew pozorom dzisiejszy wpis nie będzie uczył technik samoobrony, nie będzie też kursem lutowania online. Pokażę Ci jak od środka działają popularne funkcje dostępne w programach graficznych, jak negatyw, rozjaśnianie czy posteryzacja. Opierają się na jednopunktowych operacjach graficznych. Jednopunktowych, bo wpływ na wartość wynikowego punktu obrazu, ma wartość tylko jednego punktu obrazu źródłowego.
Operację taką można opisać równaniem: w(x,y)=F(z(x,y)), gdzie x, y, to współrzędne obrazu, z obraz źródłowy, a w obraz wynikowy. F to operacja jednopunktowa.

Czytaj dalej

The Fast & The Canvas, czyli szybki dostęp do pikseli na Canvas.

Pracując z elementem CANVAS spotykam się często z dwoma zagadnieniami: pobrania koloru piksela i kreślenia piksela. Jeśli chodzi stawianie punktu, to zazwyczaj spotykamy się z następującą metodą:

var ctx = document.querySelector('canvas').getContext('2d');
ctx.fillStyle = 'rgba(255, 0, 0, 1)';
ctx.fillRect(100, 100, 1, 1);

Z zmiennej ctx mamy obiekt RenderingContext pozwalający na dostęp przez dwie współrzędne (stąd parametr '2d'). Punkt stawiamy poprzez nakreślenie wypełnionego prostokąta o wymiarach 1x1 (parametr 3 i 4) na współrzędnych 100,100 (parametr 1 i 2). Wcześniej ustawiliśmy kolor czerwony dla wypełnienia. Domyślny kolor wypełnienia to czarny, a domyślny kolor tła CANVAS to biały. I ta metoda oczywiście się sprawdza, ale niekoniecznie przy dynamicznych efektach na CANVAS, kiedy potrzebujemy postawić tych punktów tysiące lub dziesiątki tysięcy.

Jak być szybszym?

Czytaj dalej