CCS ile RGB Ünitesi yapmak

  • Konbuyu başlatan ricetyx
  • Başlangıç tarihi

ricetyx

Üye
Katılım
14 May 2009
Mesajlar
142
Puanları
3
Yaş
34
arkadaşlar merhaba.

kısa ve kolay anlatım olacak, mesela 8 er bitlik 3 değişkenim var. bunlar RGB değişkenleri.

bu değişkenlerin yerine ( 0 - 255 ) arası sayılar girilmesi gerekiyor ki renkler olsun buraya kadar bütün herşeyi yaptım PWM metodu ile ...

RED_rgb = degiskenred ;
GREEN_rgb = degiskengreen ;
BLUE_rgb = degiskenblue;


istediğim şey şu. TUŞ TAKIMI ile lcd ekrandan görebileceğim şekilde bir kod yazıcam ve entere basınca o kodlar değişkene gelecek renkler yanacak. BU renklerinde WEB Programlama dilinde oluyor ya " #ff00hh " şeklinde olmasını istiyorum.

Yani diyelim " FFFFFF " girince beyaz oluyor ya ? bunu tuş takımı ile girince ;

RED = 255
GREEN = 255
BLUE = 255

olcakki beyaz yansın.

Bu sayede laptoptan hangi renk kodu istiyorum ve o renk kodunu aynen tuş takımıyla giricem entere basıcam o renk yanıcak.

Hadi böyle bunu düşünebilen babayiğit var mı ?
 

baba23

Üye
Katılım
4 Nis 2009
Mesajlar
360
Puanları
3
ooo ustam sen pixel led olayına el atmışsın :) Sana bilgisayar programı mı lazım?
 
Konu Sah
ricetyx

ricetyx

Üye
Katılım
14 May 2009
Mesajlar
142
Puanları
3
Yaş
34
yok programa gerek yok. onu hertürlü hallederim ama kafamdaki güzel bişey. olursa :D... demin bir kaynak buldum

aslında Bana CCS de HEX TO RGB olayı lazım. 16 bitlik hexadecimali 10 bitlik rgb diline çeviricem.

Hexadecimal Renk Kodunu RGB Formatına Çevirme
gönderen oralunal Çrş Nis 06, 2011 10:58 am

Merhaba arkadaşlar,

Bildiğiniz HTML sayfalarımızda HTML renk kodları dediğimiz 16'lık sayma sistemine göre düzenlenmiş hexadecimal renk kodları kullanırız. Bu kodlar anlamsız rastgele harfler ve rakamlardan oluşturulmuş renk kodları değildir. Hepsi 16'lık sistemden 10'luk sisteme yani RGB(red, green, blue) formatına çevirilerek tarayıcılar tarafından işlenir. Şimdi bu çevirme işinin nasıl yapıldığını anlatalım.

Renk kodlarında kullanılan karakterler: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Burada harfler sayıların yerlerini tutarlar. A=10, B=11, C=12, D=13, E=14 ve F=15'dir.

#FFFFFF renk kodunda ilk iki FF kırmızılığı yani RGB'deki R'yi temsil eder. Ortadaki iki FF yeşilliği yani RGB'deki G'yi temsil eder ve sondaki FF'de maviliği temsil eder. RGB'deki B.

#ABCDEF renk kodunu RGB formatına çevirelim(işlemlerde harflerin yerine değerlerini yazdık):
R= (10*16)+11 = 171
G= (12*16)+13 = 205
B= (14*16)+15 = 239

Anlayacağınız üzerine ele aldığımız her ikilinin ilk değerini 16 ile çarpıyoruz elde ettiğimiz değeri ikinci değer ile topluyoruz. Şimdi daha da anlaşılması için #1F9E67 renk kodunu çevirelim:
R= (1*16)+15 = 31
G= (9*16)+14 = 158
B= (6*16)+7 = 103

Aşağıdaki PHP fonksiyonu da Hexadecimal renk kodunu RGB'ye çevirme işlemine yaramaktadır:
Kod:
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};
}
/**
* Kullanımı
*/
echo hexToRGB("FFFFFF");
// Ekran çıktısı: RGB: R= 255 G= 255 B= 255

adambunu yapmış ama bu php dili. bana bu ccs lazım bunu çevirebilirsem tamamdır :)
 

baba23

Üye
Katılım
4 Nis 2009
Mesajlar
360
Puanları
3
Aslında banada pixel led programı lazım...O kadar aradım ama bir sonuca ulaşamadım :)
 
Konu Sah
ricetyx

ricetyx

Üye
Katılım
14 May 2009
Mesajlar
142
Puanları
3
Yaş
34
Programı ben yazarım o bişey değil de neyse bakalım uğraşıyorum bol bol
 

baba23

Üye
Katılım
4 Nis 2009
Mesajlar
360
Puanları
3
Sende pixel led programı var mı? bana bir uygulamalık lazım :)
 

ULAGA

Üye
Katılım
9 Ocak 2012
Mesajlar
592
Puanları
3
Takıldığın nokta;
Atıyorum FA20EE diye bir değer girdiğinde, bu değerleri sırasıyla;
R=FA
G=20
B=EE
değişkenlerine atamak mı?
 
Konu Sah
ricetyx

ricetyx

Üye
Katılım
14 May 2009
Mesajlar
142
Puanları
3
Yaş
34
Takıldığın nokta;
Atıyorum FA20EE diye bir değer girdiğinde, bu değerleri sırasıyla;
R=FA
G=20
B=EE
değişkenlerine atamak mı?

Hayır abi.. aynen şu şekilde olmalı adamın biri Örnek vermiş. yani HEX kodunu RGB koduna çeviriyor ;

#ABCDEF renk kodunu RGB formatına çevirelim(işlemlerde harflerin yerine değerlerini yazdık):
R= (10*16)+11 = 171
G= (12*16)+13 = 205
B= (14*16)+15 = 239

Anlayacağınız üzerine ele aldığımız her ikilinin ilk değerini 16 ile çarpıyoruz elde ettiğimiz değeri ikinci değer ile topluyoruz. Şimdi daha da anlaşılması için #1F9E67 renk kodunu çevirelim:
R= (1*16)+15 = 31
G= (9*16)+14 = 158
B= (6*16)+7 = 103

Bende bunun gibi bişey yapıcam. Yani tuş takımım olcak. LCD ekranda görücem HEX Kodunu giricem, entere basınca rgb koduna çeviricek ve ilgili değişkenlere koyarak renkleri yakıcak. herşey tamam hazırladım. bi tek çevirme olayını ccs de yapamadım.
 
Konu Sah
ricetyx

ricetyx

Üye
Katılım
14 May 2009
Mesajlar
142
Puanları
3
Yaş
34
Hatta Olayın PHP KODU aşağıdaki gibidir. sadece php kodu gibi CCS yapmam lazım.


Kod:
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};
}

/**
* Kullanımı
*/
echo hexToRGB("FFFFFF");
// Ekran çıktısı: RGB: R= 255 G= 255 B= 255
 

Forum istatistikleri

Konular
114,890
Mesajlar
808,751
Kullanıcılar
420,312
Son üye
Orkhana007

Yeni konular

Üst