Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Kann man an eine Bitmap Informationen anhängen? (https://www.delphipraxis.net/171907-kann-man-eine-bitmap-informationen-anhaengen.html)

Popov 30. Nov 2012 22:47

Kann man an eine Bitmap Informationen anhängen?
 
Kennt sich einer mit dem Bitmap-Format einigermaßen aus? Meine Frage ist, kann man an eine Bitmap zusätzliche Informationen anhängen, so wie es z. B. zurzeit bei MP3 üblich ist. Natürlich so, dass die Bitmap voll funktionsfähig bleibt und von allem Programmen geöffnet werden kann. Dabei ist es unwichtig ob z. B. Paint die Informationen zerstört und wieder eine "saubere" Bitmap speichert. Wichtig ist nur, dass man paar Kilobyte an Informationen anhängen kann.

Zacherl 1. Dez 2012 00:11

AW: Kann man an eine Bitmap Informationen anhängen?
 
Weiß nicht, ob es vielleicht noch eine einfachere Möglichkeit gibt, aber du kannst Steganographie Verfahren verwenden, um Informationen in Bilden zu verstecken / speichern.

Luckie 1. Dez 2012 00:12

AW: Kann man an eine Bitmap Informationen anhängen?
 
Das Bitmap Firma ist sehr gut dokumentiert. Aber im Header ist kein Platz mehr. Versuch die Informationen einfach mal hinten anhängen.

Aphton 1. Dez 2012 00:16

AW: Kann man an eine Bitmap Informationen anhängen?
 
Nun, man muss die Daten ja nicht ins Format integrieren.
"Anhängen" an sich kannste Daten an alle Daten..
Sprich
[BitmapDaten][MeineDaten]
Das hier ist z.B. ok, da sich am Format nichts geändert hat und somit das Bild korrekt ausgelesen und "interpretiert" werden kann..

Popov 1. Dez 2012 00:33

AW: Kann man an eine Bitmap Informationen anhängen?
 
Ich glaube ich bin falsch verstanden worden. Ich will nichts verstecken, sondern Informationen mitschicken. Welche Informationen ist egal, z. B. Beschreibung, ein kleines Symbolbild usw. Also nichts womit andere Programme etwas anfangen können, aber das eigene schon. Ich will einfach die Möglichkeiten erweitern, aber kein neues Format erstellen. Im Zweifelsfall soll jedes Programm es als Bitmap laden können.

@Luckie

Also wenn du mit "mal hinten anhängen" meinst, dass das geht, dann wäre damit schon die Frage beantwortet. Ist das also ein bewusstes ja oder eventuell?

@Aphton

""Anhängen" an sich kannste Daten an alle Daten."

Nicht unbedingt. Es gibt auch Daten die sozusagen ihre Header am ende haben. Frag mich jetzt nicht welche Dateien es sind, aber ich kenne einige Dateien dessen letzten zwei Bytes die Dateigröße angeben und eine andere die die Adresse zum Header als letztes Byte speichert.

Aphton 1. Dez 2012 01:05

AW: Kann man an eine Bitmap Informationen anhängen?
 
Hast recht, bei mp3 z.B können die Tags vorne oder hinten sein.
Aber bei Bitmaps (.bmp) ist das imho nicht der Fall.

Bernhard Geyer 1. Dez 2012 07:00

AW: Kann man an eine Bitmap Informationen anhängen?
 
Muss es den BMP sein? JPEG, TIFF und AFAIK auch PNG können sowas. Sind auch verglichen mit BMP viel kleiner

Popov 1. Dez 2012 07:14

AW: Kann man an eine Bitmap Informationen anhängen?
 
Ich gucke mal im ersten Betrag nach... ja, es geht um Bitmap. Sorry, nicht bös gemeint ;)

Es geht hier wirklich um Bitmap.

Popov 1. Dez 2012 07:34

AW: Kann man an eine Bitmap Informationen anhängen?
 
Kleiner schneller Test:
Delphi-Quellcode:
function LoadStringFromFile(sInFile: String; var sFileString: String): Boolean;
var
  FileStream: TFileStream;
