Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Bitmap einlesen und weiterverwenden (https://www.delphipraxis.net/7063-bitmap-einlesen-und-weiterverwenden.html)

Lillebrohr 31. Jul 2003 19:10


Bitmap einlesen und weiterverwenden
 
Guten Tag,

Also,

1. Ich will auf Buttonklick ein Bitmap einlesen.
--> sollte kein Problem sein
2. Ich will, und jetzt wirds kriminell, in einer Schleife
das ganze Bild absuchen nach einem Farbwert, meinentwegen Rot.
3. Er soll dann einen Zähler erhöhen wenn er die Farbe ROT erkannt hat.
Halt wie wenn ich mit einem Farbwähler in Paint eine Farbe
auswähle. Er soll sozuagen oben links anfangen und dann nach rechts sich abtasten, hinten angekommen soll er in eine neue Zeile wechseln.

4. Ihr fragt euch jetzt vielleicht, für was ich sowas brauche.
Nun ja ich will mich mal an einen eigenen Crypto algo ranmachen. Und dafür will ich Bilder verwenden.

Meine Frage ist nun. Geht sowas überhaupt ?? Also ich wüsste nicht wie es funktionieren sollte.

Tja nun seid ihr dran. Danke schon mal für eure Hilfsbereitschaft.

Mit freundlichen Gruß

LB

Duffy 31. Jul 2003 19:46

Re: Bitmap einlesen und weiterverwenden
 
Hallo Lillebrohr,
das Zauberwort heißt "TImage", schau Dir mal die Komponente genau an und Du wirst sehen bzw. erkennnen welche Möglickeiten darin verborgen sind.
bye

Lillebrohr 31. Jul 2003 19:52

Re: Bitmap einlesen und weiterverwenden
 
Guten Tag duffy,

danke für deine Antwort. Tja ich habe mal an die Canvas Funktion gedacht aber naja ich dachte halt irgend jemand von den Members hier hat sich schonmal damit befasst.

Naja werd ich mal gucken werden müssen tuhen.

Mit freundlichen Gruß

LB

Duffy 31. Jul 2003 19:58

Re: Bitmap einlesen und weiterverwenden
 
Hallo Lillebrohr,
schau sie dir wirklich an. Sie beinhaltet auch Komponenten vom TBitmap & Co. und mit denen kannst du Deine Manipulationen durchführen.
bye

neolithos 1. Aug 2003 09:46

Re: Bitmap einlesen und weiterverwenden
 
1. Ich will auf Buttonklick ein Bitmap einlesen.
--> sollte kein Problem sein

TBitmap.LoadFromFile

2. Ich will, und jetzt wirds kriminell, in einer Schleife
das ganze Bild absuchen nach einem Farbwert, meinentwegen Rot.

Delphi-Quellcode:
  iCount := 0;
  for y := 0 to bmp.Height - 1 do
      for x := 0 to bmp.Width - 1 do
          if bmp.Canvas.Pixels[x, y] = rgb(??, ??, ??) then
             inc(iCount);
Wenn du es schnelle :angle: haben willst beschäftige dich mit ScanLine

negaH 1. Aug 2003 11:46

Re: Bitmap einlesen und weiterverwenden
 
Hi,

Ich vermute du willst Steganographie machen. Dazu brauchst du nicht nach roten Pixeln zu suchen. Entscheidend ist das die zusätzliche zu versteckende Information dem Bild angepasst wird und möglichst keine nachweisebaren Spuren hinterlassen werden. Am effektivsten arbeitet man mit 24Bit Bitmaps, also 3 Bytes pro Pixel, somit 1 Byte für Blau,Rot und Grün. Beim Einbetten/Auslesen der Infos wird nun über Bitmap.ScanLines[] gearbeitet. Dies gibt uns einen Zeiger auf ein array[0..Bitmap.Width -1] of packed record R,G,B: Byte end; zurück. Dieser Weg ist der effizienteste unter Delphi.

Von jedem Farbwert wird NUR das unterste Bit mit unseren Daten belegt. Dadurch nutzen wir die Schwankungen im Farbwert aus die eh durch Rauschen entstanden sind.


Gruß Hagen

Mirilin 1. Aug 2003 12:08

Re: Bitmap einlesen und weiterverwenden
 
Falls negaH recht hat LINK

negaH 1. Aug 2003 12:25

Re: Bitmap einlesen und weiterverwenden
 
@Merlin, der Link ist ein guter Einstieg, man sollte aber die dort dargstellte Methode wirklich nur als Demo betrachten. Sie wäre unsicher.

Da ich aber nicht weiß was Lillebrohr will lohnt sich noch keine Erklärung.

Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 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