Seite 4 von 5

Re: GraphicalDLL VC++ --> PB

Verfasst: 17.04.2010 20:51
von SoS
Das ist ja das schöne,es passiert nix ausser das da grössere Image angezeigt wird.

Von blending keine Spur.

Bei einem Blendingparameter von 127 sollten beide Images zu sehen sein.

So hab ich das getestet:

Code: Alles auswählen

OpenWindow(#Window_0,0,0,480, 272,"grafikdll Test", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
CreateGadgetList(WindowID(#Window_0))   
CreateImage(#Image_1,480,272,24)
ImageGadget(#Gadget_1, 0, 0, 480, 272,ImageID(#Image_1) );

FileName$ = OpenFileRequester("SELECT IMAGE","","All supported formats|*.bmp;*.ico;*.cur;*.gif;*.jpg;*.jpeg;*.wmf;*.emf;*.png;*.tiff;*.tga|TGA image (*.tga)|*.tga|TIFF image (*.tiff)|*.tiff|PNG image (*.png)|*.png|BMP image (*.bmp)|*.bmp|Icon file (*.ico)|*.ico|Cursor file (*.cur)|*.cur|JPEG image (*.jpg;*.jpeg)|*.jpg;*.jpeg|GIF image (*.gif)|*.gif|Windows Metafile (*.wmf)|*.wmf|Enhanced Metafile (*.emf)|*.emf",0)  
LoadImage(#Image_0, FileName$)
FileName$ = OpenFileRequester("SELECT IMAGE","","All supported formats|*.bmp;*.ico;*.cur;*.gif;*.jpg;*.jpeg;*.wmf;*.emf;*.png;*.tiff;*.tga|TGA image (*.tga)|*.tga|TIFF image (*.tiff)|*.tiff|PNG image (*.png)|*.png|BMP image (*.bmp)|*.bmp|Icon file (*.ico)|*.ico|Cursor file (*.cur)|*.cur|JPEG image (*.jpg;*.jpeg)|*.jpg;*.jpeg|GIF image (*.gif)|*.gif|Windows Metafile (*.wmf)|*.wmf|Enhanced Metafile (*.emf)|*.emf",0)  
LoadImage(#Image_1, FileName$)
hdc2=StartDrawing(ImageOutput(#Image_1)) 
	hdc0 = CreateCompatibleDC_(#null)    
	SelectObject_(hdc0, ImageID(#Image_0)) 
	
	
	hdc1 = CreateCompatibleDC_(#null)   
	SelectObject_(hdc1, ImageID(#Image_1)) 
	
	d=0
	start=timeGetTime_()
	
	GPX_AlphaBlend (hdc2,hdc0,hdc1,127,@d)
	
	ende=timeGetTime_()-start
	DeleteDC_(hdc0)
	DeleteDC_(hdc1)
StopDrawing() 
 
SetGadgetState(#Gadget_1, ImageID(#Image_1)) 
MessageRequester("time", Str(ende)+" ms")
Repeat

Re: GraphicalDLL VC++ --> PB

Verfasst: 24.04.2010 05:06
von DrShrek
Kurzer Statusbericht:
StaticLib ist generiert und die GraphicEffekte lassen sich über PB direkt aufrufen

Nächster Schritt:
Fehlerhafte Funktionen fixen.

Re: GraphicalDLL VC++ --> PB

Verfasst: 24.04.2010 12:25
von SoS
Dr. Shrek hat geschrieben: Nächster Schritt:
Fehlerhafte Funktionen fixen.
Ich wede mal schauen ob ich noch ein bischen Arbeit für Dich finde. :lol:

Edit:
Schon was gefunfen.
Der Parameter den ich auf #Null gesetz habe kann weg.
* Flag => Not used yet

Code: Alles auswählen

GPX_PolarCoordinates(hdc2,hdc1,#Null,@dd)
oder Du machst Flag zu ner Double und änderst

Code: Alles auswählen

Angle = atan2 (nh, nw);
in

Code: Alles auswählen

Angle = atan2 (nh, nw) * Flag;

Re: GraphicalDLL VC++ --> PB

Verfasst: 24.04.2010 17:50
von DrShrek
@SoS,
Ich schicke Dir, die von mir adaptierte GraphicalLib inkl. Testprogram, sobald ich es fertig habe.
Mit dem kannst Du dann die ganzen Effekte sicher noch sinnvoller querchecken.

Re: GraphicalDLL VC++ --> PB

Verfasst: 24.04.2010 21:18
von SoS
Dr. Shrek hat geschrieben:@SoS,
Ich schicke Dir, die von mir adaptierte GraphicalLib inkl. Testprogram, sobald ich es fertig habe.
Mit dem kannst Du dann die ganzen Effekte sicher noch sinnvoller querchecken.
Alles klar,dann brauch nicht noch lange rumsuchen.

Re: GraphicalDLL VC++ --> PB

Verfasst: 05.05.2010 07:22
von DrShrek
@SoS,
Du hast eine PN: Testprogram + DLL gehen an Dich zum 'Retest'.
Falls Du noch was findest, was nicht passt, einfach wieder PN.

Danke
DrShrek

Re: GraphicalDLL VC++ --> PB

Verfasst: 23.05.2012 13:21
von dige
Hallo, wie ist denn hier der letzte Stand? Probiere gerade die GraphicalDLL.lib (vom 12.05.2010)
aus und da scheint GBX_StretchHistogram() nichts zu bewirken...

Re: GraphicalDLL VC++ --> PB

Verfasst: 23.05.2012 22:53
von DrShrek
dige hat geschrieben:Hallo, wie ist denn hier der letzte Stand? Probiere gerade die GraphicalDLL.lib (vom 12.05.2010)
aus und da scheint GBX_StretchHistogram() nichts zu bewirken...
Den letzen Stand gibt es hier:
http://www.morty-productions.de/icesoft ... icalDLL%29
Der Fehler ist aber noch drinnen:

"Verbesserung" bringt folgender Codeabschnitt( in GBX_Tester.pb):

Code: Alles auswählen

		Case 16 ;-GBX_StretchHistogram
			SetGadgetText(Text_23,StrF(GetGadgetState(TrackBar_2)/255*2,2))
			hdc2 = StartDrawing(ImageOutput(DESt_Image))
				hdc1 = CreateCompatibleDC_(hdc2)  
				SelectObject_(hdc1 , ImageID(SRC_Image_1))
				start = timeGetTime_()
				GBX_StretchHistogram(hdc2,hdc1,PointColor,GetGadgetState(TrackBar_2)/255*2,  @Result)
				ende = timeGetTime_() - start
				DeleteDC_ (hdc1)
			StopDrawing()

Re: GraphicalDLL VC++ --> PB

Verfasst: 24.05.2012 06:42
von dige
Hi DrShrek, Danke für Deine Rückmeldung. Laut der PB-Version von SoS
müsste eigentlich als Parameter das Flag für den Farbkanal angegeben
werden, oder? Aber das zeigt auch keine Wirkung...

Code: Alles auswählen

GBX_StretchHistogram(hdc2,hdc1,#HST_COLOR,GetGadgetState(TrackBar_2)/255*2,  @Result)

Re: GraphicalDLL VC++ --> PB

Verfasst: 31.05.2012 00:08
von DrShrek
dige hat geschrieben:Hi DrShrek, Danke für Deine Rückmeldung. Laut der PB-Version von SoS
müsste eigentlich als Parameter das Flag für den Farbkanal angegeben
werden, oder? Aber das zeigt auch keine Wirkung...

Code: Alles auswählen

GBX_StretchHistogram(hdc2,hdc1,#HST_COLOR,GetGadgetState(TrackBar_2)/255*2,  @Result)
Funktioniert eigentlich die SoS (PB nativ) Version richtig?