Delphi Renk kodunu 2 byte şekline dönüştürme sorunu

Delphi .net ve .net ile ilgili konuları buraya yazabilirsiniz.
Cevapla
yelkenci
Üye
Mesajlar: 4
Kayıt: 19 Eki 2010 12:33

Delphi Renk kodunu 2 byte şekline dönüştürme sorunu

Mesaj gönderen yelkenci »

S.a Sizlere bir sorum olacaktı. Kısaca açıklayım bir projem var ve bu projede lcd modül ile çalışıyorum. Bazı işlemleri yaptırdım ama resim çizdirme işleminde renk kodu göndermede sorun yaşıyorum. Renk kodunu 2 byte değerinde görmem gerekiyor. Yani mavi gidecekse 00 ve 1F göndermem gerekiyor. beyaz için FF ve FF değeri gitmesi gerekiyor. ben yazdığım kodları ekleyim siz bana bi çıkar yol gösterin kilitlendim kaldım.

Bu Kısımda Get pixel metodu ile aldığım renk bilgisini convert ettim. (ama İstediğim şekilde değil tabiki)

Kod: Tümünü seç

function ColorToHex(Renk: TColor): String;
var
R, G, B: Byte;
begin
Renk:=ColorToRGB(Renk);
R:=GetRValue(Renk);
G:=GetGValue(Renk);
B:=GetBValue(Renk);
ColorToHex:=IntToHex(R,2)+IntToHex(G,2)+IntToHex(B,2) ;
end;
Bu kısımdada resmin renk değerini aldım ve ColortoHex fonksiyonuna gönderdim

Kod: Tümünü seç

procedure TForm1.Button17Click(Sender: TObject);
var
x,y:integer;
renk:TColor;
veri,renkkodu,renkkodu1: AnsiString;
begin
for y:=0 to image1.Picture.Bitmap.Height do
begin
for x:=0 to image1.Picture.Bitmap.Width do
begin
renk:=getpixel(image1.Canvas.Handle,x,y);
renkkodu:=ColorToHex(renk);
veri:= chr($50)+#0+chr(x+140)+#0+chr(y)+(renk kodlarını göndermem gereken yer 2 byte );
ComPort.WriteStr(veri);
end;
end;
end;


Hocam bu aldığım renk bilgisini 16bit'e dönüştürüp 2 byte şeklinde nasıl alabilirim. Yardımcı olursanız Çok sevinirim.
Cevapla