Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
palette
#1
merhaba Ben bitmap icin olusturulan palette konusunda soru soracaktım..

TMaxLogPalette
 
PLogPalette

hPalette


Bunların arasındaki farklar neler acaba bilgisi olan yardımcı olursa sevinirim.
Cevapla
#2
Hangi farkı soruyorsunuz ?
WWW
Cevapla
#3
(31-12-2020, Saat: 19:54)ismailkocacan Adlı Kullanıcıdan Alıntı: Hangi farkı soruyorsunuz ?
Ben  tmaxlogpalette kullanıyorum. Ama başka örneklerde  plogpalette kullanılıyor  sebebi ve ne işe yaradığını anlamadım. Ve bide hpalette var oda var örneklerde . Farkları öğrenmek istedim..
Cevapla
#4
merhaba arkdaslar yen konu acmak istemedim..

benim sorumun bitmap resim dosyasının palette renk lerinde Degisiklik yapmak istiyorum.
Bu kodlarla çalışmıyor. (yenipalet:TMaxLogPalette) yorum satırındaki degişkeni Aktif ettiğimde çalısıyor Ama bu sefer degiştirdigim renk index i değişiyor.? index i değişmeden işlem yapmak istiyorum. Nasıl yapabılırım?

procedure TForm1.islem_btnClick(Sender: TObject);
var

resim:TBitmap;
//yenipalet:TMaxLogPalette;
pal: array[0..255] of TPALETTEENTRY;
begin
resim:=TBitmap.Create;
resim.PixelFormat:=pf8bit;
resim.LoadFromFile('orj.bmp');

// yenipalet.palVersion := $300;
// yenipalet.palNumEntries := 255;


GetPaletteEntries(resim.Palette, 0, 256,pal);

    pal[34].peRed:=255;
    pal[34].peGreen:= 0;
    pal[34].peBlue:= 0;

SetPaletteEntries(resim.Palette, 0, 256,pal);

//resim.Palette:=CreatePalette(@yenipalet);

  resim.SaveToFile('dene.bmp')

end;
Cevapla
#5
(01-12-2021, Saat: 00:27)woywod Adlı Kullanıcıdan Alıntı: merhaba arkdaslar yen konu acmak istemedim..

benim sorumun bitmap resim dosyasının palette renk lerinde Degisiklik yapmak istiyorum.
Bu kodlarla çalışmıyor. (yenipalet:TMaxLogPalette) yorum satırındaki degişkeni Aktif ettiğimde çalısıyor Ama bu sefer degiştirdigim renk index i değişiyor.? index i değişmeden işlem yapmak istiyorum. Nasıl yapabılırım?

procedure TForm1.islem_btnClick(Sender: TObject);
var

resim:TBitmap;
//yenipalet:TMaxLogPalette;
pal: array[0..255] of TPALETTEENTRY;
begin
resim:=TBitmap.Create;
resim.PixelFormat:=pf8bit;
resim.LoadFromFile('orj.bmp');

// yenipalet.palVersion := $300;
// yenipalet.palNumEntries := 255;


GetPaletteEntries(resim.Palette, 0, 256,pal);

    pal[34].peRed:=255;
    pal[34].peGreen:= 0;
    pal[34].peBlue:= 0;

SetPaletteEntries(resim.Palette, 0, 256,pal);

//resim.Palette:=CreatePalette(@yenipalet);

  resim.SaveToFile('dene.bmp')

end;

Konuya çözum buldum sadece 2. resim dosyası olusturup onun içine bitmap dosyasını atıyoruz Sonra 2.resmin indexlerini 1.resmin içine yazıyoruz.TMaxLogPalette index e göre işlem yapmıyor RGB göre değişim yapıyor. Bu kadar.


procedure TForm1.islem_btnClick(Sender: TObject);
var
 row, row2: PByte;
 resim, resim2: TBitmap;
 yenipalet: TMaxLogPalette;
 palet: HPALETTE;

 x, y: integer;

begin

 resim := TBitmap.Create;
 resim.PixelFormat := pf8bit;
 resim.LoadFromFile('orj.bmp');

 resim2 := TBitmap.Create;
 resim2.Assign(resim);

 yenipalet.palVersion := $300;
 yenipalet.palNumEntries := 256;

 GetPaletteEntries(resim.Palette, 0, 256, yenipalet.palPalEntry[0]);

 yenipalet.palPalEntry[0].peRed := 0;
 yenipalet.palPalEntry[0].peGreen := 255;
 yenipalet.palPalEntry[0].peBlue := 0;


 palet := CreatePalette(Plogpalette(@yenipalet));

 resim.Palette := palet;

 for y := 0 to resim2.Height - 1 do
 begin
   row2 := resim2.ScanLine[y];
   row := resim.ScanLine[y];
   for x := 0 to resim2.Width - 1 do
   begin
     row[x] := row2[x];

   end
 end;
   resim2.Free;
 resim.SaveToFile('dene.bmp');
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Tool Palette SWF Oynatıcı Gözükmüyor cihad11 7 749 04-09-2023, Saat: 22:59
Son Yorum: cihad11
  Bitmap Dosyasının Palette işlemi woywod 12 5.379 11-08-2020, Saat: 23:59
Son Yorum: woywod



Konuyu Okuyanlar: 1 Ziyaretçi