Seite 1 von 1

Halbtransparenten Farbverlauf auf Bild legen

Verfasst: 07.03.2021 15:45
von Delle
Hallo,

ich möchte auf ein Foto (.jpg) einen generierten Farbverlauf legen und es wieder abspeichern.

Beispiel: vertikaler Farbverlauf, oben transparent, ganz unten 100% weiß.

Geht das mit den nativen Befehlen oder muss GDI her?

Ich werd hier nicht ganz schlau draus: https://www.purebasic.com/documentation ... gmode.html

Danke!

Re: Halbtransparenten Farbverlauf auf Bild legen

Verfasst: 07.03.2021 17:29
von STARGÅTE
Klar das geht mit den Drawing2D Befehlen:

Code: Alles auswählen

Enumeration
	#Window
	#Gadget1
	#Gadget2
	#Gadget3
	#Image1
	#Image2
	#Image3
EndEnumeration


; Irgendein Foto
If CreateImage(#Image1, 200, 200, 32)
	If StartDrawing(ImageOutput(#Image1))
		Box(0,0,100,100,$FF0000)
		Box(100,0,100,100,$00FF00)
		Box(0,100,100,100,$0000FF)
		Box(100,100,100,100,$00FFFF)
		StopDrawing()
	EndIf
EndIf

; Irgendein Farbverlauf mit Transparenz
If CreateImage(#Image2, 200, 200, 32, #PB_Image_Transparent)
	If StartDrawing(ImageOutput(#Image2))
		DrawingMode(#PB_2DDrawing_AllChannels|#PB_2DDrawing_Gradient)
		LinearGradient(0,0,0,199)
		GradientColor(0.0, $00FFFFFF)
		GradientColor(1.0, $FFFFFFFF)
		Box(0,0,200,200)
		StopDrawing()
	EndIf
EndIf

; Überlagerung beider Bilder
If CreateImage(#Image3, 200, 200, 32, #PB_Image_Transparent)
	If StartDrawing(ImageOutput(#Image3))
		DrawingMode(#PB_2DDrawing_AlphaBlend)
		DrawAlphaImage(ImageID(#Image1), 0, 0) ; Irgendein Foto
		DrawAlphaImage(ImageID(#Image2), 0, 0) ; Irgendein Farbverlauf
		StopDrawing()
	EndIf
EndIf


OpenWindow(#Window, 0, 0, 800, 300, "Vector Canvas Gadget", #PB_Window_MaximizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered)
ImageGadget(#Gadget1, 50, 50, 200, 200, ImageID(#Image1))
ImageGadget(#Gadget2, 300, 50, 200, 200, ImageID(#Image2))
ImageGadget(#Gadget3, 550, 50, 200, 200, ImageID(#Image3))

Repeat
	Select WaitWindowEvent()
		Case #PB_Event_CloseWindow
			Break
	EndSelect
ForEver

End

Re: Halbtransparenten Farbverlauf auf Bild legen

Verfasst: 09.03.2021 22:21
von Delle
Geilomat! Vielen Dank! War also "ungefähr" auf dem richtigen Weg, glaube aber allein hätte ich das nicht hinbekommen.