Image323.dll

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Image323.dll

Beitrag von roherter »

Ich habe mal angefangen Proceduren zu dieser dll zu schreiben Sie ist Freeware und eigentlich für Libertybasic geschrieben worden mit ihr können u.a. Gif geladen werden genaueres könnt ihr hier nachlesen dort gibt es auch die dll.

http://www.alycesrestaurant.com/dll.htm

Code: Alles auswählen

Global lib.l
Global himage
Procedure InitImage323()
  lib.l=OpenLibrary(#PB_Any,"image323.dll")
EndProcedure
Procedure IMG_Loadimagefile(hwnd,Image$)
  himage=CallFunction(lib.l,"LoadImageFile",hwnd,Image$)
  ProcedureReturn himage
EndProcedure
Procedure IMG_Blur(hbmp,hwnd)
  himage=CallFunction(lib.l,"Blur",hbmp,hwnd)
  ProcedureReturn himage
EndProcedure
Procedure IMG_Negativ(hbmp,hwnd)
  himage=CallFunction(lib.l,"Negative",hbmp,hwnd)
  ProcedureReturn himage
EndProcedure
Procedure IMG_Brightness(hbmp,hwnd,nBright)
  himage=CallFunction(lib.l,"Brightness",hbmp,hwnd,nBright)
  ProcedureReturn himage
EndProcedure
Procedure IMG_DuoTone(hbmp,hwnd,nRed,nGreen,nBlue)
  himage=CallFunction(lib.l,"DuoTone",hbmp,hwnd,nRed,nGreen,nBlue)
  ProcedureReturn himage
EndProcedure
Procedure IMG_Soften(hbmp,hwnd)
  himage = CallFunction(lib.l,"Soften",hbmp,hwnd)
  ProcedureReturn himage 
EndProcedure
Procedure IMG_Bitmapwidth(hbmp)
  bmpwidth = CallFunction(lib.l,"BitmapWidth",hbmp)
  ProcedureReturn bmpwidth
EndProcedure
Procedure IMG_Bitmapheight(hbmp)
  bmpheight = CallFunction(lib.l,"BitmapHeight",hbmp)
  ProcedureReturn bmpheight
EndProcedure
Procedure IMG_ChangeSize(hbmp,hwnd,nWidth,nHeight)
  chsize=CallFunction(lib.l,"ChangeSize",hbmp,hwnd,nWidth,nHeight)
  ProcedureReturn chsize
EndProcedure
  Procedure IMG_Contrast(hbmp,hwnd)
    himage=CallFunction(lib.l,"Contrast",hbmp,hwnd)
    ProcedureReturn himage
 
EndProcedure
    Procedure Freeimage323()
  CloseLibrary(lib.l)
EndProcedure
Zuletzt geändert von roherter am 18.05.2006 21:37, insgesamt 1-mal geändert.
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Habe noch ein paar funktionen hinzugefügt s.o.
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Hab da mal nen kleinen Verbesserungsvorschlag, zumindest für PB 4 solltest Du es vielleicht so machen:

Code: Alles auswählen

Prototype.l IMG_Loadimagefile(hWnd.l, Image.s)
Prototype.l IMG_Blur(hBmp.l, hWnd.l)
; ...

Procedure InitImage323()
  Shared image323dll.l
  image323dll.l = OpenLibrary(#PB_Any,"image323.dll")
  If image323dll
    Global IMG_Loadimagefile.IMG_Loadimagefile = GetFunction(image323dll.l, "LoadImageFile")
    Global IMG_Blur.IMG_Blur = GetFunction(image323dll.l, "Blur")
    ; ...
    ProcedureReturn #True
  EndIf
  ProcedureReturn #False
EndProcedure

Procedure Freeimage323()
  Shared image323dll.l
  If image323dll.l
    CloseLibrary(image323dll.l)
    image323dll.l = 0
  EndIf
EndProcedure
nur ergänzen, wo die ... sind :wink:

// edit: fehlende Kommas ergänzt
Zuletzt geändert von ts-soft am 18.05.2006 22:33, insgesamt 1-mal geändert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Alles klar wird gemacht wenn ich alle funktionen drin habe stelle ichs wieder hier rein danke für deinen Tip. :allright:
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Antworten