Save image to memory or something else?
Posted: Mon Sep 17, 2007 5:18 pm
Is there a way to load an image file and save it to memory or other but not in a directory and load the image to an image gadget later and again later?
http://www.purebasic.com
https://www.purebasic.fr/english/
Code: Select all
ReadFile(0, "C:\1.bmp")
len = Lof(0)
*mem = AllocateMemory(len)
Datas = ReadData(0, *mem, len)
CloseFile(0)
OpenWindow(0, 200,200,700, 700, "")
CreateGadgetList(WindowID(0))
ButtonGadget(1, 0, 0, 700, 20, "Load")
ImageGadget(2, 0, 20, 700, 700-20, 0)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case 1
;
EndSelect
EndSelect
ForEver
Code: Select all
ReadFile(0, "C:\a.bmp")
len = Lof(0)
*mem = AllocateMemory(len)
ReadData(0, *mem, len)
CloseFile(0)
OpenWindow(0, 200,200,700, 700, "")
CreateGadgetList(WindowID(0))
ButtonGadget(1, 0, 0, 700, 20, "Load")
ImageGadget(2, 0, 20, 700, 700-20, 0)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1
Image = CatchImage(#PB_Any,*mem,len)
SetGadgetState(2,ImageID(Image))
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
FreeImage(Image)
End
Code: Select all
ReadFile(0, "C:\a.bmp")
len = Lof(0)
*mem = AllocateMemory(len)
ReadData(0, *mem, len)
CloseFile(0)
OpenWindow(0, 200,200,700, 700, "")
CreateGadgetList(WindowID(0))
ButtonGadget(1, 0, 0, 700, 20, "Load")
ImageGadget(2, 0, 20, 700, 700-20, 0)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1
If IsImage(Image)
FreeImage(Image)
EndIf
Image = CatchImage(#PB_Any,*mem,len)
SetGadgetState(2,ImageID(Image))
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
FreeImage(Image)
End
Code: Select all
ReadFile(0, "d:\logiii.ico")
*mem = AllocateMemory(Lof(0))
ReadData(0, *mem, Lof(0))
CloseFile(0)
OpenWindow(0, 200,200,700, 700, "")
CreateGadgetList(WindowID(0))
ButtonGadget(1, 0, 0, 700, 20, "Load")
ImageGadget(2, 0, 20, 700, 700-20, 0)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1
If IsImage(Image)
FreeImage(Image)
Else
Image = CatchImage(#PB_Any,*mem,MemorySize(*mem))
SetGadgetState(2,ImageID(Image))
EndIf
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
FreeImage(Image)
End
Code: Select all
ReadFile(0, #PB_Compiler_Home + "Examples\Sources\Data\Geebee2.Bmp")
Code: Select all
ReadFile(0, #PB_Compiler_Home + "Examples\Sources\Data\CDPlayer.Ico")