begin
  Result := False;
  if not FileExists(sInFile) then Exit;
  FileStream := TFileStream.Create(sInFile, fmOpenRead);
  try
    if FileStream.Size <> 0 then begin
      SetLength(sFileString, FileStream.Size);
      FileStream.Read(sFileString[1], FileStream.Size);
      Result := True;
    end;
  finally FileStream.Free end;
end;

function SaveStringToFile(sOutFile: String; sFileString: String): Boolean;
var
  FileStream: TFileStream;
begin
  Result := False;
  FileStream := TFileStream.Create(sOutFile, fmCreate);
  try
    if Length(sFileString) <> 0 then begin
      FileStream.Write(sFileString[1], Length(sFileString));
      Result := True;
    end;
  finally FileStream.Free end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Path: String;
  Bitmap: String;
begin
  Path := ExtractFilePath(ParamStr(0)) + 'Cover.bmp';
  LoadStringFromFile(Path, Bitmap);
  Bitmap := Bitmap + 'Hallo Welt';
  SaveStringToFile(Path, Bitmap);

  Image1.Picture.Bitmap.LoadFromFile(Path);
end;
Ja, es klappt. Zumindest gibt es keine Fehlermeldungen. Allerdings weiß ich immer noch nicht ob zufällig oder auch sonst nicht. Anscheinend endet jede Bitmap mit einer Null. Ob das wichtig ist?

Sir Rufo 1. Dez 2012 08:12

AW: Kann man an eine Bitmap Informationen anhängen?
 
Zitat:

Zitat von Popov (Beitrag 1193818)
Anscheinend endet jede Bitmap mit einer Null. Ob das wichtig ist?

Hmmm, bei so einer Frage, frage ich mich, ob du dich mit dem Bitmap Format auseinander gesetzt (lesen der Dokumentation) hast, oder ob du möchtest, dass wir das für dich machen?

Popov 1. Dez 2012 08:55

AW: Kann man an eine Bitmap Informationen anhängen?
 
@Sir Rufo

Nein, ich hab mich mit dem Bitmap Format nicht auseinander gesetzt und habe es auch nicht vor. Es interessiert mich schlicht und einfach nicht. Zumindest zu diesem Zeitpunkt und zu diesem Problem nicht. Später vielleicht, jetzt nicht. Wenn ich ein Auto fahren will, dann lese ich mir auch nicht zuerst die Dokumentation über die Einspritzpumpe durch. Auch erwarte ich nicht, dass irgendwer es für mich macht. Ich hab auch keinen gebeten sich die Dokumentation zum Bitmap Format für mich durchzulesen. Ich hab einfach in einem Diskussionsforum eine Frage gestellt ob sich irgendwer bereits damit auskennt. Als Beweis füge ich den ersten Satz meines Eingangspostings ein: "Kennt sich einer mit dem Bitmap-Format einigermaßen aus". Soll bedeuten: kennt sich einer mit dem Bitmap-Format einigermaßen aus? Eine simple Frage, vergleichbar mit: "Entschuldigen Sie bitte, können Sie mit bitte die Uhrzeit sagen?". Als Antwort gäbe es da: "Ja", "Nein", aber auch "ich habe mir die Uhr gekauft um selbst die Uhrzeit zu kennen; wenn sie die Uhrzeit wissen wollen, dann kaufen sie sich gefälligst ihre eigene Uhr". Zurück zum Thema. Der Sinn eines Diskussionsforums ist geballtes Wissen in einem Forum zu sammel, so dass nicht jedes Mal das Rad neu erfunden werden muss. Weiß einer nicht wie man eine StringList sortiert, kann er im Forum fragen. Wenn er Glück hat antwortet einer, ob mit Code oder einen Begriff, wie zum Beispiel "Bubblesort" oder anderen Fachbegriffen, so dass man über die Suche schnelle einen Code finden kann. Auf diese Weise kann sich der Frager die lange Erfindung eines eigenen Sortierverfahrens sparen. Diskussionsforen haben also den Vorteil, dass das Rad nicht immer aufs neue erfunden werden muss, sondern man auf die Erfahrung anderer zurückgreifen kann. Es ist ein geben und nehmen. Hat man eine Frage, stellt man sie, hat jemand anders eine Frage, beantwortet man sie. Das ist sehr effizient und so können viele User ihre persönlichen Erfahrungen miteinander teilen so draus ein breites Allgemeinwissen zu machen. Das hat auch schon in der Geschichte gut funktioniert. Städte in der Antike die an stark frequentierten Stellen standen, profitierten von dem Wissen der Durchreisenden, gaben ihrerseits ihr Wissen weiter, das in die Welt getragen wurde. So entwickelten sich einige Gegenden zu Metropolen, während man anderenorts noch auf Bäumen wohnte. Das Wissen miteinander Teilen, nicht alles neu erfinden müssen oder durch Versuch und Irtum lernen zu müssen. Später, als Bücher erfunden wurden, gab man so sein Wissen weiter. In meinem Fall habe ich keinen gebeten sich die Arbeit zu machen für mich eine Dokumentation durchzulesen, sondern nur die angesprochen die es schon mal gemacht haben. Deshalb auch die Eingangsfrage: "Kennt sich einer mit dem Bitmap-Format einigermaßen aus?". Damit waren nur die gemeint die sich damit auseinander kennen und die Frage mit einem Ja oder Nein beantworten. Damit hoffte ich von der Erfahrung eines anderen Nutzers klein wenig zu profitieren. Auf jeden Fall bin ich nicht der Meinung, dass ich jemand damit beauftragt habe etwas für mich zu erledigen, auch wenn ich dich Eingangsfrage um einen Punkt erweitert haben, die der Null am Ende. Ich hoffe ich hab mit dem Statement nun genügend meinen Standpunkt zu Diskussionsfohren dargelegt zu haben. Ist damit deine Frage beantwortet?

himitsu 1. Dez 2012 09:24

AW: Kann man an eine Bitmap Informationen anhängen?
 
Wenn man sich aber mit dem Bitmapformat auseinandersetzt, dann erkennt man, daß man (inoffiziell) Daten anhängen könnte
und im Forum würde man auch noch was finden, wie man Daten im Bild versteckt.

DeddyH 1. Dez 2012 09:26

AW: Kann man an eine Bitmap Informationen anhängen?
 
Du hast den Thread nicht komplett gelesen, kann das sein? :roll:

himitsu 1. Dez 2012 09:35

AW: Kann man an eine Bitmap Informationen anhängen?
 
komisch, vorhin was der Thread noch kürzer :shock:

Nja, offiziell kann man da keine Daten dranhängen, weil das ja in der Bitmap-Definition nicht vorgesehn ist ... soweit stimmt das schon.
Es gibt auch kein Endezeichen, auf die erwähnte #0 bezogen.
Aber bei eine Bitmap wird ja nur auf den Dateiheader geachtet und alles was hinter dem verwendeten Datenbereich steht, wird dabei einfach ignoriert.

Also wenn man unbedingt Daten an/in ein Bitmap (nicht TBitmap) bekommen will, dann gibt es schon Wege :angle:

Sir Rufo 1. Dez 2012 09:47

AW: Kann man an eine Bitmap Informationen anhängen?
 
@Popov

Ich kann das Geschrei hier nicht verstehen :roll:

In der Zeit, die du für deine Antwort gebraucht hast, hättest du auch den Wikipedia Eintrag zum Bitmap Format überfliegen können
http://de.wikipedia.org/wiki/Windows_Bitmap

und folgende Zeile gibt schon mal einen Hinweis, warum das mit der 0 am Ende sein kann, bzw. muss.
Zitat:

Die Bilddaten werden Zeile für Zeile gespeichert. Wenn biHeight positiv ist, beginnen die Bilddaten mit der letzten und enden mit der ersten Bildzeile, ansonsten ist es umgekehrt. Die Länge jeder Zeile ist ein Vielfaches von 4 Bytes, falls erforderlich, wird mit Nullbytes aufgefüllt.
Die Formatbeschreibung ist jetzt auch nicht so umfangreich, dass man hier erst 3 Monate Zeit benötigt.

Fast jede Anfänger Frage (bzgl. Delphi) wird mindestens einmal mit dem freundlichen Hinweis auf Tutorials und Dokumentation beantwortet.

EDIT:

Rund 98% aller Autofahrer haben sich vor dem Erwerb der Fahrerlaubnis mit der Dokumentation beschäftigt

Popov 1. Dez 2012 10:23

AW: Kann man an eine Bitmap Informationen anhängen?
 
Nein Sir Rufo, ob ich jetzt 5 Stunden für meinen Text gebraucht habe und in der Zeit die Grundsatzerklärung der Vereinten Nationen hätte durchlesen können, ist irrelevant. Die Eingangsfrage hat zehn Sekunden gedauert. Ich habe auf ein Ja oder Nein gehofft. Bein Nein wäre die Sache erledigt, bei Ja hätte ich mich näher mit dem Format auseinandergesetzt. Kurze Frage, kurze Antwort. Ist der Film spannend? Nein, man guckt sich den nicht an, ja, man guckt sich den an. Einfach. Ok, die Eingansfrage ist missverstanden worden und bedurfte einer Erklärung. Der Tread wurde länger. Dann habe ich mir letztendlich die Frage selbst beantwortet durch einen Test, da die Zeit drängte. Dann kam eine weitere Frage, 3 Sekunden. Und wenn ich mich angepißt fühle und einen langen Text schreiben, na und? Meine Zeit. Und selbst auf die Gefahr hin nie weider eine Antwort auf eine Frage zu kriegen, ich werde mir auch in Zukunft nicht eine Stunde etwas durchlesen, was man kurz Fragen kann und mit einem Ja oder Nein beantwortet werden kann. Wenn ich mir für jeden Sch... alles durchlesen muss, dann ist das Forum sinnlos. Keine Angst, ich lese mir schon vieles an, nur habe ich keine Lust mir ein Buch durchzulesen um eine Ja/Nein Frage zu beantworten. Wenn eine Problem umfangreicher wird, dann lese ich mir auch schon ein Buch durch.

Also, vergißt die Frage. Das ganze geht mir inzwischen zu stark auf den Senker.

PS: ich habe mir vorher Wiki durchgelesen, aber keinen Zusammenhang zu meiner Frage gesehen.

mkinzler 1. Dez 2012 14:14

AW: Kann man an eine Bitmap Informationen anhängen?
 
Jungs, was soll das! Natürlich wäre die einfachste Antwort: Nein gewesen. Wie auch auf die Frage, ob man Wasser in Papiertüten transportieren kann. Aber jeder hätte wohl zu Flaschen, oder bei der Analogie zu bleiben, zu Plastiktüten geraten.

@Popov: Um Autofahren zu können, muss man sich, wenn man sich auf der legalen Grund bewegen will. mit den theoreticshne Grundlagen befasst haben, um den Führerschein zu bestehen. Und wenn eine Warnleuchte blinkt, muss man nicht das Ganze Handbuch lesen, es reicht der entsprechende Abschnitt.

@Sir Rufo: Einfach Füsse ruhighalten, dann verhungern Fragesteller, die Abwägen, ob es sich lohnt sich selber einen Kopf zu machenm oder es schneller geht, das andere erledigen zu lassen.

P.S.: Dieser Beitrag spiegelt meine persönliche Meinung wieder und muss sich nicht mit der Meinung des restlichen Teams decken.

Popov 1. Dez 2012 14:48

AW: Kann man an eine Bitmap Informationen anhängen?
 
Zitat:

Zitat von mkinzler (Beitrag 1193873)
das andere erledigen zu lassen.

Durch Wiederholung wird nie verlangtes nicht wahrer.
Nein, Sir Rufo ist nicht übergewichtig. Ihn als übergewichtig zu bezeichnen ist nicht korrekt uns stark übertrieben. Es gibt dickere Menschen. Übergewicht ist eine Gefahr für die Volksgesundheit. Man sollte wenige Pizza essen. Trotzdem Sir Rufo als übergewichtig zu bezeichnen ist sehr stark übertrieben. Essstörungen sollten rechtzeitig behandelt werden, dann wird man auch nicht dick. Das sollte Sir Rufo sich zu Herzen nehmen. Trotzdem würde ich ihn persönlich nicht als dick bezeichnen, andere vielleicht, ich nicht.

Das noch ein Dutzend mal wiederholen und keiner blickt mehr durch. Man kann ganz leicht einen falschen Eindruck vermitteln.

Worte manipulieren. Wenn da also steht "das andere erledigen zu lassen" dann mag das stimmen. Trotzdem hat es keiner im Thread verlangt. Es immer wieder zu wiederholen wird es nicht wahrer machen. Und Sir Rufo sollte evtl. weniger Pizza essen und auf seine Figur achten. Ich hab keinen gebeten etwas für mich zu lesen. Und Sir Rufo sollte anfangen auf sein Gewicht zu achten.

mkinzler 1. Dez 2012 14:54

AW: Kann man an eine Bitmap Informationen anhängen?
 
Die Nachfrage nach den Nullem am Ende, kann man leicht durch Überfliegen der Doku klären, was dir zu viel Arbeit war!

Popov 1. Dez 2012 15:14

AW: Kann man an eine Bitmap Informationen anhängen?
 
Bin ich anderer Meinung.

mkinzler 1. Dez 2012 16:09

AW: Kann man an eine Bitmap Informationen anhängen?
 
Ist dein gutes Recht.

Ich habe den Beitrag wiederhergestellt. und wenn du jemand verklagen willst, dann verklage bitte mich und lass die DP aussen vor, den meine unrechtmässige Zurechtweisung ist ganz allein auf meinem Mist gewachsen!

Sir Rufo 1. Dez 2012 16:24

AW: Kann man an eine Bitmap Informationen anhängen?
 
Bin jetzt zu dick oder nur zu klein oder was? :gruebel:

DeddyH 1. Dez 2012 16:29

AW: Kann man an eine Bitmap Informationen anhängen?
 
Vielleicht sind nur Deine Beine zu weit hinten :mrgreen:. In welchem Zusammenhang das nun zu Bitmaps steht, ist aber auch mir verborgen geblieben.

Popov 1. Dez 2012 16:43

AW: Kann man an eine Bitmap Informationen anhängen?
 
Zitat:

Zitat von DeddyH (Beitrag 1193898)
In welchem Zusammenhang das nun zu Bitmaps steht, ist aber auch mir verborgen geblieben.

Es gibt auch keinen, genauso wenig wie zwischen der Bemerkung "Ob das wichtig ist?" und "kannst du bitte für mich die Dokumentation durchlesen und es mir dann sagen?". Absolut keine.

DeddyH 1. Dez 2012 17:02

AW: Kann man an eine Bitmap Informationen anhängen?
 
Du musst aber doch zugeben, dass allein nach einem reinen Überfliegen des Wikipedia-Artikels klar ist, wie so eine Bitmap aufgebaut ist:
Zitat:

BMP-Dateien bestehen aus drei Teilen: dem Dateikopf, dem Informationsblock und den Bilddaten (siehe Schema rechts).
Damit sollte dann schnell klar sein, dass die Herausforderung eher darin besteht, zuverlässig herauszufinden, wo die Bilddaten enden. Dort kann man dann seine Infos anhängen und anschließend testen, ob gängige Darstellungsprogramme noch damit klarkommen (was sie eigentlich sollten, denn sie werden die Infodaten ja auch auswerten müssen).

Popov 1. Dez 2012 17:36

AW: Kann man an eine Bitmap Informationen anhängen?
 
DeddyH, können wir uns drauf einigen, dass wenn ich so eine Frage stelle, ich danach nicht die ganze Zeit vor dem PC sitze und warte bis die Antwort kommt, sondern an irgendwas anderem arbeite und lediglich eine Frage ans Brett (Board) geheftet habe? Dieses Problem gehe ich erst in zwei Wochen an, wenn überhaupt. Ich empfinde es als Unding davon auszugehen, dass ich Arbeit auf jemand anderes abwälze. Dieses Forum strotzt von Experten. Nicht alle auf dem gleichen Gebiet, aber der eine in Datenbanken, der andere kennt sich sehr gut in Netzwerktechnik aus, andere wiederum in Grafik und Grafikformaten. Ich hab eine Frage gestellt die eine Experte mit einem Ja oder Nein beantworten kann. Und an Experten die sich auskennen ging ja auch die Frage. Das wäre genug Info. Denn ich besitze die einzigartige Gabe zwei Wochen im voraus zu planen. Und wenn ein Ja gekommen wäre, dann wüßte ich, dass ich den Weg weiter verfolgen kann, an was ich mich in zwei Wochen ran machen muss, wenn nein, dann hätte ich mir in den zwei eine Alternative gesucht. Jetzt habe ich Stunden damit verbracht mich um eine Info zu kümmern, von der ich jetzt noch gar nicht weiß ob sie mir was bringt. Denn ob ich es in zwei Wochen tatsächlich brauchen werde oder mit in der Zwischenzeit etwas besseren eingefallen ist, dass weiß ich heute noch nicht. Also ich hab mir jetzt eine Info durchgelesen die ich vielleicht gar nicht brauchen werde.

DeddyH 1. Dez 2012 17:58

AW: Kann man an eine Bitmap Informationen anhängen?
 
Und die erwartete Antwort kam bereits in #4. Du höchstpersönlich warst es, der dann unbedingt noch Einwände vorbringen musste, wo ein Blick in die Doku (und auch den nur, um die getroffene Aussage zu verifizieren) genügt hätte. Was regst Du Dich also künstlich auf?

Sir Rufo 1. Dez 2012 18:01

AW: Kann man an eine Bitmap Informationen anhängen?
 
Ok, hier die Antwort auf deine Ausgangsfrage im ersten Thread:

Nein

EDIT

Diese Antwort bezieht sich ausschließlich auf deine Ausgangsfrage, wortwörtlich, so wie sie gestellt wurde.
Ohne eine Unterstellung, Interpretation, etc. sozusagen RAW

Also, wie gewünscht

Aphton 2. Dez 2012 01:52

AW: Kann man an eine Bitmap Informationen anhängen?
 
Mal so nebenbei... eigentlich hauptsächlich:
Hats nun funktioniert? Ist dein Problem gelöst?

Popov 2. Dez 2012 06:27

AW: Kann man an eine Bitmap Informationen anhängen?
 
a) es war kein Problem, es war eine kurze Frage in den Raum gestellt
b) da es anfing in einer Diskussion auszuarten und ich keine Lust drauf hatte, habe ich eine Test gemacht. Kannst ihn wiederholen.
c) hätten dann nicht einige angefangen ständig zu fragen wieso ich mir nicht die komplette Dokumentation durchlese, nur weil ich eine Kleinigkeit wissen wollte, hätte sich vielleicht einer gemeldet der sich schon mal damit auseinandergesetzt und hätte es mit einem Satz beantwortet.
d) wenn du wissen willst ob es geht, dann lies dir bitte die Dokumentation zu Bitmap durch. Soll angeblich gut dokumentiert sein.

MrSpock 2. Dez 2012 07:50

AW: Kann man an eine Bitmap Informationen anhängen?
 
Ich finde es wirklich kindisch, was hier im Thread abgeht. Popov hat eine Frage gestellt, die jemand, der sich schon einmal ausführlich mit der Fragestellung befassen musste, schnell und fachkundig beantworten kann. Fast alle Fragen hier im Forum kann man natürlich auch woanders im Netz beantwortet bekommen, bzw. Detaillierte Infos finden, die dann eine Antwort liefern. Ich finde deshalb eine Zurechtweisung des TE unangebracht. Wer die Frage von Popov nicht beantworten will (ohne im noch "eine mitzugeben"), der soll sich doch einfach zurückhalten.


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