Loading Media

Just starting out? Need help? Post your questions and find answers here.
User avatar
Inner
PureBasic Expert
PureBasic Expert
Posts: 714
Joined: Fri Apr 25, 2003 4:47 pm
Location: New Zealand

Loading Media

Post by Inner »

Hi,
I'm looking for an SDK that supports a large range of media formats;
  • Gif - 8bit / 16bit & 32bit (Current PB5.73 limited to 8Bits doesn't work for this project) with Animations
  • WebP with Animations
  • Jpg
  • Png
  • Bmp
  • Tiff
  • Mp4
  • In short if Android supports that media (Samsung S10+ running Android 11), so must the application.
I don't mind converting an SDK that's fine, I tried looking at FreeImage but for some reason after updated the DLL to 3.18 it just refuses to load any image of any format at all, and it's a lot of work to go through if I find at the end of my efforts FreeImage doesn't support the media [animations] feature that I require it to support.

Code: Select all

IncludeFile "RW_FreeImage_Res.pb"

;filename$ = "H:\AndriodStudio\CardGame.pb\MelsDeckNoMedia\Images\8007612.gif"
;filename$ = "H:\AndriodStudio\CardGame.pb\MelsDeckNoMedia\Images\18630055.gif"
;filename$ = "H:\AndriodStudio\CardGame.pb\MelsDeckNoMedia\Images\29904.gif"
;filename$ = "H:\AndriodStudio\CardGame.pb\MelsDeckNoMedia\Images\23420092.webp"
;filename$ = "H:\AndriodStudio\CardGame.pb\MelsDeckNoMedia\Images\25448097.webp"
;filename$ = "H:\AndriodStudio\CardGame.pb\MelsDeckNoMedia\Images\lapspank01.webp"
;filename$ = "H:\AndriodStudio\CardGame.pb\MelsDeckNoMedia\Images\bendover01.jpg"
;filename$ = "H:\AndriodStudio\CardGame.pb\MelsDeckNoMedia\Images\img.jpg"
filename$ = "H:\AndriodStudio\CardGame.pb\MelsDeckNoMedia\Images\tiedup1.jpg"
;filename$ = "H:\PureBasic\FreeImage\RWFreeImage\sample.png"

fifType = #FIF_GIF

lib=OpenLibrary(#PB_Any,"FreeImage.dll")

Prototype FreeImage_Initialise()
Prototype FreeImage_DeInitialise()
Prototype FreeImage_GetVersion()
Prototype FreeImage_Load(fif.i,filename.s,flags.l=0)
Prototype FreeImage_Unload(dib.i)
Prototype FreeImage_GetInfoHeader(dib.i)
Prototype FreeImage_GetBits(dib.i)
Prototype FreeImage_GetInfo(dib.i)

Global FreeImage_Initialise.FreeImage_Initialise=GetFunction(lib,"FreeImage_Initialise")
Global FreeImage_DeInitialise.FreeImage_DeInitialise=GetFunction(lib,"FreeImage_DeInitialise")
Global FreeImage_GetVersion.FreeImage_GetVersion=GetFunction(lib,"FreeImage_GetVersion")
Global FreeImage_Load.FreeImage_Load=GetFunction(lib,"FreeImage_Load")
Global FreeImage_Unload.FreeImage_Unload=GetFunction(lib,"FreeImage_Unload")
Global FreeImage_GetInfoHeader.FreeImage_GetInfoHeader = GetFunction(lib, "FreeImage_GetInfoHeader")
Global FreeImage_GetBits.FreeImage_GetBits = GetFunction(lib, "FreeImage_GetBits")
Global FreeImage_GetInfo.FreeImage_GetInfo = GetFunction(lib, "FreeImage_GetInfo")

;Global FreeImage_Load.FreeImage_Load=GetFunction(lib,"_FreeImage_Load@12")
;Global FreeImage_Unload.FreeImage_Unload=GetFunction(lib,"_FreeImage_Unload@4")
;Global FreeImage_GetInfoHeader.FreeImage_GetInfoHeader = GetFunction(lib, "_FreeImage_GetInfoHeader@4")
;Global FreeImage_GetBits.FreeImage_GetBits = GetFunction(lib, "_FreeImage_GetBits@4")
;Global FreeImage_GetInfo.FreeImage_GetInfo = GetFunction(lib, "_FreeImage_GetInfo@4")


;Debug(FreeImage_Load.FreeImage_Load)
;Debug(FreeImage_Unload.FreeImage_Unload)
;Debug(FreeImage_GetInfoHeader.FreeImage_GetInfoHeader)
;Debug(FreeImage_GetBits.FreeImage_GetBits)
;Debug(FreeImage_Load.FreeImage_Load)
;Debug(FreeImage_GetInfo.FreeImage_GetInfo)

;Debug(lib)

;r = ExamineLibraryFunctions(lib)

;While(NextLibraryFunction())
;  
;  libfName.s = LibraryFunctionName()
;  libfAddr.l = LibraryFunctionAddress()
;  
;  Debug(libfName+" "+Str(libfAddr))  
;Wend



Debug(PeekS(FreeImage_GetVersion(), -1, #PB_Ascii))

If lib And OpenWindow(0,200,200,640,480,"FreeImage DLL test",#PB_Window_SystemMenu)
    
  ImageGadget(0,10,10,0,0,0,#PB_Image_Border)
  
  dib=FreeImage_Load(fifType,filename$,#JPEG_DEFAULT)
  
  If (dib<>0) 
    hdc = GetDC_(#Null)
    bitmap = CreateDIBitmap_(hdc, FreeImage_GetInfoHeader(dib), #CBM_INIT, FreeImage_GetBits(dib), FreeImage_GetInfo(dib), #DIB_RGB_COLORS)
    ReleaseDC_(#Null, hdc)  
    SetGadgetState(0,bitmap) 
  Else
    Debug("FreeImage_Load - Failed to Load, "+filename$+" "+Str(dib))
  EndIf

  Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow  
  
  ;Clean Up
  If(dib<>0) : FreeImage_Unload(dib) : EndIf
  CloseLibrary(lib)
  
EndIf
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4636
Joined: Sun Apr 12, 2009 6:27 am

Re: Loading Media

Post by RASHAD »

Hi Inner
There is no problem with ver 3.18 if you are using CallFunctionFast()
If you are using Prototype you have to change the Functions Address
You can use dllexp.exe from nir Sofer to do that
Of course I am taking about Windows do not know anything about Android :)

Good luck
Egypt my love
User avatar
Inner
PureBasic Expert
PureBasic Expert
Posts: 714
Joined: Fri Apr 25, 2003 4:47 pm
Location: New Zealand

Re: Loading Media

Post by Inner »

Hi, yes I mentioned Android to illustrate the scope of the media formats I was trying to support as Android has quite a range.

it's for a Game I wrote in Kotlin on Android, where PureBasic comes in is to write an editor for that game which requires supporting a lot of image formats so the user can visually see what they've loaded etc.

I'll try CallFunctionFast(), and I'll first have a look at DLLExp.exe I was wondering how example; _FreeImage_Load@12 the numerical values where being assigned.
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4636
Joined: Sun Apr 12, 2009 6:27 am

Re: Loading Media

Post by RASHAD »

Hi Inner
I will try to save you some time to go to straight to your coding
Next for x64 proto
Running it from memory
Follow the next snippets
Last edited by RASHAD on Sat Oct 23, 2021 5:21 am, edited 1 time in total.
Egypt my love
User avatar
Inner
PureBasic Expert
PureBasic Expert
Posts: 714
Joined: Fri Apr 25, 2003 4:47 pm
Location: New Zealand

Re: Loading Media

Post by Inner »

uhm, thanks :o :?

Not quite sure how to use that, it appears to be missing some sort of OpenLibrary, Import or such that links the prototypes to the .lib or .dll
User avatar
Inner
PureBasic Expert
PureBasic Expert
Posts: 714
Joined: Fri Apr 25, 2003 4:47 pm
Location: New Zealand

Re: Loading Media

Post by Inner »

The only way I could translate your code @RASHAD was to do this.

Code: Select all

Import "FreeImage.lib"
IncludeFile "FreeImage_ProtoType.pbi"
EndImport

v = FreeImage_GetVersion()
[17:11:16] [ERROR] FreeImage.pb (Line: 6)
[17:11:16] [ERROR] Invalid memory access. (write error at address 0)
[17:11:33] The Program was killed.
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4636
Joined: Sun Apr 12, 2009 6:27 am

Re: Loading Media

Post by RASHAD »

Hi Inner
I am running the lib from memory
1 : Freeimage_Main_64.pb

Code: Select all

;Freeimage_Main_64.pb

Global hDLL,dib,DW.f,DH.f,width.f,height.f,FIF,InFile$,OutFile$,ext$,Scale.f,TransColor
Global sp1,sp2,h,BColor,efFlag,parm1,parm2

XIncludeFile "MemoryModule_64.pbi"

DataSection
  DLL:
     IncludeBinary "FreeImage.dll"
EndDataSection 

hDLL = MemoryLoadLibrary(?DLL)

If hDLL
  XIncludeFile "Freeimage_header64.pbi"
  XIncludeFile "Freeimage_commands64-318.pbi"
Else
  MessageRequester("Error","The OS not supported",#PB_MessageRequester_Ok|#MB_ICONERROR)
  End
EndIf

Procedure Dec_Spin(Gadget,DEC)
  result.f = GetGadgetState(gadget)/Pow(10,DEC)
  SetGadgetText(gadget, StrF(result,DEC))
EndProcedure

Procedure DecSpinEvents_0() : Dec_Spin(sp1,1) : EndProcedure
Procedure DecSpinEvents_1() : Dec_Spin(sp2,1) : EndProcedure

Procedure _LoadImage()
  FreeImage_UnLoad(dib)
  InFile$ = OpenFileRequester("SELECT IMAGE","","All supported formats|*.*|TGA image (*.tga)| *.tga|TIF image (*.tif)| *.tif| TIFF image (*.tiff)| *.tiff| PNG image (*.png)| *.png| BMP image (*.bmp)| *.bmp| Icon file (*.ico)| *.ico| JPEG image (*.jpg;*.jpeg;*.jp2)| *.jpg; *.jpeg; *.jp2| GIF image (*.gif)|*.gif",0)
    
  If InFile$ <> ""
  
      CompilerIf #PB_Compiler_Unicode
        FIF = FreeImage_GetFIFFromFilenameU(@InFile$)
      CompilerElse
        FIF = FreeImage_GetFIFFromFilename(@InFile$)
      CompilerEndIf
   		
   		If FIF >= 0
   		
   		  CompilerIf #PB_Compiler_Unicode
          dib = FreeImage_LoadU(FIF, @InFile$,0)
        CompilerElse
          dib = FreeImage_Load(FIF, @InFile$,0)
        CompilerEndIf
        
        dib = FreeImage_ConvertTo32Bits(dib)
        width.f = FreeImage_GetWidth(dib)
        height.f = FreeImage_GetHeight(dib)
        HScale.f = (DW-100)/width
        VScale.f = (DH-100)/height
        If HScale < 1 Or VScale < 1
           If HScale < VScale
              Scale.f = HScale * 0.9
           Else
              Scale.f = VScale * 0.9
           EndIf
           width = Scale * width
           height = Scale * Height
        EndIf
        If ddb
           DeleteObject_(ddb)
        EndIf
        ddb = CreateDIBitmap_(GetDC_(0), FreeImage_GetInfoHeader(dib), #CBM_INIT, FreeImage_GetBits(dib), FreeImage_GetInfo(dib), #DIB_RGB_COLORS)              
        ddb = CopyImage_(ddb,#IMAGE_BITMAP	,width-5,height-5,#LR_COPYDELETEORG	)
        ResizeWindow(0,(DW - width)/2-10,(DH- height)/2-h ,width+20,height+h)
        ResizeGadget(20,WindowWidth(0)/2-width/2,WindowHeight(0)/2-height/2-12,width,height)
        InvalidateRect_(WindowID(0),0,1)
        SetGadgetState(20,ddb)
      Else
        MessageRequester("Error", "Unknown Format",#MB_ICONSTOP|#PB_MessageRequester_Ok)
      EndIf
    Else
      MessageRequester("Error", "No Image Loaded",#MB_ICONERROR|#PB_MessageRequester_Ok)
    EndIf
    ProcedureReturn dib
EndProcedure

Procedure _SaveImage(FORMAT,ext$)
  If InFile$ <> ""
    If Format <> FIF
      If outFile$ = ""
        outFile$ = GetHomeDirectory() + GetFilePart(InFile$ ,#PB_FileSystem_NoExtension) +"_nr." + ext$
      Else
        outfile$ = outfile$ + ext$        
      EndIf 
      If ext$ = "jpg"
          dib = FreeImage_ConvertTo24Bits(dib)
      EndIf
      
      CompilerIf #PB_Compiler_Unicode
        FreeImage_SaveU(Format, dib, @outFile$,0)
      CompilerElse
        FreeImage_Save(Format, dib, @outFile$,0)
      CompilerEndIf                   
      
      MessageRequester("Info", "Image Savesd Successfully",#MB_ICONINFORMATION|#PB_MessageRequester_Ok)
    Else
      MessageRequester("Error", "Output Format = Input Format",#MB_ICONERROR|#PB_MessageRequester_Ok)
    EndIf
	Else
	  MessageRequester("Error", "No Image Loaded",#MB_ICONERROR|#PB_MessageRequester_Ok)
	EndIf
	outfile$ = "" 
EndProcedure

Procedure _ConvertImage(Bits)
  Select bits
    Case 0
      dib = FreeImage_ConvertToGreyscale(dib)    
    Case 4
      dib = FreeImage_ConvertTo4Bits(dib)    
    Case 8
      dib = FreeImage_ConvertTo8Bits(dib)  
    Case 16
      dib = FreeImage_ConvertTo16Bits555(dib)  
    Case 24
      dib = FreeImage_ConvertTo24Bits(dib)  
    Case 32
      dib = FreeImage_ConvertTo32Bits(dib)  
  EndSelect
  If ddb
       DeleteObject_(ddb)
  EndIf
  ddb = CreateDIBitmap_(GetDC_(0), FreeImage_GetInfoHeader(dib), #CBM_INIT, FreeImage_GetBits(dib), FreeImage_GetInfo(dib), #DIB_RGB_COLORS)  
  If efFlag <> 3
    ddb = CopyImage_(ddb,#IMAGE_BITMAP	,width-5,height-5,#LR_COPYDELETEORG	)
  EndIf
  InvalidateRect_(WindowID(0),0,1)
  SetGadgetState(20,ddb)
EndProcedure

Procedure _EffectImage(effect,parm1,parm2)
  efFlag = effect
  If FreeImage_GetBPP(dib) <> 32
     dib = FreeImage_ConvertTo24Bits(dib)
  EndIf 
  Select effect
    Case 0
      FreeImage_FlipHorizontal(dib)
    Case 1
      FreeImage_FlipVertical(dib)
    Case 2
      Angle = Val(GetGadgetText(58))
      xs = Val(GetGadgetText(52))
      ys = Val(GetGadgetText(53))
      xo = Val(GetGadgetText(55))
      yo = Val(GetGadgetText(56))
      If xo = 0 Or yo = 0
         xo = width/2
         yo = height/2
      EndIf
      dib = FreeImage_RotateEx(dib,Angle,xs,ys,xo,yo,0)
      SetGadgetText(52,"")
      SetGadgetText(53,"")
      SetGadgetText(55,"")
      SetGadgetText(56,"")
    Case 3
      width2 = width*ValF(GetGadgetText(sp1))
      height2 = height*ValF(GetGadgetText(sp2))      
      dib = FreeImage_Rescale(dib,width2,Height2,parm2)
      ResizeWindow(0,(DW - width2 - 20)/2,(DH- height2 - h)/2,width2+20,height2+h)
      ResizeGadget(20,WindowWidth(0)/2-width2/2,WindowHeight(0)/2-height2/2-12,width2,height2)
      SetGadgetText(sp1,"1.0")
      SetGadgetText(sp2,"1.0")
    ;Case 4
      ;Rescale Rect
    Case 5
      bw = Val(GetGadgetText(92))
      If bw = 0
        bw = 10
      EndIf
      If BColor = 0
         BColor = $FF0000
      EndIf
      If parm1 = 1
        dib = FreeImage_EnlargeCanvas(dib,bw,bw,bw,bw,@BColor,0)
      ElseIf parm1 = 0
        dib2 = FreeImage_Copy(dib, bw, bw, width-2*bw,height-2*bw)
        dib = FreeImage_Rescale(dib2,width,height,parm2)
        FreeImage_Unload(dib2)
      EndIf
  EndSelect
  ddb = CreateDIBitmap_(GetDC_(0), FreeImage_GetInfoHeader(dib), #CBM_INIT, FreeImage_GetBits(dib), FreeImage_GetInfo(dib), #DIB_RGB_COLORS)
  If effect <> 3
    ddb = CopyImage_(ddb,#IMAGE_BITMAP	,width-5,height-5,#LR_COPYDELETEORG	)
  EndIf
  InvalidateRect_(WindowID(0),0,1)
  SetGadgetState(20,ddb)
EndProcedure
; 
Procedure _QuantizeImage(method)
  dib = FreeImage_ConvertTo24Bits(dib)
  Select method
    Case 0
      dib = FreeImage_ColorQuantize(dib,#FIQ_WUQUANT)
    Case 1
      dib = FreeImage_ColorQuantize(dib,#FIQ_NNQUANT)
    Case 2
      nColors = FreeImage_GetColorsUsed(dib)
      If nColors <> 0     
          dib = FreeImage_ColorQuantize(dib,#FIQ_LFPQUANT)
      Else
        MessageRequester("Error", "Sorry number of Colors > 256",#MB_ICONERROR|#PB_MessageRequester_Ok)
      ProcedureReturn dib
      EndIf  
  EndSelect
  outFile$ = GetHomeDirectory() + GetFilePart(InFile$ ,#PB_FileSystem_NoExtension) +"_co."

EndProcedure

Procedure _TransImage(TransColor)
    dib2 = FreeImage_ConvertTo24Bits(dib)
    dib2 = FreeImage_ColorQuantize(dib2,#FIQ_WUQUANT)
    Palette = FreeImage_GetPalette(dib2)
    Dim Transparency.l(255)
    For i = 0 To  255
      Transparency(i) = 255
      If PeekL(Palette+i) = TransColor
         Transparency(i) = 0
      EndIf
    Next                  
    FreeImage_SetTransparencyTable(dib2, Transparency(), 8)
    ReDim Transparency.l(0)
    dib = dib2
    outFile$ = GetHomeDirectory() + GetFilePart(InFile$ ,#PB_FileSystem_NoExtension) +"_tr." + ext$ 
    If ddb
       DeleteObject_(ddb)
    EndIf
    dib2 = FreeImage_ConvertTo32Bits(dib2)
    ddb = CreateDIBitmap_(GetDC_(0), FreeImage_GetInfoHeader(dib2), #CBM_INIT, FreeImage_GetBits(dib2), FreeImage_GetInfo(dib2), #DIB_RGB_COLORS)
    ;ddb = CopyImage_(ddb,#IMAGE_BITMAP	,width-5,height-5,#LR_COPYDELETEORG	)
    InvalidateRect_(WindowID(0),0,1)
    SetGadgetState(20,ddb)
EndProcedure

LoadFont(0,"Georgia",64)
CreateImage(0, 378,350)
StartDrawing(ImageOutput(0))
  For x = 0 To 377
    For y = 0 To 349
      Plot(x, y, RGB(x, y, x*y/50))
    Next
  Next  
  DrawingMode(#PB_2DDrawing_Transparent)
  DrawText(10,325,"25/09/2015")
  DrawingFont(FontID(0))
  DrawRotatedText(40,150,"RASHAD",30,$0000FF)
StopDrawing()
FreeFont(0)
h = GetSystemMetrics_(#SM_CYCAPTION)+GetSystemMetrics_(#SM_CYMENU)
  
OpenWindow(0, 0,0, 400,350+h, "FreeImage", #PB_Window_SystemMenu| #PB_Window_ScreenCentered)
WindowBounds(0,400,350+h, GetSystemMetrics_(#SM_CXSCREEN)-40, GetSystemMetrics_(#SM_CYSCREEN)-60)
  If CreateMenu(0, WindowID(0))
    MenuTitle("File")
      MenuItem( 1, "Load")
      OpenSubMenu("Save As..")
        MenuItem( 2, "BMP")
        MenuItem( 3, "PNG")
        MenuItem( 4, "JPG")
        MenuItem( 5, "JP2")
        MenuItem( 6, "TIF")
        MenuItem( 7, "TGA")
      CloseSubMenu()
      MenuBar()
      MenuItem(20, "&Quit")
      
    MenuTitle("Image")
        MenuItem(30, "Flip Hal")
        MenuItem(31, "Flip Val")
        MenuBar()
        MenuItem(32, "Rotate")
        MenuBar()
        MenuItem(33, "Rescale")
        ;MenuItem(80, "Rescale Rect")
        MenuItem(81, "Zoom In/Out")
      CloseSubMenu()
            
    MenuTitle("Convert")
      OpenSubMenu("Convert to")
        MenuItem( 34, "Grayscale")
        MenuItem( 35, "4 Bit")
        MenuItem( 36, "8 Bit")
        MenuItem( 37, "16 Bit")
        MenuItem( 38, "24 Bit")
        MenuItem( 39, "32 Bit")
      CloseSubMenu()      
      OpenSubMenu("Quantize")
        MenuItem(50, "Xiaolin Wu ")
        MenuItem(51, "Neural-Net")
        MenuItem(52, "Lossless Fast Pseudo")
        CloseSubMenu()
        MenuBar()
        MenuItem(60, "Composite")
        MenuItem(61, "Transparent")
  EndIf

  ImageGadget(20,10,10,378,350,0, #PB_Image_Border)
  DisableGadget(20,1)
  
  ContainerGadget(30,0,0,0,0,#PB_Container_Flat)  
    TextGadget(#PB_Any,10,8,80,22,"Input Hal Scale")
    sp1 = SpinGadget(#PB_Any,90,4,40,20,0,30,#PB_Spin_ReadOnly)
    SetGadgetState (sp1,10):SetGadgetText(sp1,"1.0")
    TextGadget(#PB_Any,10,42,80,22,"Input Hal Scale")
    sp2 = SpinGadget(#PB_Any,90,40,40,20,0,30,#PB_Spin_ReadOnly)
    SetGadgetState (sp2,10):SetGadgetText(sp2,"1.0")
    OptionGadget(32,135,4,80,16,"BOX")
    OptionGadget(33,135,20,80,16,"BICUBIC") 
    OptionGadget(34,135,36,80,16,"BILINEAR") 
    OptionGadget(35,135,52,80,16,"BSPLINE")
    OptionGadget(36,135,68,80,16,"CATMULLROM")
    OptionGadget(37,135,84,80,16,"LANCZOS3")    
    ButtonGadget(40,5,80,30,20,"OK")
    ButtonGadget(41,60,80,50,20,"Cancel")
  CloseGadgetList()
  SetGadgetState(35,1)
  
  ContainerGadget(50,0,0,0,0,#PB_Container_Flat)  
    TextGadget(51,6,6,108,16,"   x-Shift           y-Shift")
    StringGadget(52,14,28,30,18,"",#PB_String_Numeric)
    StringGadget(53,80,28,30,18,"",#PB_String_Numeric)
    TextGadget(54,6,50,108,16,"   x-Origin         y-Origin")
    StringGadget(55,14,70,30,18,"",#PB_String_Numeric)
    StringGadget(56,80,70,30,18,"",#PB_String_Numeric)
    TextGadget(57,6,97,90,18,"Rotation Angle")
    StringGadget(58,80,95,30,18,"",#PB_String_Numeric)
    ButtonGadget(59,25,120,30,20,"OK")
    ButtonGadget(60,60,120,40,20,"Cancel")
  CloseGadgetList()
  
  ContainerGadget(90,0,0,0,0,#PB_Container_Flat)  
    TextGadget(91,6,8,100,18,"Border Width")
    StringGadget(92,116,6,30,18,"",#PB_String_Numeric)
    TextGadget(93,6,35,100,18,"Border Color")
    ButtonGadget(94,112,30,35,24,"Color")
    ButtonGadget(95,5,60,35,30,"Zoom"+#CRLF$+"In",#BS_MULTILINE)
    ButtonGadget(96,42,60,35,30,"Zoom"+#CRLF$+"Out",#BS_MULTILINE)
    ButtonGadget(97,110,70,40,20,"Cancel")
  CloseGadgetList()
  
  BindGadgetEvent(sp1,@DecSpinEvents_0())
  BindGadgetEvent(sp2,@DecSpinEvents_1())
    
  SetGadgetState(20,ImageID(0))
  
  DW.f = GetSystemMetrics_(#SM_CXSCREEN)
  DH.f = GetSystemMetrics_(#SM_CYSCREEN)
  TransColor = $FFFFFF
    
Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        Break
        
      Case #WM_MOUSEMOVE
          GetCursorPos_(p.POINT)
          hdc = GetDC_(0)
          Color = GetPixel_(hdc,p\x,p\y)
          ReleaseDC_(WindowID(0),hdc)
                     
      Case #WM_LBUTTONDOWN
          If TransFlag = 1
            TransColor = Color
            TransFlag = 0
            SystemParametersInfo_(#SPI_SETCURSORS,0,0,0)
            _TransImage(TransColor)
          EndIf          
          
      Case #PB_Event_Gadget
        Select EventGadget()
          Case 32 To 37
              parm2 = GetActiveGadget() - 32
          Case 40
              ResizeGadget(30,0,0,0,0)
              _EffectImage(3,0,1)   
          Case 41
              ResizeGadget(30,0,0,0,0)
          Case 59
              ResizeGadget(50,0,0,0,0)
              _EffectImage(2,0,parm2) 
          Case 60
              ResizeGadget(50,0,0,0,0)
          Case 94
              BColor = ColorRequester()
              BColor = RGB(Blue(BColor),Green(BColor),Red(BColor))
          Case 95
              ResizeGadget(90,0,0,0,0)
              _EffectImage(5,0,1)
          Case 96
              ResizeGadget(90,0,0,0,0)
              _EffectImage(5,1,1)  
          Case 97
              ResizeGadget(90,0,0,0,0)
        EndSelect
          
      Case #PB_Event_Menu
        Select EventMenu()
          Case 1
             _LoadImage()              
          Case 2
              _SaveImage(0,"bmp")              
          Case 3
              _SaveImage(13,"png")
          Case 4
              _SaveImage(2,"jpg")  
          Case 5
              _SaveImage(31,"jp2")  
          Case 6
              _SaveImage(18,"tif")                 
          Case 7
              _SaveImage(17,"tga")              
          Case 20
            End              
          Case 30
              _EffectImage(0,0,0)
          Case 31
              _EffectImage(1,0,0)
          Case 32
              GetCursorPos_(p.POINT)
              ScreenToClient_(WindowID(0),p)
              ResizeGadget(50,p\x,p\y,125,150)
          Case 33
              GetCursorPos_(p.POINT)
              ScreenToClient_(WindowID(0),p)
              ResizeGadget(30,p\x,p\y,230,105)                             
          Case 34
              _ConvertImage(0)
          Case 35
              _ConvertImage(4)
          Case 36
              _ConvertImage(8)
          Case 37
              _ConvertImage(16)
          Case 38
              _ConvertImage(24)
          Case 39
              _ConvertImage(32)
              
          Case 50
              _QuantizeImage(0)
          Case 51
              _QuantizeImage(1)
          Case 52
              _QuantizeImage(2)
          Case 61
            If dib
                TransFlag = 1
                SetSystemCursor_(LoadCursor_(0, #IDC_CROSS ), #OCR_NORMAL )
            EndIf
          Case 81
              GetCursorPos_(p.POINT)
              ScreenToClient_(WindowID(0),p)
              ResizeGadget(90,p\x,p\y,155,95)
              
        EndSelect        

    EndSelect
ForEver
  
MemoryFreeLibrary(hDLL)

Egypt my love
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4636
Joined: Sun Apr 12, 2009 6:27 am

Re: Loading Media

Post by RASHAD »

2 : MemoryModule_64.pbi

Code: Select all

; MemoryModule_64.pbi
; * Memory DLL loading code
; * Version 0.0.3
; *
; * Copyright (c) 2004-2013 by Joachim Bauch / mail@joachim-bauch.de
; * http://www.joachim-bauch.de
; *
; * The contents of this file are subject To the Mozilla Public License Version
; * 2.0 (the "License"); you may not use this file except in compliance with
; * the License. You may obtain a copy of the License at
; * http://www.mozilla.org/MPL/
; *
; * Software distributed under the License is distributed on an "AS IS" basis,
; * WITHOUT WARRANTY OF ANY KIND, either express Or implied. See the License
; * For the specific language governing rights And limitations under the
; * License.
; *
; * The Original Code is MemoryModule.h
; *
; * The Initial Developer of the Original Code is Joachim Bauch.
; *
; * Portions created by Joachim Bauch are Copyright (C) 2004-2013
; * Joachim Bauch. All Rights Reserved.
; *
; * 

; compiled with PellesC
; import and example by Thomas (ts-soft) Schulz
;***************************************************************************************

Import "MemoryModule64.lib"
  MemoryLoadLibrary(*MemoryPointer)
  MemoryGetProcAddress(hModule, FunctionName.p-ascii)
  MemoryFreeLibrary(hModule)
  MemoryFindResource(hModule, lpName.p-ascii, lpType.p-ascii)
  MemoryFindResourceEx(hModule, lpName.p-ascii, lpType.p-ascii, wLanguage.w)
  MemoryLoadResource(hModule, hResInfo)
  MemoryLoadString(hModule, uID.i, *lpBuffer, nBufferMax.i)
  MemoryLoadStringEx(hModule, uID.i, *lpBuffer, nBufferMax.i, wLanguage.w)
  MemorySizeofResource(hModule, hResInfo)
EndImport

Last edited by RASHAD on Sat Oct 23, 2021 5:19 am, edited 1 time in total.
Egypt my love
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4636
Joined: Sun Apr 12, 2009 6:27 am

Re: Loading Media

Post by RASHAD »

3 : FreeImage_header64.pbi

Code: Select all

;FreeImage_header64.pbi
#FREEIMAGE_COLORORDER_BGR = 0
#FREEIMAGE_COLORORDER_RGB = 1

#FREEIMAGE_MAJOR_VERSION = 3
#FREEIMAGE_MINOR_VERSION = 15
#FREEIMAGE_RELEASE_SERIAL = 4

#SEEK_SET = 0
#SEEK_CUR = 1
#SEEK_END = 2

#FILTER_BOX = 0
#FILTER_BICUBIC	  = 1
#FILTER_BILINEAR   = 2
#FILTER_BSPLINE	  = 3
#FILTER_CATMULLROM = 4
#FILTER_LANCZOS3	  = 5

#FI_RGBA_RED = 2
#FI_RGBA_GREEN = 1
#FI_RGBA_BLUE = 0
#FI_RGBA_ALPHA = 3
#FI_RGBA_RED_MASK = $00FF0000
#FI_RGBA_GREEN_MASK = $0000FF00
#FI_RGBA_BLUE_MASK = $000000FF
#FI_RGBA_ALPHA_MASK = $FF000000
#FI_RGBA_RED_SHIFT = 16
#FI_RGBA_GREEN_SHIFT = 8
#FI_RGBA_BLUE_SHIFT = 0
#FI_RGBA_ALPHA_SHIFT = 24

#FI16_555_RED_MASK = $7C00
#FI16_555_GREEN_MASK = $03E0
#FI16_555_BLUE_MASK = $001F
#FI16_555_RED_SHIFT = 10
#FI16_555_GREEN_SHIFT = 5
#FI16_555_BLUE_SHIFT = 0
#FI16_565_RED_MASK = $F800
#FI16_565_GREEN_MASK = $07E0
#FI16_565_BLUE_MASK = $001F
#FI16_565_RED_SHIFT = 11
#FI16_565_GREEN_SHIFT = 5
#FI16_565_BLUE_SHIFT = 0

#FIICC_DEFAULT	= $00
#FIICC_COLOR_IS_CMYK = $01

#FI16_555_RED_MASK = $7C00
#FI16_555_GREEN_MASK = $03E0
#FI16_555_BLUE_MASK = $001F
#FI16_555_RED_SHIFT = 10
#FI16_555_GREEN_SHIFT = 5
#FI16_555_BLUE_SHIFT = 0
#FI16_565_RED_MASK = $F800
#FI16_565_GREEN_MASK = $07E0
#FI16_565_BLUE_MASK = $001F
#FI16_565_RED_SHIFT = 11
#FI16_565_GREEN_SHIFT = 5
#FI16_565_BLUE_SHIFT = 0

#FIF_UNKNOWN = -1
#FIF_BMP		= 0
#FIF_ICO		= 1
#FIF_JPEG 	= 2
#FIF_JNG		= 3
#FIF_KOALA	= 4
#FIF_LBM		= 5
#FIF_IFF = #FIF_LBM
#FIF_MNG		= 6
#FIF_PBM		= 7
#FIF_PBMRAW	= 8
#FIF_PCD		= 9
#FIF_PCX		= 10
#FIF_PGM		= 11
#FIF_PGMRAW	= 12
#FIF_PNG		= 13
#FIF_PPM		= 14
#FIF_PPMRAW	= 15
#FIF_RAS		= 16
#FIF_TARGA	= 17
#FIF_TIFF	  = 18
#FIF_WBMP	  = 19
#FIF_PSD		= 20
#FIF_CUT		= 21
#FIF_XBM		= 22
#FIF_XPM		= 23
#FIF_DDS		= 24
#FIF_GIF    = 25
#FIF_HDR		= 26
#FIF_FAXG3	= 27
#FIF_SGI		= 28
#FIF_EXR		= 29
#FIF_J2K		= 30
#FIF_JP2		= 31
#FIF_PFM		= 32
#FIF_PICT 	= 33
#FIF_RAW		= 34
#FIF_WEBP	  = 35
#FIF_JXR		= 36

Enumeration
  #FIT_UNKNOWN
  #FIT_BITMAP
  #FIT_UINT16
  #FIT_INT16
  #FIT_UINT32
  #FIT_INT32
  #FIT_FLOAT
  #FIT_DOUBLE
  #FIT_COMPLEX
  #FIT_RGB16
  #FIT_RGBA16
  #FIT_RGBF
  #FIT_RGBAF
EndEnumeration

Enumeration
  #FIC_MINISWHITE
  #FIC_MINISBLACK
  #FIC_RGB
  #FIC_PALETTE
  #FIC_RGBALPHA
  #FIC_CMYK
EndEnumeration

Enumeration
  #FIQ_WUQUANT
  #FIQ_NNQUANT
  #FIQ_LFPQUANT 
EndEnumeration

Enumeration
  #FID_FS
  #FID_BAYER4x4
  #FID_BAYER8x8
  #FID_CLUSTER6x6
  #FID_CLUSTER8x8
  #FID_CLUSTER16x16
  #FID_BAYER16x16
EndEnumeration

Enumeration
  #FIJPEG_OP_NONE
  #FIJPEG_OP_FLIP_H
  #FIJPEG_OP_FLIP_V
  #FIJPEG_OP_TRANSPOSE
  #FIJPEG_OP_TRANSVERSE
  #FIJPEG_OP_ROTATE_90
  #FIJPEG_OP_ROTATE_180
  #FIJPEG_OP_ROTATE_270
EndEnumeration

Enumeration
  #FITMO_DRAGO03
  #FITMO_REINHARD05
  #FITMO_FATTAL02
EndEnumeration

Enumeration
  #FILTER_BOX
  #FILTER_BICUBIC
  #FILTER_BILINEAR
  #FILTER_BSPLINE
  #FILTER_CATMULLROM
  #FILTER_LANCZOS3
EndEnumeration

Enumeration
  #FICC_RGB
  #FICC_RED
  #FICC_GREEN
  #FICC_BLUE
  #FICC_ALPHA
  #FICC_BLACK
  #FICC_REAL
  #FICC_IMAG
  #FICC_MAG
  #FICC_PHASE
EndEnumeration

Enumeration
  #FIDT_NOTYPE
  #FIDT_BYTE
  #FIDT_ASCII
  #FIDT_SHORT
  #FIDT_LONG
  #FIDT_RATIONAL
  #FIDT_SBYTE
  #FIDT_UNDEFINED
  #FIDT_SSHORT
  #FIDT_SLONG
  #FIDT_SRATIONAL
  #FIDT_FLOAT
  #FIDT_DOUBLE
  #FIDT_IFD
  #FIDT_PALETTE
EndEnumeration

Enumeration 16
  #FIDT_LONG8
  #FIDT_SLONG8
  #FIDT_IFD8
EndEnumeration

Enumeration -1
  #FIMD_NODATA
  #FIMD_COMMENTS
  #FIMD_EXIF_MAIN
  #FIMD_EXIF_EXIF
  #FIMD_EXIF_GPS
  #FIMD_EXIF_MAKERNOTE
  #FIMD_EXIF_INTEROP
  #FIMD_IPTC
  #FIMD_XMP
  #FIMD_GEOTIFF
  #FIMD_ANIMATION
  #FIMD_CUSTOM
  #FIMD_EXIF_RAW
EndEnumeration

#FIF_LOAD_NOPIXELS = $8000

#BMP_DEFAULT =  0
#BMP_SAVE_RLE = 1
#CUT_DEFAULT =  0
#DDS_DEFAULT = 0
#EXR_DEFAULT = 0
#EXR_FLOAT = $0001
#EXR_NONE = $0002
#EXR_ZIP = 	$0004
#EXR_PIZ = 	$0008
#EXR_PXR24 = $0010
#EXR_B44 = 	$0020
#EXR_LC = 	$0040
#FAXG3_DEFAULT = 0
#GIF_DEFAULT = 0
#GIF_LOAD256 = 1
#GIF_PLAYBACK = 2
#HDR_DEFAULT = 0
#ICO_DEFAULT = 0
#ICO_MAKEALPHA = 1
#IFF_DEFAULT = 0
#J2K_DEFAULT = 0
#JP2_DEFAULT = 0
#JPEG_DEFAULT = 0
#JPEG_FAST = $0001
#JPEG_ACCURATE = $0002
#JPEG_CMYK = $0004
#JPEG_EXIFROTATE = $0008
#JPEG_GREYSCALE = $0010
#JPEG_QUALITYSUPERB = $80
#JPEG_QUALITYGOOD = $0100
#JPEG_QUALITYNORMAL = $0200
#JPEG_QUALITYAVERAGE = $0400
#JPEG_QUALITYBAD = $0800
#JPEG_PROGRESSIVE = $2000
#JPEG_SUBSAMPLING_411 = $1000 
#JPEG_SUBSAMPLING_420 = $4000
#JPEG_SUBSAMPLING_422 = $8000 
#JPEG_SUBSAMPLING_444 = $10000
#JPEG_OPTIMIZE = $20000
#JPEG_BASELINE = $40000
#KOALA_DEFAULT = 0
#LBM_DEFAULT = 0
#MNG_DEFAULT = 0
#PCD_DEFAULT = 0
#PCD_BASE = 1
#PCD_BASEDIV4 = 2
#PCD_BASEDIV16 = 3
#PCX_DEFAULT = 0
#PFM_DEFAULT = 0
#PICT_DEFAULT = 0
#PNG_DEFAULT = 0
#PNG_IGNOREGAMMA = 1
#PNG_Z_BEST_SPEED = $0001
#PNG_Z_DEFAULT_COMPRESSION = $0006
#PNG_Z_BEST_COMPRESSION = $0009
#PNG_Z_NO_COMPRESSION = $0100
#PNG_INTERLACED = 	$0200
#PNM_DEFAULT =  0
#PNM_SAVE_RAW = 0
#PNM_SAVE_ASCII = 1
#PSD_DEFAULT =  0
#PSD_CMYK = 1
#PSD_LAB = 2
#RAS_DEFAULT = 0
#RAW_DEFAULT = 0
#RAW_PREVIEW = 1
#RAW_DISPLAY = 2
#RAW_HALFSIZE = 4
#SGI_DEFAULT = 0
#TARGA_DEFAULT = 0
#TARGA_LOAD_RGB888 = 1
#TARGA_SAVE_RLE = 2
#TIFF_DEFAULT = 0
#TIFF_CMYK = $0001
#TIFF_PACKBITS = $0100
#TIFF_DEFLATE = $0200
#TIFF_ADOBE_DEFLATE = $0400
#TIFF_NONE = $0800
#TIFF_CCITTFAX3 = $1000
#TIFF_CCITTFAX4 = $2000
#TIFF_LZW = $4000
#TIFF_JPEG = $8000
#TIFF_LOGLUV = $10000
#WBMP_DEFAULT = 0
#XBM_DEFAULT = 0
#XPM_DEFAULT = 0

#FI_COLOR_IS_RGB_COLOR = $00
#FI_COLOR_IS_RGBA_COLOR = $01
#FI_COLOR_FIND_EQUAL_COLOR = $02
#FI_COLOR_ALPHA_IS_INDEX = $04
#FI_COLOR_PALETTE_SEARCH_MASK = (#FI_COLOR_FIND_EQUAL_COLOR | #FI_COLOR_ALPHA_IS_INDEX)

Egypt my love
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4636
Joined: Sun Apr 12, 2009 6:27 am

Re: Loading Media

Post by RASHAD »

4: Freeimage_commands64-318.pbi

Code: Select all

;Freeimage_commands64-318.pbi
Prototype  FreeImage_AcquireMemory(a.i ,b.i ,c.i)
Global FreeImage_AcquireMemory.FreeImage_AcquireMemory

Prototype  FreeImage_AdjustBrightness(a.i ,b.i ,c.i)
Global FreeImage_AdjustBrightness.FreeImage_AdjustBrightness

Prototype  FreeImage_AdjustColors(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i)
Global FreeImage_AdjustColors.FreeImage_AdjustColors

Prototype  FreeImage_AdjustContrast(a.i ,b.i ,c.i)
Global FreeImage_AdjustContrast.FreeImage_AdjustContrast

Prototype  FreeImage_AdjustCurve(a.i ,b.i ,c.i)
Global FreeImage_AdjustCurve.FreeImage_AdjustCurve

Prototype  FreeImage_AdjustGamma(a.i ,b.i ,c.i)
Global FreeImage_AdjustGamma.FreeImage_AdjustGamma

Prototype  FreeImage_Allocate(a.i ,b.i ,c.i ,d.i ,e.i ,f.i)
Global FreeImage_Allocate.FreeImage_Allocate

Prototype  FreeImage_AllocateEx(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i ,i.i)
Global FreeImage_AllocateEx.FreeImage_AllocateEx

Prototype  FreeImage_AllocateExT(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i ,i.i ,j.i)
Global FreeImage_AllocateExT.FreeImage_AllocateExT

Prototype  FreeImage_AllocateHeader(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i)
Global FreeImage_AllocateHeader.FreeImage_AllocateHeader

Prototype  FreeImage_AllocateHeaderForBits(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i ,i.i)
Global FreeImage_AllocateHeaderForBits.FreeImage_AllocateHeaderForBits

Prototype  FreeImage_AllocateHeaderT(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i)
Global FreeImage_AllocateHeaderT.FreeImage_AllocateHeaderT

Prototype  FreeImage_AllocateT(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i)
Global FreeImage_AllocateT.FreeImage_AllocateT

Prototype  FreeImage_AppendPage(a.i ,b.i)
Global FreeImage_AppendPage.FreeImage_AppendPage

Prototype  FreeImage_ApplyColorMapping(a.i ,b.i ,c.i ,d.i ,e.i ,f.i)
Global FreeImage_ApplyColorMapping.FreeImage_ApplyColorMapping

Prototype  FreeImage_ApplyPaletteIndexMapping(a.i ,b.i ,c.i ,d.i ,e.i)
Global FreeImage_ApplyPaletteIndexMapping.FreeImage_ApplyPaletteIndexMapping

Prototype  FreeImage_Clone(a.i)
Global FreeImage_Clone.FreeImage_Clone

Prototype  FreeImage_CloneMetadata(a.i ,b.i)
Global FreeImage_CloneMetadata.FreeImage_CloneMetadata

Prototype  FreeImage_CloneTag(a.i)
Global FreeImage_CloneTag.FreeImage_CloneTag

Prototype  FreeImage_CloseMemory(a.i)
Global FreeImage_CloseMemory.FreeImage_CloseMemory

Prototype  FreeImage_CloseMultiBitmap(a.i ,b.i)
Global FreeImage_CloseMultiBitmap.FreeImage_CloseMultiBitmap

Prototype  FreeImage_ColorQuantize(a.i ,b.i)
Global FreeImage_ColorQuantize.FreeImage_ColorQuantize

Prototype  FreeImage_ColorQuantizeEx(a.i ,b.i ,c.i ,d.i ,e.i)
Global FreeImage_ColorQuantizeEx.FreeImage_ColorQuantizeEx

Prototype  FreeImage_Composite(a.i ,b.i ,c.i ,d.i)
Global FreeImage_Composite.FreeImage_Composite

Prototype  FreeImage_ConvertFromRawBits(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i ,i.i)
Global FreeImage_ConvertFromRawBits.FreeImage_ConvertFromRawBits

Prototype  FreeImage_ConvertFromRawBitsEx(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i ,i.i ,j.i ,k.i)
Global FreeImage_ConvertFromRawBitsEx.FreeImage_ConvertFromRawBitsEx

Prototype  FreeImage_ConvertLine16To24_555(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine16To24_555.FreeImage_ConvertLine16To24_555

Prototype  FreeImage_ConvertLine16To24_565(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine16To24_565.FreeImage_ConvertLine16To24_565

Prototype  FreeImage_ConvertLine16To32_555(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine16To32_555.FreeImage_ConvertLine16To32_555

Prototype  FreeImage_ConvertLine16To32_565(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine16To32_565.FreeImage_ConvertLine16To32_565

Prototype  FreeImage_ConvertLine16To4_555(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine16To4_555.FreeImage_ConvertLine16To4_555
FreeImage_ConvertLine16To4_555 = 268661376

Prototype  FreeImage_ConvertLine16To4_565(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine16To4_565.FreeImage_ConvertLine16To4_565
FreeImage_ConvertLine16To4_565 = 268661712

Prototype  FreeImage_ConvertLine16To8_555(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine16To8_555.FreeImage_ConvertLine16To8_555
FreeImage_ConvertLine16To8_555 = 268663280

Prototype  FreeImage_ConvertLine16To8_565(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine16To8_565.FreeImage_ConvertLine16To8_565

Prototype  FreeImage_ConvertLine16_555_To16_565(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine16_555_To16_565.FreeImage_ConvertLine16_555_To16_565

Prototype  FreeImage_ConvertLine16_565_To16_555(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine16_565_To16_555.FreeImage_ConvertLine16_565_To16_555

Prototype  FreeImage_ConvertLine1To16_555(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ConvertLine1To16_555.FreeImage_ConvertLine1To16_555

Prototype  FreeImage_ConvertLine1To16_565(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ConvertLine1To16_565.FreeImage_ConvertLine1To16_565

Prototype  FreeImage_ConvertLine1To24(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ConvertLine1To24.FreeImage_ConvertLine1To24

Prototype  FreeImage_ConvertLine1To32(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ConvertLine1To32.FreeImage_ConvertLine1To32

Prototype  FreeImage_ConvertLine1To4(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine1To4.FreeImage_ConvertLine1To4

Prototype  FreeImage_ConvertLine1To8(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine1To8.FreeImage_ConvertLine1To8

Prototype  FreeImage_ConvertLine24To16_555(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine24To16_555.FreeImage_ConvertLine24To16_555

Prototype  FreeImage_ConvertLine24To16_565(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine24To16_565.FreeImage_ConvertLine24To16_565

Prototype  FreeImage_ConvertLine24To32(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine24To32.FreeImage_ConvertLine24To32

Prototype  FreeImage_ConvertLine24To4(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine24To4.FreeImage_ConvertLine24To4

Prototype  FreeImage_ConvertLine24To8(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine24To8.FreeImage_ConvertLine24To8

Prototype  FreeImage_ConvertLine32To16_555(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine32To16_555.FreeImage_ConvertLine32To16_555

Prototype  FreeImage_ConvertLine32To16_565(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine32To16_565.FreeImage_ConvertLine32To16_565

Prototype  FreeImage_ConvertLine32To24(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine32To24.FreeImage_ConvertLine32To24

Prototype  FreeImage_ConvertLine32To4(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine32To4.FreeImage_ConvertLine32To4

Prototype  FreeImage_ConvertLine32To8(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine32To8.FreeImage_ConvertLine32To8

Prototype  FreeImage_ConvertLine4To16_555(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ConvertLine4To16_555.FreeImage_ConvertLine4To16_555

Prototype  FreeImage_ConvertLine4To16_565(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ConvertLine4To16_565.FreeImage_ConvertLine4To16_565

Prototype  FreeImage_ConvertLine4To24(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ConvertLine4To24.FreeImage_ConvertLine4To24

Prototype  FreeImage_ConvertLine4To32(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ConvertLine4To32.FreeImage_ConvertLine4To32

Prototype  FreeImage_ConvertLine4To8(a.i ,b.i ,c.i)
Global FreeImage_ConvertLine4To8.FreeImage_ConvertLine4To8

Prototype  FreeImage_ConvertLine8To16_555(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ConvertLine8To16_555.FreeImage_ConvertLine8To16_555

Prototype  FreeImage_ConvertLine8To16_565(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ConvertLine8To16_565.FreeImage_ConvertLine8To16_565

Prototype  FreeImage_ConvertLine8To24(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ConvertLine8To24.FreeImage_ConvertLine8To24

Prototype  FreeImage_ConvertLine8To32(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ConvertLine8To32.FreeImage_ConvertLine8To32

Prototype  FreeImage_ConvertLine8To4(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ConvertLine8To4.FreeImage_ConvertLine8To4
FreeImage_ConvertLine8To4 = 268661184

Prototype  FreeImage_ConvertTo16Bits555(a.i)
Global FreeImage_ConvertTo16Bits555.FreeImage_ConvertTo16Bits555
FreeImage_ConvertTo16Bits555 = 268654288

Prototype  FreeImage_ConvertTo16Bits565(a.i)
Global FreeImage_ConvertTo16Bits565.FreeImage_ConvertTo16Bits565
FreeImage_ConvertTo16Bits565 = 268655792

Prototype  FreeImage_ConvertTo24Bits(a.i)
Global FreeImage_ConvertTo24Bits.FreeImage_ConvertTo24Bits

Prototype  FreeImage_ConvertTo32Bits(a.i)
Global FreeImage_ConvertTo32Bits.FreeImage_ConvertTo32Bits

Prototype  FreeImage_ConvertTo4Bits(a.i)
Global FreeImage_ConvertTo4Bits.FreeImage_ConvertTo4Bits

Prototype  FreeImage_ConvertTo8Bits(a.i)
Global FreeImage_ConvertTo8Bits.FreeImage_ConvertTo8Bits

Prototype  FreeImage_ConvertToFloat(a.i)
Global FreeImage_ConvertToFloat.FreeImage_ConvertToFloat

Prototype  FreeImage_ConvertToGreyscale(a.i)
Global FreeImage_ConvertToGreyscale.FreeImage_ConvertToGreyscale

Prototype  FreeImage_ConvertToRGB16(a.i)
Global FreeImage_ConvertToRGB16.FreeImage_ConvertToRGB16

Prototype  FreeImage_ConvertToRGBA16(a.i)
Global FreeImage_ConvertToRGBA16.FreeImage_ConvertToRGBA16

Prototype  FreeImage_ConvertToRGBAF(a.i)
Global FreeImage_ConvertToRGBAF.FreeImage_ConvertToRGBAF

Prototype  FreeImage_ConvertToRGBF(a.i)
Global FreeImage_ConvertToRGBF.FreeImage_ConvertToRGBF

Prototype  FreeImage_ConvertToRawBits(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i)
Global FreeImage_ConvertToRawBits.FreeImage_ConvertToRawBits
FreeImage_ConvertToRawBits = 268650752

Prototype  FreeImage_ConvertToStandardType(a.i ,b.i)
Global FreeImage_ConvertToStandardType.FreeImage_ConvertToStandardType
FreeImage_ConvertToStandardType = 268669360

Prototype  FreeImage_ConvertToType(a.i ,b.i ,c.i)
Global FreeImage_ConvertToType.FreeImage_ConvertToType
FreeImage_ConvertToType = 268669632

Prototype  FreeImage_ConvertToUINT16(a.i)
Global FreeImage_ConvertToUINT16.FreeImage_ConvertToUINT16

Prototype  FreeImage_Copy(a.i ,b.i ,c.i ,d.i ,e.i)
Global FreeImage_Copy.FreeImage_Copy

Prototype  FreeImage_CreateICCProfile(a.i ,b.i ,c.i)
Global FreeImage_CreateICCProfile.FreeImage_CreateICCProfile

Prototype  FreeImage_CreateTag()
Global FreeImage_CreateTag.FreeImage_CreateTag

Prototype  FreeImage_CreateView(a.i ,b.i ,c.i ,d.i ,e.i)
Global FreeImage_CreateView.FreeImage_CreateView

Prototype  FreeImage_DeInitialise()
Global FreeImage_DeInitialise.FreeImage_DeInitialise

Prototype  FreeImage_DeletePage(a.i ,b.i)
Global FreeImage_DeletePage.FreeImage_DeletePage

Prototype  FreeImage_DeleteTag(a.i)
Global FreeImage_DeleteTag.FreeImage_DeleteTag

Prototype  FreeImage_DestroyICCProfile(a.i)
Global FreeImage_DestroyICCProfile.FreeImage_DestroyICCProfile

Prototype  FreeImage_Dither(a.i ,b.i)
Global FreeImage_Dither.FreeImage_Dither

Prototype  FreeImage_EnlargeCanvas(a ,b ,c ,d ,e ,f ,g)
Global FreeImage_EnlargeCanvas.FreeImage_EnlargeCanvas

Prototype  FreeImage_FIFSupportsExportBPP(a.i ,b.i)
Global FreeImage_FIFSupportsExportBPP.FreeImage_FIFSupportsExportBPP

Prototype  FreeImage_FIFSupportsExportType(a.i ,b.i)
Global FreeImage_FIFSupportsExportType.FreeImage_FIFSupportsExportType

Prototype  FreeImage_FIFSupportsICCProfiles(a.i)
Global FreeImage_FIFSupportsICCProfiles.FreeImage_FIFSupportsICCProfiles

Prototype  FreeImage_FIFSupportsNoPixels(a.i)
Global FreeImage_FIFSupportsNoPixels.FreeImage_FIFSupportsNoPixels

Prototype  FreeImage_FIFSupportsReading(a.i)
Global FreeImage_FIFSupportsReading.FreeImage_FIFSupportsReading

Prototype  FreeImage_FIFSupportsWriting(a.i)
Global FreeImage_FIFSupportsWriting.FreeImage_FIFSupportsWriting

Prototype  FreeImage_FillBackground(a.i ,b.i ,c.i)
Global FreeImage_FillBackground.FreeImage_FillBackground

Prototype  FreeImage_FindCloseMetadata(a.i)
Global FreeImage_FindCloseMetadata.FreeImage_FindCloseMetadata

Prototype  FreeImage_FindFirstMetadata(a.i ,b.i ,c.i)
Global FreeImage_FindFirstMetadata.FreeImage_FindFirstMetadata

Prototype  FreeImage_FindNextMetadata(a.i ,b.i)
Global FreeImage_FindNextMetadata.FreeImage_FindNextMetadata

Prototype  FreeImage_FlipHorizontal(a.i)
Global FreeImage_FlipHorizontal.FreeImage_FlipHorizontal

Prototype  FreeImage_FlipVertical(a.i)
Global FreeImage_FlipVertical.FreeImage_FlipVertical

Prototype  FreeImage_GetAdjustColorsLookupTable(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i)
Global FreeImage_GetAdjustColorsLookupTable.FreeImage_GetAdjustColorsLookupTable

Prototype  FreeImage_GetBPP(a.i)
Global FreeImage_GetBPP.FreeImage_GetBPP

Prototype  FreeImage_GetBackgroundColor(a.i ,b.i)
Global FreeImage_GetBackgroundColor.FreeImage_GetBackgroundColor

Prototype  FreeImage_GetBits(a.i)
Global FreeImage_GetBits.FreeImage_GetBits

Prototype  FreeImage_GetBlueMask(a.i)
Global FreeImage_GetBlueMask.FreeImage_GetBlueMask

Prototype  FreeImage_GetChannel(a.i ,b.i)
Global FreeImage_GetChannel.FreeImage_GetChannel

Prototype  FreeImage_GetColorType(a.i)
Global FreeImage_GetColorType.FreeImage_GetColorType

Prototype  FreeImage_GetColorsUsed(a.i)
Global FreeImage_GetColorsUsed.FreeImage_GetColorsUsed

Prototype  FreeImage_GetComplexChannel(a.i ,b.i)
Global FreeImage_GetComplexChannel.FreeImage_GetComplexChannel

Prototype  FreeImage_GetCopyrightMessage()
Global FreeImage_GetCopyrightMessage.FreeImage_GetCopyrightMessage

Prototype  FreeImage_GetDIBSize(a.i)
Global FreeImage_GetDIBSize.FreeImage_GetDIBSize

Prototype  FreeImage_GetDotsPerMeterX(a.i)
Global FreeImage_GetDotsPerMeterX.FreeImage_GetDotsPerMeterX

Prototype  FreeImage_GetDotsPerMeterY(a.i)
Global FreeImage_GetDotsPerMeterY.FreeImage_GetDotsPerMeterY

Prototype  FreeImage_GetFIFCount()
Global FreeImage_GetFIFCount.FreeImage_GetFIFCount

Prototype  FreeImage_GetFIFDescription(a.i)
Global FreeImage_GetFIFDescription.FreeImage_GetFIFDescription

Prototype  FreeImage_GetFIFExtensionList(a.i)
Global FreeImage_GetFIFExtensionList.FreeImage_GetFIFExtensionList

Prototype  FreeImage_GetFIFFromFilename(a.i)
Global FreeImage_GetFIFFromFilename.FreeImage_GetFIFFromFilename

Prototype  FreeImage_GetFIFFromFilenameU(a.i)
Global FreeImage_GetFIFFromFilenameU.FreeImage_GetFIFFromFilenameU

Prototype  FreeImage_GetFIFFromFormat(a.i)
Global FreeImage_GetFIFFromFormat.FreeImage_GetFIFFromFormat

Prototype  FreeImage_GetFIFFromMime(a.i)
Global FreeImage_GetFIFFromMime.FreeImage_GetFIFFromMime

Prototype  FreeImage_GetFIFMimeType(a.i)
Global FreeImage_GetFIFMimeType.FreeImage_GetFIFMimeType

Prototype  FreeImage_GetFIFRegExpr(a.i)
Global FreeImage_GetFIFRegExpr.FreeImage_GetFIFRegExpr

Prototype  FreeImage_GetFileType(a.i ,b.i)
Global FreeImage_GetFileType.FreeImage_GetFileType

Prototype  FreeImage_GetFileTypeFromHandle(a.i ,b.i ,c.i)
Global FreeImage_GetFileTypeFromHandle.FreeImage_GetFileTypeFromHandle

Prototype  FreeImage_GetFileTypeFromMemory(a.i ,b.i)
Global FreeImage_GetFileTypeFromMemory.FreeImage_GetFileTypeFromMemory

Prototype  FreeImage_GetFileTypeU(a.i ,b.i)
Global FreeImage_GetFileTypeU.FreeImage_GetFileTypeU

Prototype  FreeImage_GetFormatFromFIF(a.i)
Global FreeImage_GetFormatFromFIF.FreeImage_GetFormatFromFIF

Prototype  FreeImage_GetGreenMask(a.i)
Global FreeImage_GetGreenMask.FreeImage_GetGreenMask

Prototype  FreeImage_GetHeight(a.i)
Global FreeImage_GetHeight.FreeImage_GetHeight

Prototype  FreeImage_GetHistogram(a.i ,b.i ,c.i)
Global FreeImage_GetHistogram.FreeImage_GetHistogram

Prototype  FreeImage_GetICCProfile(a.i)
Global FreeImage_GetICCProfile.FreeImage_GetICCProfile

Prototype  FreeImage_GetImageType(a.i)
Global FreeImage_GetImageType.FreeImage_GetImageType

Prototype  FreeImage_GetInfo(a.i)
Global FreeImage_GetInfo.FreeImage_GetInfo

Prototype  FreeImage_GetInfoHeader(a.i)
Global FreeImage_GetInfoHeader.FreeImage_GetInfoHeader

Prototype  FreeImage_GetLine(a.i)
Global FreeImage_GetLine.FreeImage_GetLine

Prototype  FreeImage_GetLockedPageNumbers(a.i ,b.i ,c.i)
Global FreeImage_GetLockedPageNumbers.FreeImage_GetLockedPageNumbers

Prototype  FreeImage_GetMemorySize(a.i)
Global FreeImage_GetMemorySize.FreeImage_GetMemorySize

Prototype  FreeImage_GetMetadata(a.i ,b.i ,c.i ,d.i)
Global FreeImage_GetMetadata.FreeImage_GetMetadata

Prototype  FreeImage_GetMetadataCount(a.i ,b.i)
Global FreeImage_GetMetadataCount.FreeImage_GetMetadataCount

Prototype  FreeImage_GetPageCount(a.i)
Global FreeImage_GetPageCount.FreeImage_GetPageCount

Prototype  FreeImage_GetPalette(a.i)
Global FreeImage_GetPalette.FreeImage_GetPalette

Prototype  FreeImage_GetPitch(a.i)
Global FreeImage_GetPitch.FreeImage_GetPitch

Prototype  FreeImage_GetPixelColor(a.i ,b.i ,c.i ,d.i)
Global FreeImage_GetPixelColor.FreeImage_GetPixelColor

Prototype  FreeImage_GetPixelIndex(a.i ,b.i ,c.i ,d.i)
Global FreeImage_GetPixelIndex.FreeImage_GetPixelIndex

Prototype  FreeImage_GetRedMask(a.i)
Global FreeImage_GetRedMask.FreeImage_GetRedMask

Prototype  FreeImage_GetScanLine(a.i ,b.i)
Global FreeImage_GetScanLine.FreeImage_GetScanLine

Prototype  FreeImage_GetTagCount(a.i)
Global FreeImage_GetTagCount.FreeImage_GetTagCount

Prototype  FreeImage_GetTagDescription(a.i)
Global FreeImage_GetTagDescription.FreeImage_GetTagDescription

Prototype  FreeImage_GetTagID(a.i)
Global FreeImage_GetTagID.FreeImage_GetTagID

Prototype  FreeImage_GetTagKey(a.i)
Global FreeImage_GetTagKey.FreeImage_GetTagKey

Prototype  FreeImage_GetTagLength(a.i)
Global FreeImage_GetTagLength.FreeImage_GetTagLength

Prototype  FreeImage_GetTagType(a.i)
Global FreeImage_GetTagType.FreeImage_GetTagType

Prototype  FreeImage_GetTagValue(a.i)
Global FreeImage_GetTagValue.FreeImage_GetTagValue

Prototype  FreeImage_GetThumbnail(a.i)
Global FreeImage_GetThumbnail.FreeImage_GetThumbnail

Prototype  FreeImage_GetTransparencyCount(a.i)
Global FreeImage_GetTransparencyCount.FreeImage_GetTransparencyCount

Prototype  FreeImage_GetTransparencyTable(a.i)
Global FreeImage_GetTransparencyTable.FreeImage_GetTransparencyTable

Prototype  FreeImage_GetTransparentIndex(a.i)
Global FreeImage_GetTransparentIndex.FreeImage_GetTransparentIndex

Prototype  FreeImage_GetVersion()
Global FreeImage_GetVersion.FreeImage_GetVersion

Prototype  FreeImage_GetWidth(a.i)
Global FreeImage_GetWidth.FreeImage_GetWidth

Prototype  FreeImage_HasBackgroundColor(a.i)
Global FreeImage_HasBackgroundColor.FreeImage_HasBackgroundColor

Prototype  FreeImage_HasPixels(a.i)
Global FreeImage_HasPixels.FreeImage_HasPixels

Prototype  FreeImage_HasRGBMasks(a.i)
Global FreeImage_HasRGBMasks.FreeImage_HasRGBMasks

Prototype  FreeImage_Initialise(a.i)
Global FreeImage_Initialise.FreeImage_Initialise

Prototype  FreeImage_InsertPage(a.i ,b.i ,c.i)
Global FreeImage_InsertPage.FreeImage_InsertPage

Prototype  FreeImage_Invert(a.i)
Global FreeImage_Invert.FreeImage_Invert

Prototype  FreeImage_IsLittleEndian()
Global FreeImage_IsLittleEndian.FreeImage_IsLittleEndian

Prototype  FreeImage_IsPluginEnabled(a.i)
Global FreeImage_IsPluginEnabled.FreeImage_IsPluginEnabled

Prototype  FreeImage_IsTransparent(a.i)
Global FreeImage_IsTransparent.FreeImage_IsTransparent

Prototype  FreeImage_JPEGCrop(a.i ,b.i ,c.i ,d.i ,e.i ,f.i)
Global FreeImage_JPEGCrop.FreeImage_JPEGCrop

Prototype  FreeImage_JPEGCropU(a.i ,b.i ,c.i ,d.i ,e.i ,f.i)
Global FreeImage_JPEGCropU.FreeImage_JPEGCropU

Prototype  FreeImage_JPEGTransform(a.i ,b.i ,c.i ,d.i)
Global FreeImage_JPEGTransform.FreeImage_JPEGTransform

Prototype  FreeImage_JPEGTransformCombined(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i)
Global FreeImage_JPEGTransformCombined.FreeImage_JPEGTransformCombined

Prototype  FreeImage_JPEGTransformCombinedFromMemory(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i)
Global FreeImage_JPEGTransformCombinedFromMemory.FreeImage_JPEGTransformCombinedFromMemory

Prototype  FreeImage_JPEGTransformCombinedU(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i)
Global FreeImage_JPEGTransformCombinedU.FreeImage_JPEGTransformCombinedU

Prototype  FreeImage_JPEGTransformFromHandle(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i ,i.i ,j.i)
Global FreeImage_JPEGTransformFromHandle.FreeImage_JPEGTransformFromHandle

Prototype  FreeImage_JPEGTransformU(a.i ,b.i ,c.i ,d.i)
Global FreeImage_JPEGTransformU.FreeImage_JPEGTransformU

Prototype  FreeImage_Load(a.i ,b.i ,c.i)
Global FreeImage_Load.FreeImage_Load

Prototype  FreeImage_LoadFromHandle(a.i ,b.i ,c.i ,d.i)
Global FreeImage_LoadFromHandle.FreeImage_LoadFromHandle

Prototype  FreeImage_LoadFromMemory(a.i ,b.i ,c.i)
Global FreeImage_LoadFromMemory.FreeImage_LoadFromMemory

Prototype  FreeImage_LoadMultiBitmapFromMemory(a.i ,b.i ,c.i)
Global FreeImage_LoadMultiBitmapFromMemory.FreeImage_LoadMultiBitmapFromMemory

Prototype  FreeImage_LoadU(a.i ,b.i ,c.i)
Global FreeImage_LoadU.FreeImage_LoadU

Prototype  FreeImage_LockPage(a.i ,b.i)
Global FreeImage_LockPage.FreeImage_LockPage

Prototype  FreeImage_LookupSVGColor(a.i ,b.i ,c.i ,d.i)
Global FreeImage_LookupSVGColor.FreeImage_LookupSVGColor

Prototype  FreeImage_LookupX11Color(a.i ,b.i ,c.i ,d.i)
Global FreeImage_LookupX11Color.FreeImage_LookupX11Color

Prototype  FreeImage_MakeThumbnail(a.i ,b.i ,c.i)
Global FreeImage_MakeThumbnail.FreeImage_MakeThumbnail

Prototype  FreeImage_MovePage(a.i ,b.i ,c.i)
Global FreeImage_MovePage.FreeImage_MovePage

Prototype  FreeImage_MultigridPoissonSolver(a.i ,b.i)
Global FreeImage_MultigridPoissonSolver.FreeImage_MultigridPoissonSolver

Prototype  FreeImage_OpenMemory(a.i ,b.i)
Global FreeImage_OpenMemory.FreeImage_OpenMemory

Prototype  FreeImage_OpenMultiBitmap(a.i ,b.i ,c.i ,d.i ,e.i ,f.i)
Global FreeImage_OpenMultiBitmap.FreeImage_OpenMultiBitmap

Prototype  FreeImage_OpenMultiBitmapFromHandle(a.i ,b.i ,c.i ,d.i)
Global FreeImage_OpenMultiBitmapFromHandle.FreeImage_OpenMultiBitmapFromHandle

Prototype  FreeImage_OutputMessageProc()
Global FreeImage_OutputMessageProc.FreeImage_OutputMessageProc

Prototype  FreeImage_Paste(a.i ,b.i ,c.i ,d.i ,e.i)
Global FreeImage_Paste.FreeImage_Paste

Prototype  FreeImage_PreMultiplyWithAlpha(a.i)
Global FreeImage_PreMultiplyWithAlpha.FreeImage_PreMultiplyWithAlpha

Prototype  FreeImage_ReadMemory(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ReadMemory.FreeImage_ReadMemory

Prototype  FreeImage_RegisterExternalPlugin(a.i ,b.i ,c.i ,d.i ,e.i)
Global FreeImage_RegisterExternalPlugin.FreeImage_RegisterExternalPlugin

Prototype  FreeImage_RegisterLocalPlugin(a.i ,b.i ,c.i ,d.i ,e.i)
Global FreeImage_RegisterLocalPlugin.FreeImage_RegisterLocalPlugin

Prototype  FreeImage_Rescale(a.i ,b.i ,c.i ,d.i)
Global FreeImage_Rescale.FreeImage_Rescale

Prototype  FreeImage_RescaleRect(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i ,i.i)
Global FreeImage_RescaleRect.FreeImage_RescaleRect

Prototype  FreeImage_Rotate(a.i ,b.d ,c.i )
Global FreeImage_Rotate.FreeImage_Rotate

Prototype  FreeImage_RotateClassic(a.i ,b.d)
Global FreeImage_RotateClassic.FreeImage_RotateClassic

Prototype  FreeImage_RotateEx(a.i ,b.d ,c.d ,d.d ,e.d ,f.d ,g.i)
Global FreeImage_RotateEx.FreeImage_RotateEx

Prototype  FreeImage_Save(a.i ,b.i ,c.i ,d.i)
Global FreeImage_Save.FreeImage_Save

Prototype  FreeImage_SaveMultiBitmapToHandle(a.i ,b.i ,c.i ,d.i ,e.i)
Global FreeImage_SaveMultiBitmapToHandle.FreeImage_SaveMultiBitmapToHandle

Prototype  FreeImage_SaveMultiBitmapToMemory(a.i ,b.i ,c.i ,d.i)
Global FreeImage_SaveMultiBitmapToMemory.FreeImage_SaveMultiBitmapToMemory

Prototype  FreeImage_SaveToHandle(a.i ,b.i ,c.i ,d.i ,e.i)
Global FreeImage_SaveToHandle.FreeImage_SaveToHandle

Prototype  FreeImage_SaveToMemory(a.i ,b.i ,c.i ,d.i)
Global FreeImage_SaveToMemory.FreeImage_SaveToMemory

Prototype  FreeImage_SaveU(a.i ,b.i ,c.i ,d.i)
Global FreeImage_SaveU.FreeImage_SaveU

Prototype  FreeImage_SeekMemory(a.i ,b.i ,c.i)
Global FreeImage_SeekMemory.FreeImage_SeekMemory

Prototype  FreeImage_SetBackgroundColor(a.i ,b.i)
Global FreeImage_SetBackgroundColor.FreeImage_SetBackgroundColor

Prototype  FreeImage_SetChannel(a.i ,b.i ,c.i)
Global FreeImage_SetChannel.FreeImage_SetChannel

Prototype  FreeImage_SetComplexChannel(a.i ,b.i ,c.i)
Global FreeImage_SetComplexChannel.FreeImage_SetComplexChannel

Prototype  FreeImage_SetDotsPerMeterX(a.i ,b.i)
Global FreeImage_SetDotsPerMeterX.FreeImage_SetDotsPerMeterX

Prototype  FreeImage_SetDotsPerMeterY(a.i ,b.i)
Global FreeImage_SetDotsPerMeterY.FreeImage_SetDotsPerMeterY

Prototype  FreeImage_SetMetadata(a.i ,b.i ,c.i ,d.i)
Global FreeImage_SetMetadata.FreeImage_SetMetadata

Prototype  FreeImage_SetMetadataKeyValue(a.i ,b.i ,c.i ,d.i)
Global FreeImage_SetMetadataKeyValue.FreeImage_SetMetadataKeyValue

Prototype  FreeImage_SetOutputMessage(a.i)
Global FreeImage_SetOutputMessage.FreeImage_SetOutputMessage

Prototype  FreeImage_SetOutputMessageStdCall(a.i)
Global FreeImage_SetOutputMessageStdCall.FreeImage_SetOutputMessageStdCall

Prototype  FreeImage_SetPixelColor(a.i ,b.i ,c.i ,d.i)
Global FreeImage_SetPixelColor.FreeImage_SetPixelColor

Prototype  FreeImage_SetPixelIndex(a.i ,b.i ,c.i ,d.i)
Global FreeImage_SetPixelIndex.FreeImage_SetPixelIndex

Prototype  FreeImage_SetPluginEnabled(a.i ,b.i)
Global FreeImage_SetPluginEnabled.FreeImage_SetPluginEnabled

Prototype  FreeImage_SetTagCount(a.i ,b.i)
Global FreeImage_SetTagCount.FreeImage_SetTagCount

Prototype  FreeImage_SetTagDescription(a.i ,b.i)
Global FreeImage_SetTagDescription.FreeImage_SetTagDescription

Prototype  FreeImage_SetTagID(a.i ,b.i)
Global FreeImage_SetTagID.FreeImage_SetTagID

Prototype  FreeImage_SetTagKey(a.i ,b.i)
Global FreeImage_SetTagKey.FreeImage_SetTagKey

Prototype  FreeImage_SetTagLength(a.i ,b.i)
Global FreeImage_SetTagLength.FreeImage_SetTagLength

Prototype  FreeImage_SetTagType(a.i ,b.i)
Global FreeImage_SetTagType.FreeImage_SetTagType

Prototype  FreeImage_SetTagValue(a.i ,b.i)
Global FreeImage_SetTagValue.FreeImage_SetTagValue

Prototype  FreeImage_SetThumbnail(a.i ,b.i)
Global FreeImage_SetThumbnail.FreeImage_SetThumbnail

Prototype  FreeImage_SetTransparencyTable(a.i ,b.i ,c.i)
Global FreeImage_SetTransparencyTable.FreeImage_SetTransparencyTable

Prototype  FreeImage_SetTransparent(a.i ,b.i)
Global FreeImage_SetTransparent.FreeImage_SetTransparent

Prototype  FreeImage_SetTransparentIndex(a.i ,b.i)
Global FreeImage_SetTransparentIndex.FreeImage_SetTransparentIndex

Prototype  FreeImage_SwapColors(a.i ,b.i ,c.i ,d.i)
Global FreeImage_SwapColors.FreeImage_SwapColors

Prototype  FreeImage_SwapPaletteIndices(a.i ,b.i ,c.i)
Global FreeImage_SwapPaletteIndices.FreeImage_SwapPaletteIndices

Prototype  FreeImage_TagToString(a.i ,b.i ,c.i)
Global FreeImage_TagToString.FreeImage_TagToString

Prototype  FreeImage_TellMemory(a.i)
Global FreeImage_TellMemory.FreeImage_TellMemory

Prototype  FreeImage_Threshold(a.i ,b.i)
Global FreeImage_Threshold.FreeImage_Threshold

Prototype  FreeImage_TmoDrago03(a.i ,b.i ,c.i ,d.i ,e.i)
Global FreeImage_TmoDrago03.FreeImage_TmoDrago03

Prototype  FreeImage_TmoFattal02(a.i ,b.i ,c.i ,d.i ,e.i)
Global FreeImage_TmoFattal02.FreeImage_TmoFattal02

Prototype  FreeImage_TmoReinhard05(a.i ,b.i ,c.i ,d.i ,e.i)
Global FreeImage_TmoReinhard05.FreeImage_TmoReinhard05

Prototype  FreeImage_TmoReinhard05Ex(a.i ,b.i ,c.i ,d.i ,e.i ,f.i ,g.i ,h.i ,i.i)
Global FreeImage_TmoReinhard05Ex.FreeImage_TmoReinhard05Ex

Prototype  FreeImage_ToneMapping(a.i ,b.i ,c.i ,d.i ,e.i ,f.i)
Global FreeImage_ToneMapping.FreeImage_ToneMapping

Prototype  FreeImage_Unload(a.i)
Global FreeImage_Unload.FreeImage_Unload

Prototype  FreeImage_UnlockPage(a.i ,b.i ,c.i)
Global FreeImage_UnlockPage.FreeImage_UnlockPage

Prototype  FreeImage_WriteMemory(a.i ,b.i ,c.i ,d.i)
Global FreeImage_WriteMemory.FreeImage_WriteMemory

Prototype  FreeImage_ZLibCRC32(a.i ,b.i ,c.i)
Global FreeImage_ZLibCRC32.FreeImage_ZLibCRC32

Prototype  FreeImage_ZLibCompress(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ZLibCompress.FreeImage_ZLibCompress

Prototype  FreeImage_ZLibGUnzip(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ZLibGUnzip.FreeImage_ZLibGUnzip

Prototype  FreeImage_ZLibGZip(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ZLibGZip.FreeImage_ZLibGZip

Prototype  FreeImage_ZLibUncompress(a.i ,b.i ,c.i ,d.i)
Global FreeImage_ZLibUncompress.FreeImage_ZLibUncompress

FreeImage_AcquireMemory	= $000000018029a630	
FreeImage_AdjustBrightness	= $00000001803024f0	
FreeImage_AdjustColors	= $0000000180301b90	
FreeImage_AdjustContrast	= $00000001803023d0	
FreeImage_AdjustCurve	= $0000000180302720	
FreeImage_AdjustGamma	= $00000001803025f0	
FreeImage_Allocate	= $00000001802972c0	
FreeImage_AllocateEx	= $00000001802fa910	
FreeImage_AllocateExT	= $00000001802fa970	
FreeImage_AllocateHeader	= $0000000180297310	
FreeImage_AllocateHeaderForBits	= $00000001802973c0	
FreeImage_AllocateHeaderT	= $0000000180297360	
FreeImage_AllocateT	= $0000000180297270	
FreeImage_AppendPage	= $00000001802eef20	
FreeImage_ApplyColorMapping	= $0000000180301440	
FreeImage_ApplyPaletteIndexMapping	= $00000001803010e0	
FreeImage_Clone	= $0000000180296940	
FreeImage_CloneMetadata	= $00000001802951a0	
FreeImage_CloneTag	= $00000001802f3960	
FreeImage_CloseMemory	= $000000018029a750	
FreeImage_CloseMultiBitmap	= $00000001802ef180	
FreeImage_ColorQuantize	= $00000001802d85e0	
FreeImage_ColorQuantizeEx	= $00000001802d8250	
FreeImage_Composite	= $0000000180305b10	
FreeImage_ConvertFromRawBits	= $00000001802d8060	
FreeImage_ConvertFromRawBitsEx	= $00000001802d80d0	
FreeImage_ConvertLine16_555_To16_565	= $00000001802da710	
FreeImage_ConvertLine16_565_To16_555	= $00000001802d9980	
FreeImage_ConvertLine16To24_555	= $00000001802dae10	
FreeImage_ConvertLine16To24_565	= $00000001802dad60	
FreeImage_ConvertLine16To32_555	= $00000001802db9c0	
FreeImage_ConvertLine16To32_565	= $00000001802db910	
FreeImage_ConvertLine16To4_555	= $00000001802dd6a0	
FreeImage_ConvertLine16To4_565	= $00000001802dd370	
FreeImage_ConvertLine16To8_555	= $00000001802de650	
FreeImage_ConvertLine16To8_565	= $00000001802de380	
FreeImage_ConvertLine1To16_555	= $00000001802d9830	
FreeImage_ConvertLine1To16_565	= $00000001802dabf0	
FreeImage_ConvertLine1To24	= $00000001802daec0	
FreeImage_ConvertLine1To32	= $00000001802dba80	
FreeImage_ConvertLine1To32MapTransparency	= $00000001802dbbc0	
FreeImage_ConvertLine1To4	= $00000001802ddc40	
FreeImage_ConvertLine1To8	= $00000001802de990	
FreeImage_ConvertLine24To16_555	= $00000001802d9910	
FreeImage_ConvertLine24To16_565	= $00000001802da690	
FreeImage_ConvertLine24To32	= $00000001802dbe50	
FreeImage_ConvertLine24To4	= $00000001802dd140	
FreeImage_ConvertLine24To8	= $00000001802de9f0	
FreeImage_ConvertLine32To16_555	= $00000001802d9740	
FreeImage_ConvertLine32To16_565	= $00000001802dace0	
FreeImage_ConvertLine32To24	= $00000001802dafc0	
FreeImage_ConvertLine32To4	= $00000001802dcf10	
FreeImage_ConvertLine32To8	= $00000001802debd0	
FreeImage_ConvertLine4To16_555	= $00000001802d96b0	
FreeImage_ConvertLine4To16_565	= $00000001802da5f0	
FreeImage_ConvertLine4To24	= $00000001802daf40	
FreeImage_ConvertLine4To32	= $00000001802dbb30	
FreeImage_ConvertLine4To32MapTransparency	= $00000001802dbd60	
FreeImage_ConvertLine4To8	= $00000001802de920	
FreeImage_ConvertLine8To16_555	= $00000001802d97b0	
FreeImage_ConvertLine8To16_565	= $00000001802da560	
FreeImage_ConvertLine8To24	= $00000001802db000	
FreeImage_ConvertLine8To32	= $00000001802dbc80	
FreeImage_ConvertLine8To32MapTransparency	= $00000001802dbce0	
FreeImage_ConvertLine8To4	= $00000001802dd9d0	
FreeImage_ConvertTo16Bits555	= $00000001802d8fa0	
FreeImage_ConvertTo16Bits565	= $00000001802d9e50	
FreeImage_ConvertTo24Bits	= $00000001802db050	
FreeImage_ConvertTo32Bits	= $00000001802dbe90	
FreeImage_ConvertTo4Bits	= $00000001802dc990	
FreeImage_ConvertTo8Bits	= $00000001802dedb0	
FreeImage_ConvertToFloat	= $00000001802df4b0	
FreeImage_ConvertToGreyscale	= $00000001802ddcd0	
FreeImage_ConvertToRawBits	= $00000001802d7330	
FreeImage_ConvertToRGB16	= $00000001802e03c0	
FreeImage_ConvertToRGBA16	= $0000000180297d10	
FreeImage_ConvertToRGBAF	= $0000000180298160	
FreeImage_ConvertToRGBF	= $00000001802e0820	
FreeImage_ConvertToStandardType	= $00000001802e1ac0	
FreeImage_ConvertToType	= $00000001802e1600	
FreeImage_ConvertToUINT16	= $00000001802e1c30	
FreeImage_Copy	= $0000000180305030	
FreeImage_CreateICCProfile	= $0000000180295d80	
FreeImage_CreateTag	= $00000001802f3c40	
FreeImage_CreateView	= $0000000180303030	
FreeImage_DeInitialise	= $00000001802a1280	
FreeImage_DeletePage	= $00000001802eed00	
FreeImage_DeleteTag	= $00000001802f38e0	
FreeImage_DestroyICCProfile	= $0000000180295d20	
FreeImage_Dither	= $00000001802e26a0	
FreeImage_EnlargeCanvas	= $00000001802fa470	
FreeImage_FIFSupportsExportBPP	= $000000018029f680	
FreeImage_FIFSupportsExportType	= $000000018029f610	
FreeImage_FIFSupportsICCProfiles	= $000000018029f5a0	
FreeImage_FIFSupportsNoPixels	= $000000018029f530	
FreeImage_FIFSupportsReading	= $000000018029f760	
FreeImage_FIFSupportsWriting	= $000000018029f6f0	
FreeImage_FillBackground	= $00000001802faf90	
FreeImage_FindCloseMetadata	= $00000001802956a0	
FreeImage_FindFirstMetadata	= $00000001802957a0	
FreeImage_FindNextMetadata	= $00000001802956d0	
FreeImage_FlipHorizontal	= $0000000180306070	
FreeImage_FlipVertical	= $0000000180306400	
FreeImage_GetAdjustColorsLookupTable	= $0000000180301c30	
FreeImage_GetBackgroundColor	= $0000000180296150	
FreeImage_GetBits	= $00000001802968b0	
FreeImage_GetBlueMask	= $0000000180296280	
FreeImage_GetBPP	= $0000000180295c60	
FreeImage_GetChannel	= $00000001802fe880	
FreeImage_GetColorsUsed	= $0000000180295b70	
FreeImage_GetColorType	= $0000000180296510	
FreeImage_GetComplexChannel	= $00000001802fde10	
FreeImage_GetCopyrightMessage	= $0000000180298f60	
FreeImage_GetDIBSize	= $0000000180295ab0	
FreeImage_GetDotsPerMeterX	= $0000000180295a20	
FreeImage_GetDotsPerMeterY	= $00000001802959e0	
FreeImage_GetFIFCount	= $00000001802a0a50	
FreeImage_GetFIFDescription	= $000000018029f850	
FreeImage_GetFIFExtensionList	= $000000018029f8d0	
FreeImage_GetFIFFromFilename	= $000000018029f2e0	
FreeImage_GetFIFFromFilenameU	= $000000018029efe0	
FreeImage_GetFIFFromFormat	= $000000018029fb70	
FreeImage_GetFIFFromMime	= $000000018029fa30	
FreeImage_GetFIFMimeType	= $000000018029f950	
FreeImage_GetFIFRegExpr	= $000000018029f7d0	
FreeImage_GetFileType	= $00000001802999e0	
FreeImage_GetFileTypeFromHandle	= $0000000180299ac0	
FreeImage_GetFileTypeFromMemory	= $0000000180299820	
FreeImage_GetFileTypeU	= $0000000180299900	
FreeImage_GetFormatFromFIF	= $000000018029f9c0	
FreeImage_GetGreenMask	= $0000000180296330	
FreeImage_GetHeight	= $0000000180295ca0	
FreeImage_GetHistogram	= $0000000180301f70	
FreeImage_GetICCProfile	= $0000000180295e40	
FreeImage_GetImageType	= $00000001802964f0	
FreeImage_GetInfo	= $0000000180295900	
FreeImage_GetInfoHeader	= $0000000180295940	
FreeImage_GetLine	= $0000000180295c10	
FreeImage_GetLockedPageNumbers	= $00000001802ee740	
FreeImage_GetMemorySize	= $00000001802943e0	
FreeImage_GetMetadata	= $0000000180294840	
FreeImage_GetMetadataCount	= $0000000180294680	
FreeImage_GetPageCount	= $00000001802ef110	
FreeImage_GetPalette	= $0000000180295a60	
FreeImage_GetPitch	= $0000000180295bb0	
FreeImage_GetPixelColor	= $000000018029ab80	
FreeImage_GetPixelIndex	= $000000018029add0	
FreeImage_GetRedMask	= $00000001802963e0	
FreeImage_GetScanLine	= $000000018029af00	
FreeImage_GetTagCount	= $00000001802f3940	
FreeImage_GetTagDescription	= $00000001802f37e0	
FreeImage_GetTagID	= $00000001802f3800	
FreeImage_GetTagKey	= $00000001802f3c20	
FreeImage_GetTagLength	= $00000001802f38a0	
FreeImage_GetTagType	= $00000001802f3ca0	
FreeImage_GetTagValue	= $00000001802f3e60	
FreeImage_GetThumbnail	= $0000000180296890	
FreeImage_GetTransparencyCount	= $0000000180295ff0	
FreeImage_GetTransparencyTable	= $0000000180296070	
FreeImage_GetTransparentIndex	= $0000000180295e60	
FreeImage_GetVersion	= $0000000180298f70	
FreeImage_GetWidth	= $0000000180295ce0	
FreeImage_HasBackgroundColor	= $0000000180296260	
FreeImage_HasPixels	= $00000001802964d0	
FreeImage_HasRGBMasks	= $0000000180296490	
FreeImage_Initialise	= $00000001802a0b50	
FreeImage_InsertPage	= $00000001802eedd0	
FreeImage_Invert	= $0000000180302bd0	
FreeImage_IsLittleEndian	= $0000000180298f50	
FreeImage_IsPluginEnabled	= $000000018029fcb0	
FreeImage_IsTransparent	= $0000000180296090	
FreeImage_JPEGCrop	= $0000000180306a90	
FreeImage_JPEGCropU	= $00000001803068c0	
FreeImage_JPEGTransform	= $0000000180306b90	
FreeImage_JPEGTransformCombined	= $00000001803067d0	
FreeImage_JPEGTransformCombinedFromMemory	= $0000000180306570	
FreeImage_JPEGTransformCombinedU	= $00000001803066e0	
FreeImage_JPEGTransformFromHandle	= $0000000180307050	
FreeImage_JPEGTransformU	= $00000001803069c0	
FreeImage_Load	= $00000001802a00b0	
FreeImage_LoadFromHandle	= $00000001802a07d0	
FreeImage_LoadFromMemory	= $000000018029a6e0	
FreeImage_LoadMultiBitmapFromMemory	= $00000001802ee580	
FreeImage_LoadU	= $000000018029fff0	
FreeImage_LockPage	= $00000001802eeb10	
FreeImage_LookupSVGColor	= $0000000180297990	
FreeImage_LookupX11Color	= $0000000180297a80	
FreeImage_MakeThumbnail	= $000000018030a5c0	
FreeImage_MovePage	= $00000001802ee810	
FreeImage_MultigridPoissonSolver	= $000000018030a340	
FreeImage_OpenMemory	= $000000018029a7a0	
FreeImage_OpenMultiBitmap	= $00000001802efad0	
FreeImage_OpenMultiBitmapFromHandle	= $00000001802ef920	
FreeImage_OutputMessageProc	= $0000000180298ff0	
FreeImage_Paste	= $0000000180305670	
FreeImage_PreMultiplyWithAlpha	= $00000001803059c0	
FreeImage_ReadMemory	= $000000018029a5c0	
FreeImage_RegisterExternalPlugin	= $000000018029fd90	
FreeImage_RegisterLocalPlugin	= $000000018029fe40	
FreeImage_Rescale	= $000000018030abb0	
FreeImage_RescaleRect	= $000000018030a840	
FreeImage_Rotate	= $0000000180300d50	
FreeImage_RotateEx	= $00000001802fbbc0	
FreeImage_Save	= $000000018029ff30	
FreeImage_SaveMultiBitmapToHandle	= $00000001802ef5a0	
FreeImage_SaveMultiBitmapToMemory	= $00000001802ee510	
FreeImage_SaveToHandle	= $00000001802a08f0	
FreeImage_SaveToMemory	= $000000018029a660	
FreeImage_SaveU	= $000000018029fe80	
FreeImage_SeekMemory	= $000000018029a600	
FreeImage_SetBackgroundColor	= $0000000180296120	
FreeImage_SetChannel	= $00000001802fe3f0	
FreeImage_SetComplexChannel	= $00000001802fdb70	
FreeImage_SetDotsPerMeterX	= $00000001802959b0	
FreeImage_SetDotsPerMeterY	= $0000000180295980	
FreeImage_SetMetadata	= $0000000180294aa0	
FreeImage_SetMetadataKeyValue	= $0000000180294760	
FreeImage_SetOutputMessage	= $0000000180298f40	
FreeImage_SetOutputMessageStdCall	= $0000000180298f30	
FreeImage_SetPixelColor	= $000000018029a850	
FreeImage_SetPixelIndex	= $000000018029aa20	
FreeImage_SetPluginEnabled	= $000000018029fd20	
FreeImage_SetTagCount	= $00000001802f38c0	
FreeImage_SetTagDescription	= $00000001802f3820	
FreeImage_SetTagID	= $00000001802f3e40	
FreeImage_SetTagKey	= $00000001802f3ba0	
FreeImage_SetTagLength	= $00000001802f3e20	
FreeImage_SetTagType	= $00000001802f3cc0	
FreeImage_SetTagValue	= $00000001802f3ce0	
FreeImage_SetThumbnail	= $0000000180296810	
FreeImage_SetTransparencyTable	= $0000000180295f60	
FreeImage_SetTransparent	= $0000000180296010	
FreeImage_SetTransparentIndex	= $0000000180295eb0	
FreeImage_SwapColors	= $0000000180301410	
FreeImage_SwapPaletteIndices	= $00000001803010b0	
FreeImage_TagToString	= $00000001802f4f80	
FreeImage_TellMemory	= $000000018029a5e0	
FreeImage_Threshold	= $00000001802e2400	
FreeImage_TmoDrago03	= $00000001802e5460	
FreeImage_TmoFattal02	= $00000001802e5e20	
FreeImage_TmoReinhard05	= $00000001802e95d0	
FreeImage_TmoReinhard05Ex	= $00000001802e9600	
FreeImage_ToneMapping	= $00000001802ea0a0	
FreeImage_Unload	= $0000000180297030	
FreeImage_UnlockPage	= $00000001802ee920	
FreeImage_Validate	= $0000000180299780	
FreeImage_ValidateFromHandle	= $0000000180299810	
FreeImage_ValidateFromMemory	= $0000000180299690	
FreeImage_ValidateU	= $00000001802996f0	
FreeImage_WriteMemory	= $000000018029a580	
FreeImage_ZLibCompress	= $00000001802f0870	
FreeImage_ZLibCRC32	= $00000001802f08d0	
FreeImage_ZLibGUnzip	= $00000001802f0250	
FreeImage_ZLibGZip	= $00000001802f0710	
FreeImage_ZLibUncompress	= $00000001802f0810	

Last edited by RASHAD on Sat Oct 23, 2021 5:26 am, edited 1 time in total.
Egypt my love
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4636
Joined: Sun Apr 12, 2009 6:27 am

Re: Loading Media

Post by RASHAD »

Now Inner in return after cleaning my coding post your finals :mrgreen:
Good luck
Egypt my love
User avatar
Inner
PureBasic Expert
PureBasic Expert
Posts: 714
Joined: Fri Apr 25, 2003 4:47 pm
Location: New Zealand

Re: Loading Media

Post by Inner »

:D That would be why I didn't understand it's code of a much bigger project it appears, I'm missing Memory MemoryModule64.lib
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4636
Joined: Sun Apr 12, 2009 6:27 am

Re: Loading Media

Post by RASHAD »

if you still missing the lib save the next using Notepad.exe as MemoryModule64.lib
I am not sure if it will work ,I hope so
You can search RSBasic website maybe

Code: Select all

!<arch>
/               1373667707              0       237       `
   
  à  à  à  à  à  à  à  à  à  àMemoryFindResource MemoryFindResourceEx MemoryFreeLibrary MemoryGetProcAddress MemoryLoadLibrary MemoryLoadLibraryEx MemoryLoadResource MemoryLoadString MemoryLoadStringEx MemorySizeofResource 
/               1373667707              0       225       `
   à  
             MemoryFindResource MemoryFindResourceEx MemoryFreeLibrary MemoryGetProcAddress MemoryLoadLibrary MemoryLoadLibraryEx MemoryLoadResource MemoryLoadString MemoryLoadStringEx MemorySizeofResource 
//              1373667707              0       83        `
C:\Users\Thomas\Documents\Pelles C Projects\MemoryModule64\output\MemoryModule.obj 
/0              1373667707              100666  8871      `
d† {پàQj  ­       .text           أ  ـ   ں
      .     P`.pdata          گ   k  û      $   @ 0@.xdata          ہ   c              @ @@.data               #              @ Pہ.drectve        '   C               
  SVWATAUAVAWHƒى H‰L$`H‰T$hL‰أL‹cH‹·PHcزHچTI‰صE1ِé’   Aƒ} uBH‹D$h‹@8…ہ~wHcًH‰ٍA‹EJچ A¹   A¸   ے    I‰اD‰ّA‰EH‰ٌL‰ے1ہَھëAA‹E‰آA‹EJچ A¹   A¸   ے    I‰اA‹E‰ءA‹EH‰ئHt$`L‰ےَ¤D‰ّA‰EAƒئIƒإ(H‹·@A9ئŒ^ےےےHƒؤ A_A^A]A\_^[أfffگSVWATAUAVAWHƒى0H‰ثH‹·PHcزHچTH‰ضH‹H‹@0H؛    ےےےےH!ذH‰D$ 1ےéà   ‹F$©    A•زA¶آA‰ؤ‹F$©   @A•زA¶آA‰إ‹F$©   €A•زA¶آA‰ئ÷F$   tm‹F‰آ‹FHD$ H‰ءA¸ @  ے    ëF‹F…ہu$÷F$@   tH‹‹B ë÷F$€   tH‹‹B$…ہt‰آ‹FHD$ H‰ءLچL$,E‰ّے    ƒاHƒئ(ë1IcإIcشHءâHچآHچ    HذIcضD‹<گ÷F$   t‰Aپد   ë€H‹·@9اŒےےےHƒؤ0A_A^A]A\_^[أfffگffگffگffگSH‹AH‹	Hپء°   ƒy „   ‹	Hءƒ9 tuD‹IہLچIE1زëHE·AءûfA‹fپمے·غE…غt'AƒûtE…غ|Aƒû
uLcغMأIëLcغMأ‰سAAƒآIƒءE‰س‹YHƒëHرëI9غr¦D‹ALءƒ9 u‹[أffگffگSVWATAUAVAWHƒى H‰ثH‹sH‹Hگ   ƒx u
؟   éQ  ‹ Lچ$0؟   é#  H‹S8A‹D$Hچ0ےS I‰إM…ي„ب   ‹CƒہHcہHچإ    H‹Kè    H…ہ„´   H‰C‹CgچP‰SHcہH‹SL‰,آAƒ<$ t
A‹$Lچ40ë	A‹D$Lچ40A‹D$Lچ<0Iƒ> tUH¸       €I…tL‹C8I‹H%ےے  H‰آL‰éےS(I‰ëI‹HًL‹C8HچPL‰éےS(I‰Iƒ? tIƒئIƒاIƒ> u«…ےt2IƒؤëC1ےëٍ¹~   ے    1ےëNH‹S8L‰éےS0¹   ے    1ےë5H‹S8L‰éےS0¹   ے    ë؛   L‰لے    …ہuAƒ|$ …؟‏ےے‰ّHƒؤ A_A^A]A\_^[أfffگfffگffگffگے%    fffگffگffگے%    fffگffگffگے%    fffگffگffگHƒى(1ہH‰D$ Lچ
قےےےLچاےےےHچ°ےےےè   Hƒؤ(أffگffگSVWATAUAVAWHƒى H‰ثH‰ضL‰اL‰L$xI‰ـfAپ<$MZ…”  A‹D$<HcہLچ,Aپ} PE  t¹ء   ے    1ہé¨  A‹EP‰آI‹E0H‰ءA¹   A¸ 0  ے    I‰ئM…ِu&A‹EP‰آA¹   A¸ 0  1ةے    I‰ئM…ِ„.  ے    H‰ءA¸@   1زے    I‰اM…ے„  M‰wAاG    IاG    AاG    I‰w I‰(H‹D$xI‰G0H‹„$€   I‰G8A‹ET‰آA¹   A¸   L‰ٌے    A‹T$<AUT‰رH‰اL‰وَ¤A‹T$<HcزHآI‰I‹L‰p0M‰ّL‰êH‰ظèرùےےL‰ًI+E0H‰آH…زtL‰ùèْûےےL‰ùè’üےے…ہt6L‰ùè–ْےےI‹ƒx( t9I‹‹@(LًM1ہ؛   L‰ٌےذ…ہu¹Z  ے    L‰ùè@  1ہëIAاG   L‰ّë<¹ء   ے    1ہë-¹   ے    1ہë¹   ے    A¸ €  1زL‰ٌے    1ہHƒؤ A_A^A]A\_^[أffگSVWATAUAVHƒى(H‰سH‹qH‹	Hپءˆ   ƒy tn‹Hچ<0ƒ tqƒ tk‹G Lچ$0‹G$Lچ,0E1ِë A‹$Hچ0H‰ظè    …ہtAƒئIƒؤIƒإD;wrعƒثےëA·] ƒûےt2;_v<¹   ے    1ہë@¹   ے    1ہë1¹   ے    1ہë"¹   ے    1ہëغغHcأ‹WHٍ‹HًHƒؤ(A^A]A\_^[أSVHƒى(H‰ثH…غ„ˆ   ƒ{ tH‹‹@(HCH‹KM1ہ1زےذاC    Hƒ{ t21ِë HcئH‹SHƒ<آ tH‹S8H‹KH‹ءےS0ƒئ;s|غH‹Kè    Hƒ{ tH‹KA¸ €  1زے    ے    H‰ءI‰ط1زے    Hƒؤ(^[أfffگfffگfffگffگfE1ةé  fffگffگSVWATAUAVAWHƒى@H‰Œ$€   H‰سL‰ئHچCH‰D$(H‰ًHءèH…ہtQ€>#u@HاD$0    HچNA¸
   HچT$0è    ·ّپےےے  H‹L$0ے    …ہu	·اHcہH‰ئH‰ًHءèH…ہuxf‰ً·{·SgDچ$:A9üvBgBچ'A‰صAريD‰êH‹L$(‹رf9بrv3D9ïtD‰ïëE9ىtE‰ىëgEچeےëgAچ}A9üw¾HاD$     éô   H‹D$(HچذH‰T$ éل   D·cE…ن†°   1ے1غgBچ'A‰إAريE‰îH‹D$(B‹ً%ےےےI‰اL¼$€   H…غtA·…ہ~A·HcذH‰ظè    H…ہtYH‰أA·LcہIچWH‰ظè    A·LcہH‰عH‰ٌè    …ہ|…ہ~AA9‎tD‰ïëE9هtE‰ىëgEچeےëgAچ}A9ü‡_ےےےHاD$     ëHاD$     1غëH‹D$(Nچ4ًL‰t$ H‰ظè    H‹D$ Hƒؤ@A_A^A]A\_^[أfffگfffگfffگffگSVWATAUAVHƒى(H‰سL‰ئfD‰دL‹aH‹	Lچ©ک   Aƒ} „¬   f…ےu	ے    f‰اA‹E Nچ4 I‰ًL‰ٍL‰ٌè¬‎ےےH…ہ„ژ   ‹@%ےےےA‹U LâHآI‰طL‰ٌè†‎ےےH…ہt{‹@%ےےےA‹U LâHچ·اHcہI‰ہH‰عL‰ٌèZ‎ےےH‰ئH…ِufƒ{ u¹  ے    1ہëCHچs‹F%ےےےA‹U LâHذë+¹  ے    1ہë¹  ے    1ہë
¹  ے    1ہHƒؤ(A^A]A\_^[أfffگfffگffگ‹BأfffگfffگfffگH‹A‹HذأffگffگHƒى(f1ہH‰D$ è   Hƒؤ(أfffگffگffگSVWATHƒى(H‰ث‰ضL‰اE‰جfD‹L$pE…نu1ہé£   ‰ًءèƒہ·ہHcہH‰آA¸   H‰ظè[‏ےےH‰آH…زteH‰ظè{ےےےƒو‰ٍƒî…زt%fffگfffگfffگffگ·ƒآHcزHچP‰ٍƒî…زuêfƒ8 t-·D9مrD‰مë‰عئ: A‰طHچPH‰ùè    ‰طëئ 1ہë¹  ے    ئ 1ہHƒؤ(A\_^[أi       ں       ژ      ض      ô  2    Q      
      #      <      L      ‚      ’      ¢      *      P      r      „      •      ُ      „      ¨      ·      ئ      ×      E      z      ‰      ک      §      9      R      X      f      à      ِ      ـ	      ÷	      	
       h
      ا
      L      s      ‚      ‘      ڑ      °                                                                                                                                                          -       •       –       3       —       ک       <       ™        ڑ    $   C    (   ›    ,   œ    0   #    4   ‌    8   ‍    <   $    @   ں    D        H   %    L   ،    P   ¢    T   &    X   £    \   ¤    `   o    d   ¥    h   ¦    l   (    p   §    t   ¨    x   +    |   ©    €   ھ    „   ,    ˆ   «    Œ   ¬     2ً	àذہp`0 Rً	àذہp`0 0   2ً	àذہp`0 B   2ً	àذہp`0
 
B	àذہp`0   B`0   rً	àذہp`0
 
B	àذہp`0   B  	 	Bہp`0                 €       @    -defaultlib:crt64 -defaultlib:kernel32.file       ‏ے  gC:\Users\Thomas\Documents\Pelles C Projects\MemoryModule64\MemoryModule.c                 .text          أ  .             .pdata         گ   $             .xdata         ہ                 .data                            wcstombs         strtol           realloc          free                                                 -                @                O                b                w                †                –                «                ½                ذ                ه            _stricmp         strncmp          .drectve       '                     ÷   °          	  à            ً          2  ذ          D  €          W  گ
          l  °          پ  ہ          ”  ذ          ¥  ً          ¸          @476    ج       @473    :       @477    ƒ       @474    ؤ           إ              ص  ً       @504          @501    4      @514    م      @502    ع      @518    ”      @543    ؟      @520    ¬      @519    »          و  @      @552    ط      @554    c      @561    ؛      @558    r      @563    ²      @565    §          ü  à      @641          @599    `      @603    B      @600          @643          @645          @618    ˆ      @619    ‘      @622    ُ      @620           @624    ت      @629    ل      @654    ے      @657    +          
  €            گ          *         @716    ،      @692    5      @690    ف      @697    ‚      @721    °      @723    ؟      @708    F      @711    ˆ      @712    œ      @714    ”      @755    ‚      @742    ‘      @747    Y      @744    9      @761    d      @746    i      @764           @752    ¯      @739    آ      @773    j      @775          @778    =      @782    /      @779          @783    ,      @788    V          7  گ      @861    	      @812    	      @818    ‹	      @901    j	      @819    (	      @865    O	      @827    x	      @829    `	      @826    e	      @824    Y	      @832    l
      @902    I
      @833    ‌	      @837    ر	      @836    è	      @908    >
      @883    
      @851    V
      @853    0
      @850    5
      @848    )
      @835    d
      @926    l      @914    خ
      @929    {      @931    ٹ      @923    X      @924    T      @912    —      @954          @953    ¹      @973    ¢      @961    v      @959    `      @979    ©      @966    ‰      @967    ڈ          R  ى           d              q  3          ‡             ”  ع          ¯  (           ¼  r          ز  0           ك  ع          ِ  D             ي            L           )  ذ          C  `           P  q          g  t           t  پ
          ”  €           ،  ¥          »  ”           ة  و          ك  ¨           ي  أ            °         __imp_GetThreadLocale __imp_IsBadReadPtr __imp_LoadLibraryA __imp_lstrlenA __imp_SetLastError __imp_GetProcessHeap __imp_HeapFree __imp_HeapAlloc __imp_VirtualProtect __imp_VirtualFree __imp_VirtualAlloc __imp_GetProcAddress __imp_FreeLibrary MemoryLoadLibrary MemoryLoadLibraryEx MemoryGetProcAddress MemoryFreeLibrary MemoryFindResource MemoryFindResourceEx MemorySizeofResource MemoryLoadResource MemoryLoadString MemoryLoadStringEx CopySections ProtectionFlags FinalizeSections PerformBaseRelocation BuildImportTable _LoadLibrary _GetProcAddress _FreeLibrary _MemorySearchResourceEntry ..?X$CopySections ..?xdatasym1 ..?X$FinalizeSections ..?xdatasym2 ..?X$PerformBaseRelocation ..?xdatasym3 ..?X$BuildImportTable ..?xdatasym4 ..?X$MemoryLoadLibrary ..?xdatasym5 ..?X$MemoryLoadLibraryEx ..?xdatasym6 ..?X$MemoryGetProcAddress ..?xdatasym7 ..?X$MemoryFreeLibrary ..?xdatasym8 ..?X$_MemorySearchResourceEntry ..?xdatasym9 ..?X$MemoryFindResourceEx ..?xdatasym10 ..?X$MemoryLoadString ..?xdatasym11 ..?X$MemoryLoadStringEx ..?xdatasym12 

Egypt my love
User avatar
Inner
PureBasic Expert
PureBasic Expert
Posts: 714
Joined: Fri Apr 25, 2003 4:47 pm
Location: New Zealand

Re: Loading Media

Post by Inner »

yeah, that's not going to work it's a binary file :)

I found the original author of the lib on github however the sources do not have a compiled version of the lib, while I do have visual studio installed VS2022 in fact, I've no clue how to use that heap ..... :)

.. didn't think I'd say this but, it was easier to code the Android app than on Windows :)
User avatar
Inner
PureBasic Expert
PureBasic Expert
Posts: 714
Joined: Fri Apr 25, 2003 4:47 pm
Location: New Zealand

Re: Loading Media

Post by Inner »

Success!

Main.pb

Code: Select all

IncludeFile "freeimage_resource.pbi"

Import "FreeImage.lib" 
  FreeImage_GetVersion() As "FreeImage_GetVersion"
    
  CompilerIf #PB_Compiler_Unicode = #False
    FreeImage_Load(fif.l,filename.p-ascii,flags.l=0) As "FreeImage_Load" ; filename = @ptr.s
  CompilerElse
    FreeImage_Load(fif.l,filename.p-unicode,flags.l=0) As "FreeImage_LoadU" ; filename = @ptr.s ; 
  CompilerEndIf
  
  FreeImage_GetWidth(dib.l) As "FreeImage_GetWidth"; dib = *ptr.FIBITMAP 
  FreeImage_GetHeight(dib.l) As "FreeImage_GetHeight"; dib = *ptr.FIBITMAP 
  FreeImage_GetBits(dib.l) As "FreeImage_GetBits" ; dib = *ptr.FIBITMAP 
  FreeImage_GetInfoHeader(dib.l) As "FreeImage_GetInfoHeader"; dib = *ptr.FIBITMAP   
  FreeImage_GetInfo(dib.l) As "FreeImage_GetInfo"; dib = *ptr.FIBITMAP 
  FreeImage_Unload(dib.l) As "FreeImage_Unload" ; dib = *ptr.FIBITMAP
  
EndImport

loadFile.s = "H:\AndriodStudio\CardGame.pb\MelsDeckNoMedia\Images\23420092.webp"

hDib = FreeImage_Load(#FIF_WEBP,loadFile,#JPEG_DEFAULT)
Debug hBitMap

If OpenWindow(0, 0, 0, FreeImage_GetWidth(hDib), FreeImage_GetHeight(hDib), "Image with FreeImage", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)  
  hDC = GetWindowDC_(WindowID(0)) 
  SetStretchBltMode_(hDC, #COLORONCOLOR)
  StretchDIBits_(hDC, 10, GetSystemMetrics_(#SM_CYCAPTION)+10, FreeImage_GetWidth(hDib), FreeImage_GetHeight(hDib), 0, 0, FreeImage_GetWidth(hDib), FreeImage_GetHeight(hDib), FreeImage_GetBits(hDib), FreeImage_GetInfo(hDib), #DIB_RGB_COLORS, #SRCCOPY)
  
  
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

FreeImage_Unload(hBitMap)
As for the resource file I would use the one above, provided by Rashad.

That said, I don't think FreeImage supports (animations! as in the library doesn't have play/pause etc.) so it looks like path of using FreeImage is a bit of a dead end, and as I just confirmed FreeImage suffers from the same problem PureBasic does it doesn't support loading images greater than 8Bit when it comes to GIF, so I guess the hunt continues for an SDK that properly supports the image formats I need.

Never the less at least the code above might help someone someday.
Post Reply