AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi bitmap pf8bit jedes pixel nur mit einem byte speichern
Thema durchsuchen
Ansicht
Themen-Optionen

bitmap pf8bit jedes pixel nur mit einem byte speichern

Ein Thema von etom291272 · begonnen am 3. Nov 2005 · letzter Beitrag vom 3. Nov 2005
Antwort Antwort
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#1

bitmap pf8bit jedes pixel nur mit einem byte speichern

  Alt 3. Nov 2005, 14:08
guten tag zusammen

Ist es möglich ein 256 farben bitmap so in einem stream zu speichern dass die farbe jedes pixel nur mit einem einzelnen byte representiert wird

ich versuche über scanline einen zeiger auf die linie zu erhalten und lese dann jeden teil des arrays (was ja dann eigentlich das byte sein müsste aus)
Delphi-Quellcode:
P, P2: PByteArray;
...
for x := 0 to Bitm1.Width - 1 do
    begin
      if (P[x] <> P2[x]) then
     begin
        Inc(CountFalsePixel);
        Inc(aLauf);
        Daten[aLauf].Farbe:= P2[x];
...
in daten i sind dann auch werte zwischen 0 und 255 aber ich fürchte dass entspricht nicht der farbe

in anderes bitmap einlesen dann so

Delphi-Quellcode:
  for i:=0 to 200000 do //Length(Daten) -1 do
  begin
    inc(AktSpalte);
    Image2.Picture.Bitmap.Canvas.Pixels[AktZeile,AktSpalte]:=Daten[i].Farbe;
    if AktSpalte = 100 then inc(AktZeile);
    if AktSpalte>100 then AktSpalte:=-1;
  end;
  ShowMessage('fertig'+' Anzahl Items Liste: '+inttostr(ListBox1.Items.Count));
er zeichnet zwar aber nur rot warscheinlich weil dass dann nur der rotanteil ist
kann man nur mit einem byte eine farbe bei einem pf8bit bitmap abspeichern
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: bitmap pf8bit jedes pixel nur mit einem byte speichern

  Alt 3. Nov 2005, 14:13
Du benötigst zusätzlich auch die Palette - bei einer 8-Bit-Bitmap ist die Farbe der Pixelwert (0-255) nur ein Index in die Farbtabelle (Palette).
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#3

Re: bitmap pf8bit jedes pixel nur mit einem byte speichern

  Alt 3. Nov 2005, 14:15
danke für die schnelle antwort

wo bekomme ich die richtige palette her und wie weise ich dann die entsprechende farbe
dem pixel zu ???
  Mit Zitat antworten Zitat
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#4

Re: bitmap pf8bit jedes pixel nur mit einem byte speichern

  Alt 3. Nov 2005, 14:35
hat sich erledigt

Delphi-Quellcode:
var
  MeinePalette:HPALETTE;
...
MeinePalette:=Image3.Picture.Bitmap.Palette;

Image4.Picture.Bitmap.Palette:=MeinePalette;
Image4.Picture.Bitmap.Canvas.Pixels[AktZeile,AktSpalte]:=PaletteIndex(Daten[i].Farbe);
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz