Mein code : Daten in einem png Bild verstecken

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Knight_Rider_2000
Beiträge: 145
Registriert: 05.02.2007 20:46
Kontaktdaten:

Beitrag von Knight_Rider_2000 »

Außerdem würde ich in den Code noch einbauen, das der Text in kleinbuchstaben konventiert wird sodass eingaben mit großen Buchstaben der erste buchstabe nicht verschwindet. bei mir ist das so:
bei
"Hello World" wird
" ello orld" ausgegeben
PB 4.20,Blitz3D 1.98,Microsoft Visual Studio 2005 Professional, Microsoft Visual Studio 2008 Professional
Benutzeravatar
Dadido3
Beiträge: 119
Registriert: 24.02.2007 22:15
Kontaktdaten:

Beitrag von Dadido3 »

Tach erstmal, so will auch mal meinen Senf dazugeben

Hab deinen code jetzt zwar nicht getestet, und nur ein wenig drübergeschaut... aaber ich kenn da zwei Methoden wodurch man den Text sehr gut und unbemerkt in einem Bild verstecken kann:

1.: Abwechselnde Farben (Nicht so gut, aber von mir selber ausgedacht ;) )

Man nehme von jedem Pixel einen Subpixel (z.B. Rot) und vergleichen den Wert mit dem Subpixel von dem Pixel davor. Wenn der Wert kleiner ist bedeutet das 0, wenn der wert größer ist bedeutet das 1.

Beispiel:

Position:_________Farbwert:
Pixel X1 Y1 -------> 100
Pixel X2 Y1 -------> 102
Pixel X3 Y1 -------> 101
Pixel X4 Y1 -------> 80
Pixel X5 Y1 -------> 150

das könnte man dann als 1001 interpretieren, wobei Pixel X1 Y1 das anfangsbit ist.

Mein Programm mit source, was mit dieser Methode arbeitet:
Beispielprogramm

So nun zur zweiten Methode: bits manipulieren (sehr gut wie ich finde, aber nicht von mir)

Der Trick hierbei ist ganz einfach, man zerlegt jeden Farbwert in einzelne Bits (10110100). Davon muss man dann nurnoch den Bit mit dem niedrigsten Wert nach belieben ändern.

Also das sähe dann so aus:

10110100
10110111
01101100
10011010

Wie man unschwer erkennt zeigt sich ganz rechts nach unten verlaufend die Reihe 0100.

So und warum funktioniert das so gut:
ganz einfach, das letzte bit verändert den ganzen Farbwert nur um einen Wert, deswegen erkennt man fast keine veränderung am Bild selbst


so, das warst erstmal von mir.
Antworten