AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Bitmap einlesen und weiterverwenden
Thema durchsuchen
Ansicht
Themen-Optionen

Bitmap einlesen und weiterverwenden

Ein Thema von Lillebrohr · begonnen am 31. Jul 2003 · letzter Beitrag vom 1. Aug 2003
Antwort Antwort
Lillebrohr
(Gast)

n/a Beiträge
 
#1

Bitmap einlesen und weiterverwenden

  Alt 31. Jul 2003, 19:10
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
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#2

Re: Bitmap einlesen und weiterverwenden

  Alt 31. Jul 2003, 19:46
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
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Lillebrohr
(Gast)

n/a Beiträge
 
#3

Re: Bitmap einlesen und weiterverwenden

  Alt 31. Jul 2003, 19:52
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
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#4

Re: Bitmap einlesen und weiterverwenden

  Alt 31. Jul 2003, 19:58
Hallo Lillebrohr,
schau sie dir wirklich an. Sie beinhaltet auch Komponenten vom TBitmap & Co. und mit denen kannst du Deine Manipulationen durchführen.
bye
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#5

Re: Bitmap einlesen und weiterverwenden

  Alt 1. Aug 2003, 09:46
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 haben willst beschäftige dich mit ScanLine
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#6

Re: Bitmap einlesen und weiterverwenden

  Alt 1. Aug 2003, 11:46
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
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#7

Re: Bitmap einlesen und weiterverwenden

  Alt 1. Aug 2003, 12:08
Falls negaH recht hat LINK
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#8

Re: Bitmap einlesen und weiterverwenden

  Alt 1. Aug 2003, 12:25
@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
  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 03:40 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