AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Ne doofe Frage zu Image / Bitmap / scanline
Thema durchsuchen
Ansicht
Themen-Optionen

Ne doofe Frage zu Image / Bitmap / scanline

Ein Thema von Tom K. · begonnen am 19. Jul 2010 · letzter Beitrag vom 25. Jul 2010
Antwort Antwort
Tom K.

Registriert seit: 22. Apr 2010
11 Beiträge
 
#1

Ne doofe Frage zu Image / Bitmap / scanline

  Alt 19. Jul 2010, 20:46
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.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

AW: Ne doofe Frage zu Image / Bitmap / scanline

  Alt 19. Jul 2010, 20:50
Zitat:
Irgendwie gibt's scanline wohl nur für TBitmap'sIrgendwie gibt's scanline wohl nur für TBitmap's
Jo. Ist ja aber auch nicht schlimm da man alle Formate nach TBitmap's umwandeln kann.


Wo hakts es denn genau ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Ne doofe Frage zu Image / Bitmap / scanline

  Alt 19. Jul 2010, 20:59
 Image1.Picture.Bitmap.ScanLine
Markus Kinzler
  Mit Zitat antworten Zitat
Tom K.

Registriert seit: 22. Apr 2010
11 Beiträge
 
#4

AW: Ne doofe Frage zu Image / Bitmap / scanline

  Alt 19. Jul 2010, 21:02
Ich wusste, dass es irgendwie einfach wird

Danke!
  Mit Zitat antworten Zitat
Tom K.

Registriert seit: 22. Apr 2010
11 Beiträge
 
#5

AW: Ne doofe Frage zu Image / Bitmap / scanline

  Alt 19. Jul 2010, 21:13
Hmmm... zu früh gefreut. Ich hab mal oben genanntes Beispiel genommen und entsprechend mein Image1 eingesetzt. Angeblich soll alles rot werden. Leider tut sich gar nix...
Delphi-Quellcode:
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;
Wo ist hier jetzt das Problem?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#6

AW: Ne doofe Frage zu Image / Bitmap / scanline

  Alt 19. Jul 2010, 21:31
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.

Wo ist hier jetzt das Problem?
Ist auch ein BitMap in dem Image geladen
und welches Pixelformat besitzt dieses Bitmap?
Delphi-Referenz durchsuchenTBitmap.Pixelformat
Das Format (der Aufbau, die bytes/Bits) der Daten hängt natürlich vom Format des Bitmaps ab.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (19. Jul 2010 um 21:35 Uhr)
  Mit Zitat antworten Zitat
Tom K.

Registriert seit: 22. Apr 2010
11 Beiträge
 
#7

AW: Ne doofe Frage zu Image / Bitmap / scanline

  Alt 25. Jul 2010, 13:56
Ich hatte tatsächlich nur vergessen, ein Bild in das Image zu laden
Danke himitsu!
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#8

AW: Ne doofe Frage zu Image / Bitmap / scanline

  Alt 25. Jul 2010, 14:19
Ansonsten hättest du jede verfügbare Grafik mit Bitmat.Assign(PNGGrafik) in das Bitmap-format überführen können.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  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 23:26 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