SaveBuffer() Absturz

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

US-Blitz

ehemals "SimssmiS"

Betreff: SaveBuffer() Absturz

BeitragMi, Dez 07, 2011 22:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry für die 2. Frage in Folge aber:
Mein Programm stürzt beim befehl
Code: [AUSKLAPPEN]
SaveBuffer(BackBuffer(),"resources\graphics\save1feld.bmp")

Immer ab auch wenn ich ihn in einem Minni Programm nutze.
Code: [AUSKLAPPEN]
Graphics 800,600,32,2
SetBuffer BackBuffer()
Rect 0,0,50,50
SaveBuffer(BackBuffer(),"resources\graphics\save1feld.bmp")
WaitKey()
End

Vielen Dank für die Hilfe bis jetzt und folgend.

Edit: Das Programm zeigt im Debug und Normal keinen Fehler an sonder hat keine Rückmeldung mehr.

Xeres

Moderator

BeitragMi, Dez 07, 2011 23:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Mh, komisch. Ich bekomme immer Beschwerden wegen Klammerfehlern... probiere mal dies:
BlitzBasic: [AUSKLAPPEN]
Local BG_Buffer=BackBuffer()
SaveBuffer BG_Buffer, "img.bmp"
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

US-Blitz

ehemals "SimssmiS"

BeitragMi, Dez 07, 2011 23:21
Antworten mit Zitat
Benutzer-Profile anzeigen
HM Das löst jetzt das Problem in der Mini aber nich im großen.
Hier der Code: https://www.blitzforum.de/uplo...?show=2485

Xeres

Moderator

BeitragMi, Dez 07, 2011 23:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Pack alles in eine Funktion und benutze FileType um zu überprüfen, ob die Datei erstellt wurde.
Deine Langen Pfade solltest du auch in eine Globale/Constante schreiben, dass ist nicht nur kürzer, du musst ihn auch nur einmal ändern, falls es nötig wird.

Edit: Sry, nicht gesehen das es schon in einer Funktion ist - wofür ist das Drawimage davor?
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

US-Blitz

ehemals "SimssmiS"

BeitragMi, Dez 07, 2011 23:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Er erstellt jedes mal ein ungültiges Bild

Xeres

Moderator

BeitragMi, Dez 07, 2011 23:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Ungültig? Wer wie wo was behauptet das?
Geht es mit einem Imagevier/Paint?
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

US-Blitz

ehemals "SimssmiS"

BeitragMi, Dez 07, 2011 23:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Also picasa sagt ungültig und windows foto Viewer sagt beschädigt sei die Datei.

Xeres

Moderator

BeitragMi, Dez 07, 2011 23:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Welches Betriebssystem / Grafikkarte / DirektX Version läuft bei dir?
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

US-Blitz

ehemals "SimssmiS"

BeitragMi, Dez 07, 2011 23:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Win 7 32 bit
Nvidia GTX 285
DX Laufzeitvers. 11.0

Xeres

Moderator

BeitragMi, Dez 07, 2011 23:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Vermutlich wird diese DX Funktion nicht mehr unterstützt...

Bitte versuche mal diese Ersatzfunktion:

BlitzBasic: [AUSKLAPPEN]
Graphics 800,600,32,2
SetBuffer BackBuffer()
Rect 100,100,50,50
If Save_Buffer(BackBuffer(), "img.bmp") Then
Print("Erfolgreich gespeichert!")
Else
Print("Error!")
EndIf
WaitKey()
End


Function Save_Buffer(Buffer%, Path$)
If Not(Buffer) Then Return False
Local gw=GraphicsWidth()
Local gh=GraphicsHeight()
Local img = CreateImage(gw, gh)
CopyRect(0,0,gw,gh,0,0,Buffer,ImageBuffer(img))
SaveImage(img, Path)
If FileType(Path) Then
Return True
Else
Return False
EndIf
End Function
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

US-Blitz

ehemals "SimssmiS"

BeitragMi, Dez 07, 2011 23:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Dein Programm so wie es ist Ausgeführt ----> Gleiches Ergebnis

Xeres

Moderator

BeitragMi, Dez 07, 2011 23:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann ist das vermutlich ein Problem, was nur Mark lösen könnte. Am besten ein Bugreport auf blitzbasic.com einstellen und/oder den Support anschreiben.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

US-Blitz

ehemals "SimssmiS"

BeitragMi, Dez 07, 2011 23:53
Antworten mit Zitat
Benutzer-Profile anzeigen
danke schonmal für die Hilfe Hättest du oder auch jemand noch ne idee wie ich den Buffer oder einen Buffer Teil in eine Variable Speichern kann. Das würde mir schon längst reichen.

Xeres

Moderator

BeitragMi, Dez 07, 2011 23:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Anstatt das Bild zu speichern, kannst du es auch mit Return in eine Variable stecken, dass sollte gehen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

US-Blitz

ehemals "SimssmiS"

BeitragDo, Dez 08, 2011 0:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Koentest du mir da ein beispiel geben dass verstehe ich jetzt nicht ganz vielen dank
rechtschreibung nicht beachten ist mit handy momentan recht schwer

Xeres

Moderator

BeitragDo, Dez 08, 2011 0:12
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
Graphics 800,600,32,2
SetBuffer BackBuffer()
Rect 100,100,50,50
Local Bild = Get_Buffer(BackBuffer())
If Bild Then
Print("Bild erstellt!")
Else
Print("Error!")
EndIf
WaitKey()
End


Function Get_Buffer(Buffer%)
If Not(Buffer) Then Return False
Local gw=GraphicsWidth()
Local gh=GraphicsHeight()
Local img = CreateImage(gw, gh)
CopyRect(0,0,gw,gh,0,0,Buffer,ImageBuffer(img))
Return img
End Function
Siehe auch GrabImage.
Da alle Objekte in Int-Handles verwaltet werden, braucht es nicht mehr als ein Return.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group