![]() |
Ne doofe Frage zu Image / Bitmap / scanline
Hallo Leute,
es ist mir fast schon peinlich, die vermutlich blöde Frage zu stellen: Ich hab auf meiner Form ein Image. Wie kann ich darauf mittels scanline zugreifen? Irgendwie gibt's scanline wohl nur für TBitmap's oder so. Zumindest meckert das Delphi (sicherlich zu Recht) bei Image1.scanline rum. Mein Problem: Meine selfmade-Wärmebildkamera gibt mir Temperaturen aus, die ich in farbige Kästchen auf dem Image verwandeln will. Hab mir bereits eine Funktion geschrieben, die mir zu gegebenen Temperaturen die drei RGB-Werte ausspuckt. Mit Image1.Canvas.Rectangle dauert mir der ganze Spaß dann aber zu lange, daher wollte ich mit scanline arbeiten. Aber irgendwie stell ich mich grad zu doof, sodass scanline nicht mit mir zusammenarbeiten will. |
AW: Ne doofe Frage zu Image / Bitmap / scanline
Zitat:
Wo hakts es denn genau ? |
AW: Ne doofe Frage zu Image / Bitmap / scanline
Delphi-Quellcode:
Image1.Picture.Bitmap.ScanLine
|
AW: Ne doofe Frage zu Image / Bitmap / scanline
Ich wusste, dass es irgendwie einfach wird :wall:
Danke! :-D |
AW: Ne doofe Frage zu Image / Bitmap / scanline
Hmmm... zu früh gefreut. Ich hab mal oben genanntes
![]()
Delphi-Quellcode:
Wo ist hier jetzt das Problem?
procedure TForm1.Button3Click(Sender: TObject);
type PixArray = Array [1..3] of Byte; var p: ^PixArray; h,w: Integer; begin for h:=0 to Image1.Picture.Bitmap.Height-1 do begin p:= Image1.Picture.Bitmap.ScanLine[h]; for w:=0 to Image1.Picture.Bitmap.Width-1 do begin p^[3]:=255; Inc(p); end; end; end; |
AW: Ne doofe Frage zu Image / Bitmap / scanline
Daß es ScanLine "nur" für Bitmaps (eventuell aber auch für ICO und unkomprimiert Einzelbild-GIFs) gibt, ist nicht verwunderlich.
Denn dieses gibt einen direkten Zugriff auf die internen Daten der Pixel und bei fast allen anderen Grafikformaten gibt es keine Daten für alle einzelnen Pixel, da diese irgendwo komprimiert "versteckt" sind. Zitat:
und welches Pixelformat besitzt dieses Bitmap? ![]() Das Format (der Aufbau, die bytes/Bits) der Daten hängt natürlich vom Format des Bitmaps ab. |
AW: Ne doofe Frage zu Image / Bitmap / scanline
Ich hatte tatsächlich nur vergessen, ein Bild in das Image zu laden :)
Danke himitsu! |
AW: Ne doofe Frage zu Image / Bitmap / scanline
Ansonsten hättest du jede verfügbare Grafik mit Bitmat.Assign(PNGGrafik) in das Bitmap-format überführen können.
Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz