Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

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?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:39 Uhr.
Seite 1 von 4  1 23     Letzte »    

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