Bild-Impletierungsprogramm...gibt es sowas schon für BB?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Ravenbox

Betreff: Bild-Impletierungsprogramm...gibt es sowas schon für BB?

BeitragDo, Jul 09, 2009 12:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey Leute,
ich hätte da eine kleine Frage. Ich weiß, ich schreibe nicht sehr viel in diesem Forum, treibe mich aber sehr gern hier herum. Also, ich wollte fragen, ob es schon ein Programm gibt, welches einem in BB erlaubt, Bild direkt als code in den Quelltext einzubinden. Ich habe mich nämlich am Anfang nur so aus spaß angefangen so ein Program zu schreiben, da ich vielleicht eine Fach Bereichs Arbeit (heißt das in Deutschland auch so, ich komm aus österreich Wink ?) in Informatik machen werde.
Mittlerweile bin ich aber draufgkommen, dass es wirklich nützlich ist, da:

Arrow Man am Ende nur eine (vielleicht größere?) .exe Datei als Ergebnis bekommt.
Arrow Niemand einem mehr die Bilder stehlen kann.

Ich dachte mir nämlich, dass es so ein Programm vielleicht noch ned gibt, da Blitz Basic Dateien komisch, irgendwie verschlüsselt abspeichrt werden, deswegen ist es mit Liberty Basic und BB programmiert damit ich die eigenartige Abspeierungsmethode umgehen konnte.
So, das sollte jetzt eigentlich keine Projekt-Vorstellung werden, aber ich konnte mich nicht zusammenreißen, sry^^. Jetzt will ich euch noch ein Stück Code vorstellen, das Endprodukt meines Programms. Das Bild wurde in Paint gezeichnet und mit meinem Programm umgewandelt in eine .bb Datei. Man muss dazu sagen, dass das Programm erst im Anfangsstadium ist und daher noch langsam, was sich aber abld ändern wird:
Code: [AUSKLAPPEN]

Graphics 1024,768

WritePixel 0,0,-65536
WritePixel 1,0,-65536
WritePixel 2,0,-65536
WritePixel 3,0,-16776961
WritePixel 4,0,-16776961
WritePixel 5,0,-16776961
WritePixel 6,0,-16776961
WritePixel 7,0,-65536
WritePixel 8,0,-65536
WritePixel 9,0,-65536
WritePixel 10,0,-16776961
WritePixel 11,0,-16776961
WritePixel 12,0,-16776961
WritePixel 13,0,-16776961
WritePixel 14,0,-65536
WritePixel 15,0,-65536
WritePixel 16,0,-16776961
WritePixel 17,0,-16776961
WritePixel 18,0,-16776961
WritePixel 19,0,-16776961
WritePixel 20,0,-65536
WritePixel 21,0,-65536
WritePixel 22,0,-65536
WritePixel 23,0,-65536
WritePixel 24,0,-16776961
WritePixel 25,0,-16776961
WritePixel 26,0,-16776961
WritePixel 27,0,-16776961
WritePixel 28,0,-65536
WritePixel 29,0,-65536
WritePixel 0,0,-65536
WritePixel 1,1,-65536
WritePixel 2,1,-65536
WritePixel 3,1,-16776961
WritePixel 4,1,-16776961
WritePixel 5,1,-16776961
WritePixel 6,1,-16776961
WritePixel 7,1,-65536
WritePixel 8,1,-65536
WritePixel 9,1,-65536
WritePixel 10,1,-16776961
WritePixel 11,1,-16776961
WritePixel 12,1,-16776961
WritePixel 13,1,-16776961
WritePixel 14,1,-65536
WritePixel 15,1,-65536
WritePixel 16,1,-16776961
WritePixel 17,1,-16776961
WritePixel 18,1,-16776961
WritePixel 19,1,-16776961
WritePixel 20,1,-16776961
WritePixel 21,1,-16776961
WritePixel 22,1,-16776961
WritePixel 23,1,-16776961
WritePixel 24,1,-16776961
WritePixel 25,1,-16776961
WritePixel 26,1,-16776961
WritePixel 27,1,-16776961
WritePixel 28,1,-16776961
WritePixel 29,1,-65536
WritePixel 0,1,-16776961
WritePixel 1,2,-16776961
WritePixel 2,2,-16776961
WritePixel 3,2,-16776961
WritePixel 4,2,-16776961
WritePixel 5,2,-16776961
WritePixel 6,2,-16776961
WritePixel 7,2,-16776961
WritePixel 8,2,-16776961
WritePixel 9,2,-16776961
WritePixel 10,2,-16776961
WritePixel 11,2,-16776961
WritePixel 12,2,-16776961
WritePixel 13,2,-16711936
WritePixel 14,2,-16711936
WritePixel 15,2,-65536
WritePixel 16,2,-16776961
WritePixel 17,2,-16776961
WritePixel 18,2,-16776961
WritePixel 19,2,-16776961
WritePixel 20,2,-16776961
WritePixel 21,2,-16776961
WritePixel 22,2,-16776961
WritePixel 23,2,-16776961
WritePixel 24,2,-16776961
WritePixel 25,2,-16776961
WritePixel 26,2,-16776961
WritePixel 27,2,-16776961
WritePixel 28,2,-16776961
WritePixel 29,2,-65536
WritePixel 0,2,-16776961
WritePixel 1,3,-16776961
WritePixel 2,3,-16776961
WritePixel 3,3,-16776961
WritePixel 4,3,-16776961
WritePixel 5,3,-16776961
WritePixel 6,3,-16776961
WritePixel 7,3,-16776961
WritePixel 8,3,-16776961
WritePixel 9,3,-16776961
WritePixel 10,3,-16776961
WritePixel 11,3,-16776961
WritePixel 12,3,-16711936
WritePixel 13,3,-16711936
WritePixel 14,3,-16711936
WritePixel 15,3,-16711936
WritePixel 16,3,-16776961
WritePixel 17,3,-16776961
WritePixel 18,3,-16776961
WritePixel 19,3,-16776961
WritePixel 20,3,-16776961
WritePixel 21,3,-16776961
WritePixel 22,3,-16776961
WritePixel 23,3,-16776961
WritePixel 24,3,-16776961
WritePixel 25,3,-16776961
WritePixel 26,3,-16776961
WritePixel 27,3,-16776961
WritePixel 28,3,-16776961
WritePixel 29,3,-65536
WritePixel 0,3,-16776961
WritePixel 1,4,-16776961
WritePixel 2,4,-16776961
WritePixel 3,4,-16776961
WritePixel 4,4,-16776961
WritePixel 5,4,-16776961
WritePixel 6,4,-16776961
WritePixel 7,4,-16776961
WritePixel 8,4,-16776961
WritePixel 9,4,-16776961
WritePixel 10,4,-16776961
WritePixel 11,4,-16776961
WritePixel 12,4,-16711936
WritePixel 13,4,-16711936
WritePixel 14,4,-16711936
WritePixel 15,4,-16711936
WritePixel 16,4,-16776961
WritePixel 17,4,-16776961
WritePixel 18,4,-16776961
WritePixel 19,4,-16776961
WritePixel 20,4,-16776961
WritePixel 21,4,-16776961
WritePixel 22,4,-16776961
WritePixel 23,4,-16776961
WritePixel 24,4,-16776961
WritePixel 25,4,-16776961
WritePixel 26,4,-16776961
WritePixel 27,4,-16776961
WritePixel 28,4,-65536
WritePixel 29,4,-65536
WritePixel 0,4,-16776961
WritePixel 1,5,-16776961
WritePixel 2,5,-16776961
WritePixel 3,5,-16776961
WritePixel 4,5,-16776961
WritePixel 5,5,-16776961
WritePixel 6,5,-16776961
WritePixel 7,5,-16776961
WritePixel 8,5,-16776961
WritePixel 9,5,-16776961
WritePixel 10,5,-16776961
WritePixel 11,5,-16776961
WritePixel 12,5,-16776961
WritePixel 13,5,-16711936
WritePixel 14,5,-16711936
WritePixel 15,5,-65536
WritePixel 16,5,-16776961
WritePixel 17,5,-16776961
WritePixel 18,5,-16776961
WritePixel 19,5,-16776961
WritePixel 20,5,-65536
WritePixel 21,5,-65536
WritePixel 22,5,-65536
WritePixel 23,5,-65536
WritePixel 24,5,-16776961
WritePixel 25,5,-16776961
WritePixel 26,5,-16776961
WritePixel 27,5,-16776961
WritePixel 28,5,-65536
WritePixel 29,5,-65536
WritePixel 0,5,-65536
WritePixel 1,6,-65536
WritePixel 2,6,-65536
WritePixel 3,6,-16776961
WritePixel 4,6,-16776961
WritePixel 5,6,-16776961
WritePixel 6,6,-16776961
WritePixel 7,6,-65536
WritePixel 8,6,-65536
WritePixel 9,6,-65536
WritePixel 10,6,-16776961
WritePixel 11,6,-16776961
WritePixel 12,6,-16776961
WritePixel 13,6,-16776961
WritePixel 14,6,-65536
WritePixel 15,6,-65536
WritePixel 16,6,-16776961
WritePixel 17,6,-16776961
WritePixel 18,6,-16776961
WritePixel 19,6,-16776961
WritePixel 20,6,-65536
WritePixel 21,6,-65536
WritePixel 22,6,-65536
WritePixel 23,6,-65536
WritePixel 24,6,-16776961
WritePixel 25,6,-16776961
WritePixel 26,6,-16776961
WritePixel 27,6,-16776961
WritePixel 28,6,-65536
WritePixel 29,6,-65536
WritePixel 0,6,-65536
WritePixel 1,7,-65536
WritePixel 2,7,-65536
WritePixel 3,7,-16776961
WritePixel 4,7,-16776961
WritePixel 5,7,-16776961
WritePixel 6,7,-16776961
WritePixel 7,7,-65536
WritePixel 8,7,-65536
WritePixel 9,7,-65536
WritePixel 10,7,-16776961
WritePixel 11,7,-16776961
WritePixel 12,7,-16776961
WritePixel 13,7,-16776961
WritePixel 14,7,-65536
WritePixel 15,7,-65536
WritePixel 16,7,-16776961
WritePixel 17,7,-16776961
WritePixel 18,7,-16776961
WritePixel 19,7,-16776961
WritePixel 20,7,-65536
WritePixel 21,7,-65536
WritePixel 22,7,-65536
WritePixel 23,7,-65536
WritePixel 24,7,-16776961
WritePixel 25,7,-16776961
WritePixel 26,7,-16776961
WritePixel 27,7,-16776961
WritePixel 28,7,-65536
WritePixel 29,7,-65536
WritePixel 0,7,-65536
WritePixel 1,8,-65536
WritePixel 2,8,-65536
WritePixel 3,8,-16776961
WritePixel 4,8,-16776961
WritePixel 5,8,-16776961
WritePixel 6,8,-16776961
WritePixel 7,8,-65536
WritePixel 8,8,-65536
WritePixel 9,8,-65536
WritePixel 10,8,-16776961
WritePixel 11,8,-16776961
WritePixel 12,8,-16776961
WritePixel 13,8,-16776961
WritePixel 14,8,-65536
WritePixel 15,8,-65536
WritePixel 16,8,-16776961
WritePixel 17,8,-16776961
WritePixel 18,8,-16776961
WritePixel 19,8,-16776961
WritePixel 20,8,-65536
WritePixel 21,8,-65536
WritePixel 22,8,-65536
WritePixel 23,8,-65536
WritePixel 24,8,-16776961
WritePixel 25,8,-16776961
WritePixel 26,8,-16776961
WritePixel 27,8,-16776961
WritePixel 28,8,-65536
WritePixel 29,8,-65536
WritePixel 0,8,-65536
WritePixel 1,9,-65536
WritePixel 2,9,-65536
WritePixel 3,9,-16776961
WritePixel 4,9,-16776961
WritePixel 5,9,-16776961
WritePixel 6,9,-16776961
WritePixel 7,9,-65536
WritePixel 8,9,-65536
WritePixel 9,9,-65536
WritePixel 10,9,-16776961
WritePixel 11,9,-16776961
WritePixel 12,9,-16776961
WritePixel 13,9,-16776961
WritePixel 14,9,-65536
WritePixel 15,9,-65536
WritePixel 16,9,-16776961
WritePixel 17,9,-16776961
WritePixel 18,9,-16776961
WritePixel 19,9,-16776961
WritePixel 20,9,-65536
WritePixel 21,9,-65536
WritePixel 22,9,-65536
WritePixel 23,9,-65536
WritePixel 24,9,-16776961
WritePixel 25,9,-16776961
WritePixel 26,9,-16776961
WritePixel 27,9,-16776961
WritePixel 28,9,-65536
WritePixel 29,9,-65536
WaitKey
End

Mit CreateImage lässt es sich dann ganz einfach wie ein echtes Bild aufrufen...

Lg,
Ravenbox[/img]
Aktuelle Projekte:
ReMix Live: 20%
Gfx Coder: 100%

Goodjee

BeitragDo, Jul 09, 2009 13:05
Antworten mit Zitat
Benutzer-Profile anzeigen
für eine facharbeit ist das vermutlich ein bisschen zu wenig...2 schleifen mit readpixelfast die in eine datei writepixelfast schreiben...
mal ganz davon abgesehn das dein code furchbar unübersichtlich wird und völlig zugemüllt von funktionen, die einfach nur ein bild in einen imagebuffer malen
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Ravenbox

Betreff: nicht alles

BeitragDo, Jul 09, 2009 13:42
Antworten mit Zitat
Benutzer-Profile anzeigen
nene, keine Angst, das ist nur ein kleines Programm, die eigentliche Arbeit wird ein Spiel, und mein Professor hat schon gesagt es muss nur ein kleines primitives Spiel werden. Alleine dieses Programm würde fast schon reichen. (Ist nicht für die Uni, falls ihr das glaubt, ist für die Matura(Abitur?))
Und wie ebenfalls gesagt, ist es noch ganz am anfang, wollte eben nur wissen,ob es sowas schon gibt^^.

