merhaba Bu konuda Takıldım kaldım ilerleyemedım...
Ben burda PByteArray da RGB degeri alabildim ve Tcolor 'a Cevirdım ama simdide Tcolor yanı bir rengimi [P[x]] içine nasıl atarım .. PByteArray Tekrar nasıl Dönüşüm saglarım..
yani tersine işlem ..
yardımcı olursanız sevinirım.
Ben burda PByteArray da RGB degeri alabildim ve Tcolor 'a Cevirdım ama simdide Tcolor yanı bir rengimi [P[x]] içine nasıl atarım .. PByteArray Tekrar nasıl Dönüşüm saglarım..
yani tersine işlem ..
yardımcı olursanız sevinirım.
procedure TForm1.Button1Click(Sender: TObject); type pbyte = PByteArray; // use a PByteArray for pf8bit color var x,y : byte; renk1:TColor; BitMap : TBitMap; P: pbyte; say,i:Integer; renk: array [0..255] of TColor; palet:TMaxLogPalette; fBitmapPalEntries: Cardinal; R, G, B: Byte; begin say:=0; BitMap := TBitMap.create; BitMap.LoadFromFile('A.bmp'); try BitMap.PixelFormat:=pf8bit; fBitmapPalEntries := GetPaletteEntries(Bitmap.Palette, 0, 256,palet.palPalEntry); for i := 0 to fBitmapPalEntries - 1 do begin renk[i] := palet.palPalEntry[i].PeBlue shl 16 + palet.palPalEntry[i].PeGreen shl 8 + palet.palPalEntry[i].PeRed; end; for y := 0 to BitMap.Height - 1 do begin P :=BitMap.ScanLine[y]; for x := 0 to BitMap.Width -1 do Begin R := palet.palPalEntry[P[x]].peRed; G := palet.palPalEntry[P[x]].peGreen; B := palet.palPalEntry[P[x]].peBlue; renk1:=RGB(r,g,b) ;//Burda Renk degerini alabılıyoruz.. //Burda işlemi tersine yapmak istiyorum [P[x]] içine nasıl deger atarım.. end; end; finally BitMap.Free; end;