GraphicalDLL VC++ --> PB

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
SoS
Beiträge: 340
Registriert: 29.08.2004 09:31
Kontaktdaten:

Re: GraphicalDLL VC++ --> PB

Beitrag 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
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: GraphicalDLL VC++ --> PB

Beitrag von DrShrek »

Kurzer Statusbericht:
StaticLib ist generiert und die GraphicEffekte lassen sich über PB direkt aufrufen

Nächster Schritt:
Fehlerhafte Funktionen fixen.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
SoS
Beiträge: 340
Registriert: 29.08.2004 09:31
Kontaktdaten:

Re: GraphicalDLL VC++ --> PB

Beitrag 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;
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: GraphicalDLL VC++ --> PB

Beitrag 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.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
SoS
Beiträge: 340
Registriert: 29.08.2004 09:31
Kontaktdaten:

Re: GraphicalDLL VC++ --> PB

Beitrag 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.
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: GraphicalDLL VC++ --> PB

Beitrag 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
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
dige
Beiträge: 1235
Registriert: 08.09.2004 08:53

Re: GraphicalDLL VC++ --> PB

Beitrag 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...
"Papa, ich laufe schneller - dann ist es nicht so weit."
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: GraphicalDLL VC++ --> PB

Beitrag 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()
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
dige
Beiträge: 1235
Registriert: 08.09.2004 08:53

Re: GraphicalDLL VC++ --> PB

Beitrag 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)
"Papa, ich laufe schneller - dann ist es nicht so weit."
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: GraphicalDLL VC++ --> PB

Beitrag 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?
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Antworten