und so einfach ist das auch nicht, da Blitz basic die Datei eben einfach anders abspeichert, sodass man eben nicht nur 2 schleifen braucht^^. Die Datei kann nur mit einem Blitz Basic Programm wieder eingelesen werden und wenn man sie mit dem Editor öffnet, sieht man nicht alles schön untereinandergereiht.

Lg, Ravenbox
Aktuelle Projekte:
ReMix Live: 20%
Gfx Coder: 100%
  • Zuletzt bearbeitet von Ravenbox am Do, Jul 09, 2009 13:49, insgesamt einmal bearbeitet

Progger93

BeitragDo, Jul 09, 2009 13:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Exe Datei wird warscheinlich doch ein ganzes Stück gößer sein als die ursprüngliche Bilddatei.

Wenn du wirklich vorhast sowas zu versuchen, dann sollte dein Algorithmus darauf achten ob statt 50*50 Writepixel nicht einfach Rect ist.

Außerdem solltest du Writepixelfast benutzen, was einen ordentlichen Geschwindigkeitsvorteil gibt.

Und aus einem Bild die Pixel-Farbwerte auslesen und der Reihe nach speichern kann (fast) jeder BB anfänger
MfG Pascal
Win 7|T7250@2.0Ghz|3GB RAM|M8600GT

Ravenbox

Betreff: jop

BeitragDo, Jul 09, 2009 13:56
Antworten mit Zitat
Benutzer-Profile anzeigen
ok,
Danke für die Vorschläge Progger93, das Programm ist noch im Aufbau, mit Writepixelfast hab ich das auch schon gemacht, wollte aber sehen, wie lange er mit dem ganz normalen Befehl braucht.
Die überprüfung ob man es nicht gleich mit rect machen kann, ist schon gut, werd ich dann mal probieren, aber mir scheint, ihr habt das alle noch nie ausprobiert...Speichert mal 4 Textzeilen oder so mit BB in eine Datei (.txt .bb, egal) und öffnet sie mit dem Microsoft Editor oder mit dem Blitz Basic Editor. Die Struktur ist vollkommen anders, würde das einfach nur so gehen, wäre das ja ein Kinderspiel.

Lg, Ravenbox
Aktuelle Projekte:
ReMix Live: 20%
Gfx Coder: 100%

Goodjee

BeitragDo, Jul 09, 2009 14:01
Antworten mit Zitat
Benutzer-Profile anzeigen
dann machst du was falsch wenn die struktur anders ist Wink

wrieline schreibt einen string in die datei und beendet ihn mit einem zeilenumbruch, das sieht genauso aus wenn du es dann öffnest im editor
writeint/float/byte hingegen schreiben 4byte bzw ein byte in die datei, das entspricht 4/1 ascii zeichen, das sieht dann in der tat komisch aus wenn man die datei öffnet
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Tankbuster

BeitragDo, Jul 09, 2009 14:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ravenbox....
Wenn ich ein paar Bytes in eine Textdatei schreibe, ist sie immer gleichgroß. Egal mit welchem Programm man sie interpretiert.
Ich vermute, du verwendest aus unwissenheit WriteString oder sowas. Dort wird erst ein Integer und dann der eigentliche String in die Datei geschrieben. Das sieht natürlich anders aus, weil immer einige mysteriöse Zeichen in der Datei sind. Einfach weil der Editor den Integer ja auch interpretieren muss.

Dein Programm macht nichts weiter, als einzelne Pixel aus einem Bild auszulesen, und dann als .bb oder .txt Datei zu speichern.
Dann kannst du das später in deinen Code einbinden, und musst die Bilder nichtmehr als externe Datein mitgeben. Hab ich das richtig verstanden?

Da könntest du auch einfach diverse Packer benutzen. Das wäre wesentlich sinnvoller und einfacher. Wink
Twitter
Download Jewel Snake!
Windows|Android

Ravenbox

Betreff: oh

BeitragDo, Jul 09, 2009 14:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Verfl***** *******,
und ich depp nehm 2 Programmiersprachen, damit ich das hinbekomm, weil ich es mit Writestring abspeichere...
Danke

Ja, Tankbuster, das war der Sinn dahinter^^. aber eine einzige .exe ist faszinierend Very Happy
Ok, eure Vorschläge haben meinen Quellcode gerade auf 1/3 reduziert^^ und die Berechnungszeit
ist von 44 Sekunden auf 1,5 Sekunden gefallen. Thx
Aktuelle Projekte:
ReMix Live: 20%
Gfx Coder: 100%

hazumu-kun

BeitragDo, Jul 09, 2009 17:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt in Blitz Auch Befehle um DIREKT in den VRAM zu schreiben.

LockedFormat, LockBuffer, LockedPixels, UnlockBuffer, LockedPitch

Sind in der BB Hilfe drinne.

Mit diesen Befehlen kannst du viel schneller als Writepixelfast arbeiten.
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group