Przejdź do głównej zawartości

Inkscape - Wektoryzacja - Podstawy

Jako, że jest to pierwsza lekcja na temat wektoryzacji przedstawię tutaj jedynie podstawowy interfejsu zmiany obrazów rastrowych w wektorowe. Wydaje mi się, że nie ma potrzeby omawiania poszczególnych opcji masą teorii, gdyż najepsze rozeznanie w poszczególnych funkcjach każdemu zapewni spora doza kombinacji ustawień i kilka zwektoryzowanych obrazów:-). Tak wygląda przeskalowany rastrowy obraz o początkowej rozdzielczości 200x38px.



Celem tego tutorialu będzie wyjaśnienie jak w prosty sposób korzystając z gotowych algorytmów zaimplementowanych w Inkscape zwektoryzować wyżej przedstawioną grafikę. Dobór najlepszych dla danej sytuacji parametrów pozostawiam Tobie, gdyż znacznie zależy on od pliku, który musimy doprowadzić do postaci wektorowej. W następnych lekcjach pokażę w jaki sposób zwektoryzować każdy obraz w dokładniejszy, lecz jednocześnie bardziej czasochłonny sposób poprzez kalkowanie.

Rozpocznijmy działanie :-) Na początek musimy zaznaczyć myszką obraz, który chcemy zwektoryzować klikając na niego. Następnie wejdź do menu Ścieżka-> Wektoryzuj bitmapę.... Powinieneś zobaczyć osobne okno z kilkoma opcjami do wyboru. Spróbuj ustawić opcję według poniższego zrzutu ekranu:



Można również spróbować zmienić opcję "Kolory" na "Odcienie Szarości" gdyż przedstawiona grafika właśnie tak jest zrealizowana :-). Czasem zdarza się, że domyślnie zaznaczone jest "rozmycie" - to czy chcemy z tego skorzystać zależne jest wyłącznie od naszych preferencji i oczekiwanego efektu końcowego. Spórbuj pomajstrować w ustawieniach na bieżąco obserwując zmiany przy pomocy przycisku "Aktualizuj". Przy powyższych ustawieniach powinniśmy otrzymać efekt podobny do tego:

(obraz źródłowy powinien znajdować się pod nim)

Opcja "tworzenie stosu przebiegów" robi dokładnie to co sugeruje opis. Gdy opcja ta jest zaznaczona utworzy nam dostępnych tyle możliwych do rozdzielania warstw przebiegów ile chcieliśmy wygenerować - i tak jak poprzednio to czy ją zastosujemy jest zależne tylko i wyłącznie od oczekiwanego efektu końcowego. Jeśli jednak utworzymy zbyt wiele przebiegów, lub obraz źródłowy jest bardzo skomplikowany wygenerowana grafika wektorowa może poważnie obciążyć naszą maszynę - wtedy należy spróbować odznaczyć tą opcję - przecież jeśli nie chcemy edytować wyjściowego efektu nie jest nam potrzebna możliwość rozdzielania poszczególnych "warstw" zwektoryzowanej grafiki. Spróbuj utworzyć dla tych samych ustawień dwie grafiki wyjściowe - ze stosem przebiegów i bez niego - to najlepiej powinno odzwierciedlić działanie tej funkcji.

Zmiana ustawień w zakładce "Opcje" na poniższe oraz liczby przebiegów na 15:


powinno dać następujący efekt:

Jeśli masz jakieś problem z tym tutorialem to sprawdź czy aby na pewno grafika, która ma zostać zwektoryzowana jest zaznaczona - jest to konieczne, gdyż w jednym projekcie może znajdować się kilka bitmap - trzeba dokładnie sprecyzować, którą chcemy zwektoryzować. Pozostałe opcje takie jak wektoryzacja jednoprzebiegowa, czy SIOX pozostaną wyjaśnione w dalszych częściach podręcznika.

Artykuł udostępniany na licencji CC-BY-SA-3.0

Komentarze

Popularne posty z tego bloga

WordPress -> SQL Injection poprzez plugin Webdorado SpiderCalendar

W zeszłym roku sprawdziłem jakość kodu oraz poprawność przetwarzania danych wejściowych przez plugin „Form Maker” przygotowany przez wydawcę Webdorado. Tym razem postanowiłem sprawdzić czy autor poprawił jakoś kodu swoich produktów. Należy tutaj nadmienić, że poza wersjami darmowymi opartymi na licencji GNU/GPLv2 oferuje on również wersję płatne z dodatkowymi szablonami. Tym razem postaram się opisać wszelkie przeszkody, które musiałem pokonać aby n apisać działającego exploita. Zacząłem zabawę tak, że program był dla mnie black-boxem, ale niestety skończyło się na przejrzeniu kodu. Zapraszam do lektury. Poniżej można zobaczyć jeden z widoków częściowych kalendarza, który domyślnie jest wywoływany z JavaScriptu jako XHR, można jednak go z powodzeniem otworzyć w przeglądarce jako widok główny: http://localhost:8888/wp/wp-admin/admin-ajax.php?action=spiderbigcalendar_month&theme_id=13&calendar=1&select=month,list,week,day,&date=2015-02&many_sp_calend

Inkscape - Ikona koperty

Podstawą naszej pracy będzie oczywiście narysowanie koperty. Lepszy efekt uzyskamy, jeśli narysujemy ją pod pewnym kątem. Musimy jednak oczywiście pamiętać, że konieczne będzie zachowanie proporcji oraz prawidłowe użycie rzutu. Rysujemy najpierw zewnętrzne kontury, potem wewnętrzne elementy, do momentu uzyskania podobnych efektów jak na poniższym zrzucie szkieletowym. By uzyskać widok szkieletowy włączamy opcję Widok -> Tryb Wyświetlania -> Szkieletowy . Z powyginanych trójkątów postaramy się zrobić coś w rodzaju cieni. Grubość linii koperty, które należy narysować u siebie ustawiłem na 4 - tak,by przy mniejszym rozmiarze ikony koperta była bardziej widoczna. Zresztą porównajcie to z oczekiwanym efektem końcowym. Po narysowaniu koperty przejdźmy do tworzenia tła pod kopertę. Jak widać na powyższym załączniku, będzie ono okrągłe. Korzystając z narzędzia "owal" by uzyskać idealne koło przytrzymujemy Ctrl+Shift, podczas gdy rysujemy. Wykorzystany gradient to gradient typu

Przydatne skrypty w MS SQL Server dla platformy Azure

 Jak przygotować skrypt, który wyłączy "Constrainty" w MS SQL Azure:     SELECT 'ALTER TABLE [' + s.name + '].[' + o.name + '] NOCHECK CONSTRAINT ' + i.name AS a     FROM sys.foreign_keys i     INNER JOIN sys.objects o ON i.parent_object_id = o.OBJECT_ID     INNER JOIN sys.schemas s ON o.schema_id = s.schema_id Jak przygotować skrypt, który wycziści wszystkie tabele, po tym jak wyłączysz "Constrainty" w MS SQL Azure:     SELECT DISTINCT 'DELETE FROM  [' + t.name + '] ' AS a     FROM sys.tables t     WHERE t.name <> 'appusers' AND t.name <> 'flyway_schema_history'; Jak przygotować skrypt, który włączy "Constrainty" w MS SQL Azure:     SELECT 'ALTER TABLE [' + s.name + '].[' + o.name + '] CHECK CONSTRAINT ' + i.name AS a     FROM sys.foreign_keys i     INNER JOIN sys.objects o ON i.parent_object_id = o.OBJECT_ID     INNER JOIN sys.schemas s ON o.schema_id = s.schema_i