Fluid Byte hat geschrieben:ts-soft hat geschrieben:Weil die Strukture als Pointer erwartet wird
Du verwendest im Beispiel "sample1.ogg", versuch mal "sample2.ogg".
Es funktioniert mit beiden, test.ogg entsteht immer mit der richtigen größe
Kiffi hat geschrieben:Fluid Byte hat geschrieben:Mal am Rande, die PureZIP DLL von gnozal hat damit keine Probleme.

was Ihr (Du) mal testen könnte(s)t: Tritt dieser 'Bug' auch mit
UsePNGImageDecoder() auf? Hiermit hat nämlich die PureZIP-Lib Probleme.
Vielleicht gibt es Parallelen?
Grüße ... Kiffi
Habs mal getestet:
zip erstellen:
Code: Alles auswählen
XIncludeFile #PB_Compiler_Home + "include\minizip_include.pbi"
Define.s zip = GetTemporaryDirectory() + "flare.zip"
Define.i FF = ZIP_FileCreate(zip)
If FF
ZIP_FileAdd(FF, #PB_Compiler_Home + "Examples\Sources\Data\flare.png", "-")
ZIP_FileClose(FF)
EndIf
und testen mit dem geändertem Beispiel der Hilfe:
Code: Alles auswählen
XIncludeFile #PB_Compiler_Home + "include\minizip_include.pbi"
UseJPEGImageDecoder()
UseTGAImageDecoder()
UsePNGImageDecoder()
UseTIFFImageDecoder()
; Enable all the encoders than PureBasic actually supports
;
UseJPEGImageEncoder()
UsePNGImageEncoder()
Define.s zip = GetTemporaryDirectory() + "flare.zip"
If OpenWindow(0, 0, 0, 250, 130, "PureBasic - Image Converter", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ImageGadget(0, 0, 28, WindowWidth(0), WindowHeight(0), 0, #PB_Image_Border)
CreateToolBar(0, WindowID(0))
ToolBarStandardButton(0, #PB_ToolBarIcon_Open)
ToolBarStandardButton(1, #PB_ToolBarIcon_Save)
DisableToolBarButton(0, 1, 1) ; disable the save button
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Menu ; ToolBar are acting as menu
Select EventMenu()
Case 0 ; Open
If CatchImage(0, ZIP_CatchFile(zip, 1))
SetGadgetState(0, ImageID(0)) ; change the picture in the gadget
DisableToolBarButton(0, 1, 0) ; enable the save button
ResizeWindow(0, #PB_Ignore, #PB_Ignore, ImageWidth(0)+4, ImageHeight(0)+34)
EndIf
; EndIf
Case 1 ; Save
Filename$ = SaveFileRequester("Save a picture", Left(Filename$, Len(Filename$)-Len(GetExtensionPart(Filename$))-1), "BMP Format|*.bmp|JPEG Format|*.jpg|PNG Format|*.png", 0)
If Filename$
Select SelectedFilePattern()
Case 0 ; BMP
ImageFormat = #PB_ImagePlugin_BMP
Extension$ = "bmp"
Case 1 ; JPEG
ImageFormat = #PB_ImagePlugin_JPEG
Extension$ = "jpg"
Case 2 ; PNG
ImageFormat = #PB_ImagePlugin_PNG
Extension$ = "png"
EndSelect
If LCase(GetExtensionPart(Filename$)) <> Extension$
Filename$ + "." + Extension$
EndIf
If SaveImage(0, Filename$, ImageFormat)
MessageRequester("Information", "Image saved successfully", 0)
EndIf
EndIf
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow ; If the user has pressed on the close button
EndIf
End ; All is automatically freed by PureBasic
Mit IncludeBinary hab ich vorsichtshalber auch getestet, keine Problem bis
jetzt.