Verständnis für Erstellung einer Grafik mit Data

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Verständnis für Erstellung einer Grafik mit Data

Beitrag von STARGÅTE »

Natürlich nicht.
Der "Editor" ist ein Text-Editor, kann somit nicht mit Binärdaten umgeben.
PureBasic kann eben so nicht mit Binärdaten im Quellcode umgehen.

Ich verwende dafür zB diesen Code (der auch als EXE kompilierbar ist und dann über Öffnen mit driekt von Datei gestartet werden kann):

Code: Alles auswählen

Procedure.s GetData(FileName.s)
	Protected Quad.q, String.s, Column.i
	Protected File.i = ReadFile(#PB_Any, FileName)
	If File
		While Not Eof(File)
			Quad = ReadQuad(File)
			String + "Data.q $"+RSet(Hex(Quad),16,"0")
			Column = 0
			While Not Eof(File) And Column < 4
				Column + 1
				Quad = ReadQuad(File)
				String + ",$"+RSet(Hex(Quad),16,"0")
			Wend
			String + #CRLF$
		Wend
		CloseFile(File)
	EndIf
	ProcedureReturn String
EndProcedure


If ProgramParameter(0)
	Output$ + GetData(ProgramParameter(0))
Else
	Output$ + GetData(OpenFileRequester("","","",0))
EndIf

SetClipboardText(Output$)
Der Binärinhalt einer Datei wird in eine Data-Section umgewandelt und in die Zwischenablage kopiert.
Dort kann es dnan irgendwo eingefügt werden.
Ich verwende hierbei Quads, weil es etwas platzsparender ist als Bytes ^^
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Verständnis für Erstellung einer Grafik mit Data

Beitrag von ts-soft »

Renovatio hat geschrieben:Also mit anderen Worten, Rechtsklick auf eine Grafik.jpg und mit einem Editor alles rauskopieren und dann unter Data.s einfügen? Oo
Nein, Grafikdatei in den Speicher laden und dann Byte für Byte in eine Datei schreiben. Auf keinem Fall
mit einem Editor arbeiten, da geht die Datei nur kaputt.

Dieses Tool erzeugt unter anderem auch Datazeilen für Bilder oder andere Dateien.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten