<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Let&#039;s make the WebPerfect.pl &#187; heksadecymalny</title>
	<atom:link href="http://www.webperfect.pl/tag/heksadecymalny/feed" rel="self" type="application/rss+xml" />
	<link>http://www.webperfect.pl</link>
	<description>Samodzielne tworzenie stron www, skrypty, css, html, grafika, zarabianie na stronach</description>
	<lastBuildDate>Sun, 29 Apr 2012 15:49:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Inne sposoby definiowania kolorów</title>
		<link>http://www.webperfect.pl/artykuly-ogolne/inne-sposoby-definiowania-kolorow.html</link>
		<comments>http://www.webperfect.pl/artykuly-ogolne/inne-sposoby-definiowania-kolorow.html#comments</comments>
		<pubDate>Sun, 10 Apr 2011 14:48:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Artykuły ogólne]]></category>
		<category><![CDATA[format kolorów]]></category>
		<category><![CDATA[grafika]]></category>
		<category><![CDATA[heksadecymalny]]></category>
		<category><![CDATA[hex]]></category>
		<category><![CDATA[HSB]]></category>
		<category><![CDATA[HSL]]></category>
		<category><![CDATA[kolory]]></category>
		<category><![CDATA[RGB]]></category>
		<category><![CDATA[system liczbowy]]></category>

		<guid isPermaLink="false">http://www.webperfect.pl/?p=262</guid>
		<description><![CDATA[Kolory możemy definiować na rozmaite sposoby. Najbardziej popularnym i najchętniej używanym sposobem określania koloru jest system HEX. Istnieją również inne sposoby na osiągnięcia takich samych lub podobnych rezultatów. Oprócz rozwiązań liczbowych istnieją jeszcze słowne oraz procentowe. O kolorach w systemie heksadecymalnym pisałem już w tym artykule: Kolory HEX. Jak je tworzyć i odczytywać? Paleta 16 [...]]]></description>
			<content:encoded><![CDATA[<p>Kolory możemy definiować na rozmaite sposoby. Najbardziej popularnym i najchętniej używanym sposobem określania koloru jest system HEX. Istnieją również inne sposoby na osiągnięcia takich samych lub podobnych rezultatów. Oprócz rozwiązań liczbowych istnieją jeszcze słowne oraz procentowe.<span id="more-262"></span></p>
<p>O kolorach w systemie heksadecymalnym pisałem już w tym artykule: <a title="Kolory HEX" href="http://www.webperfect.pl/artykuly-ogolne/kolory-hex-jak-je-tworzyc-i-odczytywac.html">Kolory HEX. Jak je tworzyć i odczytywać?</a></p>
<h3>Paleta 16 kolorów podstawowych</h3>
<p>Na potrzeby WWW określono 16 kolorów, które określono słowami. Poniżej nazwy kolorów (w nawiasie ich heksadecymalne odpowiedniki), które możemy użyć w CSS:</p>
<ul>
<li><span style="color: black;">black(#000000)</span></li>
<li><span style="color: silver;">silver(#C0C0C0)</span></li>
<li><span style="color: gray;">gray(#808080)</span></li>
<li><span style="color: white; background-color: silver;">white(#FFFFFF)</span></li>
<li><span style="color: maroon;">maroon(#800000)</span> <span style="color: red;">red(#FF0000)</span></li>
<li><span style="color: purple;">purple(#800080)</span></li>
<li><span style="color: fuchsia;">fuchsia(#FF00FF)</span></li>
<li><span style="color: green;">green(#008000)</span></li>
<li><span style="color: lime;">lime(#00FF00)</span></li>
<li><span style="color: olive;">olive(#808000)</span></li>
<li><span style="color: yellow;">yellow(#FFFF00)</span></li>
<li><span style="color: navy;">navy(#000080)</span></li>
<li><span style="color: blue;">blue(#0000FF)</span></li>
<li><span style="color: teal;">teal(#008080)</span></li>
<li><span style="color: aqua;">aqua(#00FFFF)</span></li>
</ul>
<p>W raz z rozwojem wersji CSS pula tych nazw trochę się zwiększyła i tak w przypadku CSS 2.1 mamy jeden dodatkowy kolor <span style="color: #ffa500;">orange(#FFA500)</span>, natomiast w CSS 3 dodano jeszcze 130 nazw.</p>
<h3>Kolory dziesiętne RGB</h3>
<p>W bardzo łatwy sposób możemy za pomocą liczb dziesiętnych zakodować odpowiedni kolor. Podobnie jak w systemie heksadecymalnym mamy 16 777 216 kombinacji, po 256 dla każdego koloru (czerwony, zielony, niebieski).  Dla każdego koloru możemy zatem wybrać liczbę z zakresu od 0 do 255 i użyć w przykładowy sposób (CSS):</p>
<pre escaped="true" lang="css" line="1">body{
color: rgb(0,0,255);
...
}</pre>
<p>W powyższy sposób otrzymamy kolor już wiadomo chyba jaki.</p>
<h4>Jak zamienić HEX na dziesiętny RGB?</h4>
<p>Możesz potraktować to jako ciekawostkę, bo o ile nie napiszesz własnej palety koloru to raczej nie wiele Ci się to przyda, no ale może warto wiedzieć.</p>
<p>A więc tak: przypominam, że przedział systemu szesnastkowego przyjmuje znaki od 0-F (liczbowo byłoby to 0-15) . Aby zamienić HEX na dziesiętne odczytujemy wartość HEX i mnożymy x16 do odpowiedniej potęgi każdą liczbę, następnie wszystko dodajemy. Żeby było łatwiej pokaże to na przykładzie:</p>
<p>HEX F = DEC 15, bo 15*16^0 = 15<br />
HEX FF = DEC 255, bo 15*16^1  + 15*16^0 = 255<br />
HEX FFF = DEC 4095, bo 15*16^2 + 15*16^1 + 15*16^0 = 4095</p>
<p>Potęgi liczymy od 0 do ilości znaków kodu heksadecymalnego, w taki sposób, że jedności będą miały potęgę 0, dziesiątki potęgę 1, setki potęgę 2 itd&#8230;  Prościej mówiąc lecimy z potęgami od prawej do lewej strony (licząc od 0).</p>
<p>Zamiana w drugą stronę jest już nieco bardziej skomplikowana, więc na razie sobie ją darujemy.</p>
<h3>Procentowy RGB</h3>
<p>Kolor RGB możemy zapisać w postaci procentowej. Po prostu nadajemy tutaj wartości od 0 do 255, tyle, że w procentach (100% = 255):</p>
<pre escaped="true" lang="css" line="1">body{
    background: rgb(0%,100%,0%);
...
}</pre>
<p>W ten oto sposób otrzymaliśmy zielone tło. Należy pamiętać, że pomiędzy wartością liczbową a znakiem procentu nie może być żadnych odstępów i wszystkie wartości muszą być określane w procentach.</p>
<p>Nie jest to idealne rozwiązanie dla kogoś, kto chce dopasować kolor pod grafikę.</p>
<p>Dosyć ciekawego rozwiązania dostarcza nam CSS w wersji 3, a konkretnie chodzi o określanie koloru RGB ze stopniem przezroczystości alpha. Wygląda to następująco:</p>
<pre escaped="true" lang="css" line="1">div{
   background: rgba(100%,0%,0%,0.5);
...
}</pre>
<p>Wartość alpha mieści się w przedziale 0 (pełna przezroczystość) do 1 (wartość domyślna &#8211; brak przezroczystości).</p>
<p>Sposób ten akceptują przeglądarki, które obsługują przezroczystość (IE ma z tym problemy).</p>
<h3>Model HSL</h3>
<p>Jest to dosyć ciekawe rozwiązanie. Wybieramy barwę (ang. Hue), następnie określamy nasycenie (ang. Saturation) oraz jasność (ang. Lightness). Jednym słowem nie mieszamy  bezpośrednio kolorów, jak w przypadku RGB. Określamy go tak: hsl(H, S%, L%).</p>
<p><img class="size-full wp-image-277 alignright" title="Koło barw HSL" src="http://www.webperfect.pl/wp-content/uploads/2011/04/hsl-kolo-kolorow.png" alt="HSL koło kolorów" width="215" height="192" /><br />
Barwa (H) określana jest  jako liczba całkowita w stopniach z przedziału 0 do 360 (koło barw). I tak oto wartość 0 daje nam barwę czerwoną, w kierunku do 120 jest coraz bardziej zielona, natomiast 240 to już barwa niebieska, a kolejne wyższe wartości kierują nas coraz bardziej w barwę czerwoną. Następnie procentowo określamy nasycenie oraz jasność. System ten określany jest również jako HSB (ang. Brightness &#8211; jasność).</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webperfect.pl/artykuly-ogolne/inne-sposoby-definiowania-kolorow.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kolory HEX. Jak je tworzyć i odczytywać?</title>
		<link>http://www.webperfect.pl/artykuly-ogolne/kolory-hex-jak-je-tworzyc-i-odczytywac.html</link>
		<comments>http://www.webperfect.pl/artykuly-ogolne/kolory-hex-jak-je-tworzyc-i-odczytywac.html#comments</comments>
		<pubDate>Sun, 01 Aug 2010 11:46:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Artykuły ogólne]]></category>
		<category><![CDATA[format kolorów]]></category>
		<category><![CDATA[grafika]]></category>
		<category><![CDATA[heksadecymalny]]></category>
		<category><![CDATA[hex]]></category>
		<category><![CDATA[HSB]]></category>
		<category><![CDATA[kolory]]></category>
		<category><![CDATA[RGB]]></category>
		<category><![CDATA[system liczbowy]]></category>

		<guid isPermaLink="false">http://www.webperfect.pl/?p=234</guid>
		<description><![CDATA[Nie ma możliwości określenia wszystkich kolorów słowami. Nic w tym dziwnego skoro można uzyskać miliony ich odcieni. Można je określić jednak liczbami i bardzo przydatny może okazać się tutaj system heksadecymalny&#8230; Na wstępie chciałbym zaznaczyć, że w większości przypadków, używanie skomplikowanej kompozycji kolorów i tak może okazać się uciążliwe. O wiele lepszym sposobem będzie użycie [...]]]></description>
			<content:encoded><![CDATA[<p>Nie ma możliwości określenia wszystkich kolorów słowami. Nic w tym dziwnego skoro można uzyskać miliony ich odcieni. Można je określić jednak liczbami i bardzo przydatny może okazać się tutaj system heksadecymalny&#8230;<span id="more-234"></span></p>
<p>Na wstępie chciałbym zaznaczyć, że w większości przypadków, używanie skomplikowanej kompozycji kolorów i tak może okazać się uciążliwe. O wiele lepszym sposobem będzie użycie dowolnego generatora. Zdarzają się jednak również takie sytuacje, w których to generator staje się zbędny.</p>
<h2>System heksadecymalny &#8211; HEX</h2>
<p>System heksadecymalny to alternatywny system liczbowy. W normalnym życiu używamy systemu dziesiętnego (decymalnego). W komputerach stosowany jest system binarny (dwójkowy). Znanym systemem używanym w komputerach jest też system oktalny (ósemkowy).</p>
<h3>O co tutaj chodzi?</h3>
<p>Oczywiście chodzi o zapis liczb. Ponieważ nie jest to artykuł nt. systemów liczbowych przedstawię tylko jedną ich cechę  &#8211; zakres liczbowy (inaczej przestrzeń znakową, w której możemy operować). Otóż systemy liczbowe wykorzystują pewne zakresy. Po przekroczeniu danego zakresu następuje swojego rodzaju pętla (cyfry się powtarzają).</p>
<p><strong>Oto zakresy dla przykładowych systemów liczbowych:</strong></p>
<ul>
<li> <strong>DECIMAL</strong> (dziesiętny) &#8211; 0-9</li>
<li> <strong>OCTAL</strong> (ósemkowy) &#8211; 0-7</li>
<li> <strong>BINARY</strong> (dwójkowy) &#8211; 0-1</li>
<li> <strong>HEXADECIMAL</strong> (szesnastkowy) &#8211; 0-15</li>
</ul>
<p>W pierwszych trzech systemach wykorzystywane są wyłącznie cyfry. System heksadecymalny jest inny. Ponieważ cyfr mamy tylko od 0 do 9, a zakres HEX-ów jest do 15 &#8211; pięć cyfr trzeba czymś zastąpić.</p>
<p style="text-align: center;"><em><strong>W systemie heksadecymalnym liczby od 10 do 15 zastąpiono literami alfabetu łacińskiego. </strong></em></p>
<p>Zatem w systemie tym mamy do wyboru znaki <strong>0, 1, 2, 3, 4, 5, 6, 7, 8, 9</strong> oraz <strong>A, B, C, D, E, F.</strong> Prawidłowy zakres mieści się więc w przedziale <strong>0 &#8211; F.</strong></p>
<p>Na pewno zwróciłeś uwagę na nazewnictwo powyższych systemów. Przytoczę tutaj kolejną regułkę:</p>
<p style="text-align: center;"><strong><em>Nazwa systemu liczbowego oznacza ilość wykorzystywanych znaków, a nie ostatnią liczbę zakresu</em></strong></p>
<p>W systemie dziesiętnym wykorzystujemy 10 cyfr. Numerację zaczynamy od zera. W systemie heksadecymalnym wykorzystujemy 16 znaków &#8211; tutaj również zaczynamy numerację od zera, kończymy na dziewiątce i rozpoczynamy od pierwszej litery alfabetu łacińskiego (A), a kończymy na literze szóstej (F).</p>
<p>Aby operować kolorami w trybie HEX powyższe wiadomości na temat liczb można uznać za wystarczające.</p>
<h2>Kolory HEX, czyli #XXYYZZ</h2>
<p>Format kolorów heksadecymalnych opiera się o trzy kolory podstawowe: czerwony, zielony i niebieski (Red, Green, Blue). Powyższe oznaczenie #XXYYZZ określa się jako #RRGGBB (pierwsze litery angielskich nazw kolorów).</p>
<p>Numer koloru (0-F) oznacza jasność, gdzie 0 to kolor najciemniejszy, natomiast F to kolor najjaśniejszy. Można też uznać, że niższa cyfra oznacza poziom zaniku koloru (0 &#8211; brak koloru, F- kolor rzeczywisty). W ten sposób można mieszać kolory.</p>
<p>Przykładowo, aby uzyskać kolor czerwony można użyć <span style="background: #ff0000;">#FF0000</span> (dwa F oznaczają pełny kolor czerwony, pozostałe kolory &#8211; brak zielonego i niebieskiego). Analogicznie do tego przykładu możemy uzyskać kolor zielony (LIME) &#8211;  <span style="background: #00ff00;">#00FF00</span> oraz niebieski &#8211; <span style="background: #0000ff; color: yellow;">#0000FF</span>.</p>
<p>Są to oczywiście najjaśniejsze odcienie podanych kolorów. Jeżeli wartości będą mniejsze &#8211; dany kolor będzie ciemniejszy. Wartości każdego koloru określa się mianem nasycenia.</p>
<p>Możemy też zmieszać kolory w powyższy sposób (np. czerwony + zielony = żółty lub czerwony + niebieski = fioletowy).</p>
<h3>Nieco bardziej fachowe tłumaczenie</h3>
<p>Każdy parametr mieści się w zakresie od 0 do 255, czyli od 00 do FF w heksach. Nie wszystkie kolory możemy zauważyć &#8211; ograniczeniem jest tutaj układ wzrokowy człowieka. Komputer potrafi te kolory rozpoznać, a dzięki takiemu rozwiązaniu (dwa znaki systemu heksadecymalne na kolor) można uzyskać aż 16 777 216 kolorów (proste obliczenie &#8211; dla każdego koloru mamy 256 możliwości &#8211; tak jak wyżej napisałem od 0 do 255 &#8211; i mamy 3 kolory, czyli 256<sup style="font-family: arial, helvetica, sans-serif;">3</sup> daje nasz wynik).</p>
<h3>Inny format: #RGB</h3>
<p>Istnieje też nieco uproszczony format tworzenia kolorów w systemie heksadecymalnym. Ma on postać #RGB i można w nim uzyskać 4096 możliwości kolorów. Nasycenie każdego koloru mieści się w zakresie od 0 do 15, czyli od 0 do F (HEX) dla każdego z kolorów. Ta skrócona paleta umożliwia nam uzyskanie 4096 kolorów (16<sup style="font-family: arial, helvetica, sans-serif;">3</sup>)</p>
<h3>Skala szarości</h3>
<p>Skala szarości mieści się w przedziale od <span style="background: #000000; color: #ffffff;">#000000</span> do <span style="background: #ffffff; color: #000000;">#FFFFFF</span>, czyli pomiędzy czarnym, a białym kolorem. Aby w miarę łatwo utworzyć kolor szary należy ustawiać wartości w taki sposób, aby barwa, nasycenie oraz jaskrawość był takie same.</p>
<p>Przykładowy kolor szary to: <span style="background: #aaaaaa;">#AAAAAA</span>.</p>
<p>Aby kolor był ciemniejszy należy zmieniać wartości w stronę zera, aby był jaśniejszy &#8211; odwrotnie.</p>
<h3>Paleta bezpiecznych kolorów</h3>
<p>Niestety wykorzystując wszystkie kombinacje nie uzyskamy kompatybilności z wszystkimi systemami i komputerami. Dzieje się tak ponieważ nie każdy komputer czy system operuje na takiej samej palecie.</p>
<p>Istnieje jednak pewien format gwarantujący kompatybilność. Jest to paleta 216 bezpiecznych kolorów, które powinny wyświetlać się tak samo na każdym komputerze. Rozwiązanie to zostało opracowane niegdyś przez firmę Netscape dla kompatybilności z monitorami 8-bitowymi.</p>
<p>Paleta 216 bezpiecznych kolorów określana jest mianem Web-Safe (Colours). Można ją znaleźć w większości programów oferujących palety kolorów oraz w programach graficznych (Photoshop od wersji 3.0).</p>
<h2>Podsumowanie</h2>
<p>Idea wyliczania kolorów heksadecymalnych jest dosyć prosta w zrozumieniu. Zastosowano podział na trzy podstawowe kolory, których nasycenie można zmieniać od 0 do 255 każdy.</p>
<p>W łatwy sposób możemy wygenerować odcienie kolorów podstawowych (jaśniejszy-ciemniejszy). Kolory w skali szarości otrzymamy podając te same wartości nasycenia dla wszystkich. Inne kolory otrzymamy poprzez mieszanie kolorów podstawowych.</p>
<p>Istnieją dwa formaty zapisu: <span style="background: #000000; color: #ffffff;">#</span><span style="background: #ff0000;">RR</span><span style="background: #00ff00;">GG</span><span style="background: #0000ff; color: yellow;">BB</span> oraz <span style="background: #000; color: #fff;">#</span><span style="background: #f00;">R</span><span style="background: #0f0;">G</span><span style="background: #00f; color: yellow;">B</span> &#8211; różnią się one ilością kombinacji. Na potrzeby stron internetowych oraz dla zapewnienia kompatybilności należy posługiwać się bezpieczną paletą 216 kolorów, która powinna znajdywać się w każdym programie graficznym (Web-Safe).</p>
<p>Zastosowany znak <strong>#</strong> <em>(ang. hash)</em> oznacza, że przedstawiony dalej ciąg będzie miał postać heksadecymalny.</p>
<p>System heksadecymalny jest jednym z kilku sposobów na określanie kolorów. Na potrzeby WWW możemy posłużyć się również notacją dziesiętną, procentową lub za pomocą modelu <strong>HSB</strong> <em>(ang. Hue, Saturation, Brightness &#8211; Barwa, Nasycenie, Jaskrawość) określany też jako <strong>HSL</strong>.</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webperfect.pl/artykuly-ogolne/kolory-hex-jak-je-tworzyc-i-odczytywac.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
