HTML’de kullanılan ve 16’lık sistemde ifade edilen renk kodlarını 10’luk sisteme çevirebilen ve tersi işlemi gerçekleştirebilen bir php programı konusunda yardımcı olur musunuz ?
Şimdi önce mantığını ele alalım:
16’lık renk kodu sisteminde A=10, B=11, C=12, D=13, E=14 ve F=15
Şimdi #FFFFFF kodunu nasıl 255, 255, 255 formatına çeviren bir fonksiyon hazırlayalım: function hexToRGB($hex){ // Önce bütün karakterleri parçalayalım $her_harf = str_split($hex); foreach($her_harf AS $key=>$value){ if($value==“F” || $value==“f”) $her_harf[$key]=15; elseif($value==“E” || $value==“e”) $her_harf[$key]=14; elseif($value==“D” || $value==“d”) $her_harf[$key]=13; elseif($value==“C” || $value==“c”) $her_harf[$key]=12; elseif($value==“B” || $value==“b”) $her_harf[$key]=11; elseif($value==“A” || $value==“a”) $her_harf[$key]=10; } $r = ($her_harf[0]*16)+$her_harf[1]; $g = ($her_harf[2]*16)+$her_harf[3]; $b = ($her_harf[4]*16)+$her_harf[5]; return “RGB: R= {$r} G= {$g} B= {$b}; }
Bu fonksiyon #FFFFFF hexadecimal renk kodunuzu yani 16’lık sistemdeki renk kodunuzu RGB yani 10’luk sisteme çevirir ve size RGB: R=255 G=255 B=255 şeklinde bir çıktı verir.. Ben kütüphaneme ekleyeyim bunu :) Bana da lazım olabiliyor bazen iyi oldu böyle birşey yazdığım :D
Bu fonksiyon #FFFFFF hexadecimal renk kodunuzu yani 16’lık sistemdeki renk kodunuzu RGB yani 10’luk sisteme çevirir ve size RGB: R=255 G=255 B=255 şeklinde bir çıktı verir.. Ben kütüphaneme ekleyeyim bunu :) Bana da lazım olabiliyor bazen iyi oldu böyle birşey yazdığım :D
Bana şöyle bir şey lazım aslında :
Sayfa ilk açıldığında hem 16’lık renk kodunun girilebileceği bir bölüm hem de R-G-B kodlarının 10’luk sistemde girilebileceği bir bölüm yapmam gerekiyor.Her iki bölümün yanında dönüştür butonu olması gerekiyor.Sonuş ekranında da hangi renge dönüşüm yapılacaksa o ren 50×50 şeklinde arkaplan olması gerekiyor.
Dediğini bende düşündüm ama 10’luk RGB’yi nasıl işleyeceğimi bilemedim.. Yani 255 değerini PHP’yi bırak normalde nasıl (x*16)+y=255 0<=x<=15, 0<=y<=15 denklemini çözeceğimi bilemedim.. Bu biraz daha zor..
o noktada dechex() diye bir fonksiyon varmış.. Senin girdiğin sayısal ifadeyi otomatik olarak hexadecimal formata çeviriyor.. O zaman senin dediğin diğer metodu da şu fonsiyon ile yapabilirsin. RGB’yi formdan 255,90,54 formatından girilmesi gerekiyor function RGBToHex($rgb){ $parcala=explode(“,”, $rgb); $ilk=dechex($parcala[0]); $orta=dechex($parcala[1]); $son=dechex($parcala[2]); $ilk = (strlen($ilk) < 2?‘0’:”).$parcala[0]; $orta = (strlen($orta) < 2?‘0’:”).$parcala[1]; $son = (strlen($son) < 2?‘0’:”).$parcala[2]; $hex=“#”.$ilk.$orta.$son;
http://www.erenet.info/hex_rgb_renk_kodu_cevirici.php bu sitedekine benzer birşey yapmam gerekiyor.Ayrıca tek sayfa olucak.Sanırım bu sitedeki kodları incelemem lazım ama bir fikrin var mı nasıl yapıcağım konusunda ?