Problem mit verschlüsselung

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

sbrog

Betreff: Problem mit verschlüsselung

BeitragMi, Jun 09, 2004 20:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Verschlüsselung

Code: [AUSKLAPPEN]

Graphics 800,600
pfad$ = Input("welches Bild soll verschlüsselt werden ?")
bild= LoadImage(pfad)
textdatei = WriteFile("text.txt")
bildbreite = ImageWidth(bild)
bildhoehe = ImageHeight(bild)

WriteLine textdatei,bildbreite
WriteLine textdatei,bildhoehe



DrawImage bild,0,0

For x= 0 To bildbreite-1
For y= 0 To bildhoehe-1

GetColor x,y
aa= ColorRed()
bb= ColorGreen()
cc= ColorBlue()
WriteLine textdatei,aa
WriteLine  textdatei,bb
WriteLine  textdatei,cc

Next
Next


CloseFile textdatei

Color 255,255,255
Text 100,100, "Die Datei wurde in Text.txt verschlüsselt"
WaitKey


Entschlüsselung
Code: [AUSKLAPPEN]

textdatei = ReadFile("text.txt")
bildhoehe = ReadLine(textdatei)
bildbreite = ReadLine(textdatei)

bild = CreateImage(bildhoehe,bildbreite)
SetBuffer ImageBuffer(bild)
For a= 0 To bildbreite
For b= 0 To bildhoehe
x= ReadLine(textdatei)
y= ReadLine(textdatei)
z= ReadLine(textdatei)
Color x,y,z
Plot a,b
Next
Next


SetBuffer FrontBuffer()
DrawImage bild,0,0
WaitKey



Irgendwas stimmt daran nicht, aber ich weiß nciht was.
Die pixel werden in jeder Reihe versetzt gezeichnet

Kabelbinder

Sieger des WM-Contest 2006

BeitragMi, Jun 09, 2004 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Lass mich raten: Du möchtest Ein Bild auf diese Weise in einer .txt-Datei speichern.

Also ich hab sowas auchmal gemacht, aber davon ist abzuraten, da die Textdatei anschließend etwa viermal so groß ist, wie die Bild Datei Laughing (Zumindest, wenn du die als Strings speicherst).

Also hier mein Programm, vielleeicht kannst du die das ja was abgucken Confused :

Verschlüsseln:

Code: [AUSKLAPPEN]
Const breit = 102
Const hoch = 89

bild = LoadImage("Bild/Fisch.bmp")
Dim reihe$(hoch)
DrawImage bild,0,0
MaskImage bild,38,20,234

For i = 0 To hoch-1
 For j = 0 To breit-1
  GetColor j,i

Rot$ = Str$(ColorRed())
 If Len(Rot$) = 1 Then Rot$ = "00" + Rot$
 If Len(Rot$) = 2 Then Rot$ = "0" + Rot$
Green$ = Str$(ColorGreen())
 If Len(Green$) = 1 Then Green$ = "00" + Green$
 If Len(Green$) = 2 Then Green$ = "0" + Green$
Blau$ = Str$(ColorBlue())
 If Len(Blau$) = 1 Then Blau$ = "00" + Blau$
 If Len(Blau$) = 2 Then Blau$ = "0" + Blau$

  reihe$(i) = reihe$(i) + Rot$+Green$+Blau$
 Next
Next

werte = WriteFile("Farbwerte.txt")
For i = 0 To hoch-1
WriteLine werte,reihe$(i)
Next

Color 2,155,2
Cls
Text 50,50,"fertig",0,0
WaitKey()
End


Entschlüsseln:
Code: [AUSKLAPPEN]
Const breit = 102
Const hoch = 89

Dim Farb(breit,hoch,3)
quelle = ReadFile("Farbwerte.txt")
For i = 0 To hoch-1
ur$ = ReadLine(quelle)
For j = 0 To breit-1
 For z = 1 To 3
 Farb(j,i,z) = Int(Mid$(ur$,j*9+1+(z-1)*3,3))
 Next
Next
Next

setz = CreateImage(breit,hoch)
SetBuffer ImageBuffer(setz)

For i = 0 To hoch-1
For j = 0 To breit-1
Color Farb(j,i,1),Farb(j,i,2),Farb(j,i,3)
Plot j,i
Next
Next

SetBuffer FrontBuffer()
DrawImage setz,0,0

WaitKey
End


Aber die Quelltexte sehen, zumindest auf den ersten Blick schon sehr ähnlich aus.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

sbrog

BeitragDo, Jun 10, 2004 13:35
Antworten mit Zitat
Benutzer-Profile anzeigen
DIe codes sind eigentlich äquivalent.
Aber ich kann trotzdem den Fehler nicht finden

Hubsi

BeitragDo, Jun 10, 2004 13:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Du gehst in den Schleifen von 0 bis Breite und Höhe. Versuch mal 0 bis Breite-1 und Höhe-1, dann gehts vielleicht Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

sbrog

BeitragDo, Jun 10, 2004 14:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Ne, leider nicht

simi

BeitragFr, Jun 11, 2004 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
beim Verschlüsseln schreibst du:
Code: [AUSKLAPPEN]

WriteLine textdatei, bildbreite
WriteLine textdatei,bildhoehe


Und beim Entschlüsseln:
Code: [AUSKLAPPEN]

bildhoehe = ReadLine(textdatei)
bildbreite = ReadLine(textdatei)


Ich denke das war der Fehler, weiter habe ich nicht geschaut.

cu simi

sbrog

BeitragFr, Jun 11, 2004 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
cool, danke.manchmal ist man doch echt BLÖD Very Happy

Markus2

BeitragSa, Jun 12, 2004 1:14
Antworten mit Zitat
Benutzer-Profile anzeigen
@sbrog
Und benutzte nicht WriteLine .
Für Bytes gibt es WriteByte .
Für Breite/Höhe WriteInt .
Man muß ja nicht unnötig alles verlangsamen , oder ?

sbrog

BeitragSa, Jun 12, 2004 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
das habe ich in meinem code auch.
Ich hab das in writeline umgeändert, damit manden code besser versteht

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group