Grafika komputerowa Lista 5
Transkrypt
Grafika komputerowa Lista 5
Grafika komputerowa Lista 5 Tomasz Strumiński 1 Lista dodatkowa Lista stanowi wprowadzenie w problematykę grafiki rastrowej. Zadanie 1. (2 pkt) Należy napisać w Javie aplikację realizującą algorytm skalowania bitmap (BufferedImage) metodą dwuliniową. Idea algorytmu skalowania dwuliniowego: skalowanie przebiega po każdej składowej RGB niezależnie; kolor nieznanego piksela jest wyznaczany proporcjonalnie od jego odległości od dwóch pikseli których kolory są znane; skalowanie przebiega niezależnie po współrzędnych x i y bitmapy. 15 x 20 0 z y 10 x = 15 + (2 ∗ (20 − 15)/7) y = 0 + (2 ∗ (10 − 0)/7) z = x + (3 ∗ (y − x)/4) Dodatkowe informacje: http://wiki.beyondunreal.com/Legacy:Bilinear_ Filtering. Zadanie 2. (2 pkt) Należy oprogramować nakładanie filtrów na bitmapy, przy czym napisana aplikacja powinna umożliwiać zastosowanie 1 dwóch wybranych filtrów (preferowane: Motion Blur i Sharpen) wczytanemu obrazkowi (bitmapie). Informacje o tym, w jaki sposób można nakładać filtry na obrazki można znaleźć na stronie http://student. kuleuven.be/~m0216922/CG/filtering.html. Zadanie 3. (1 pkt) Napisać program, który będzie ukrywał (oraz przeprowadzał operację odwrotną) jedną bitmapę w drugiej. Zakładamy, że bitmapa ukrywana będzie miała wymiary mniejsza/równe bitmapie „publicznej” oraz, że bitmapa ukrywana będzie zapisana w odcieniach szarości. Najprostszym sposobem na ukrycie takiej bitmapy będzie wykorzystanie najmniej znaczących bitów poszczególnych składowych bitmapy publicznej do zapisania wartości koloru ukrywanej bitmapy. 2