Please help

Just starting out? Need help? Post your questions and find answers here.
xxfreshman
User
User
Posts: 17
Joined: Mon Jun 13, 2016 8:22 pm

Please help

Post by xxfreshman »

Code: Select all

UsePNGImageEncoder()

Procedure RedFilter(x, y, QuellFarbe, ZielFarbe)
  ProcedureReturn RGBA(Red(QuellFarbe), Red(QuellFarbe), Red(QuellFarbe), Alpha(QuellFarbe))
EndProcedure

Directory$ = GetCurrentDirectory() ; Listet alle Dateien und Ordner im 'Home'-Verzeichnis auf
If ExamineDirectory(0, Directory$, "*.bmp")  
  While NextDirectoryEntry(0)
    If DirectoryEntryType(0) = #PB_DirectoryEntry_File
      Type$ = "[File] "
      Size$ = " (Size: " + DirectoryEntrySize(0) + ")"
      If LoadImage(LoadPic, DirectoryEntryName(0))
        IMX=ImageWidth(LoadPic)
        IMY=ImageHeight(LoadPic) 
        IMD=ImageDepth(LoadPic)
        If CreateImage(EndPic,IMX,IMY,IMD)
          StartDrawing(ImageOutput(EndPic))
          DrawingMode(#PB_2DDrawing_CustomFilter )
          CustomFilterCallback(@RedFilter())
          DrawImage(ImageID(LoadPic), IMX, IMY) 
          StopDrawing()
        EndIf    
        SaveImage(EndPic, DirectoryEntryName(0)+"Red.png",#PB_ImagePlugin_PNG)
        FreeImage(EndPic)
        ;FreeImage(EndPic)
      EndIf
    Else
      Type$ = "[Directory] "
      Size$ = "" ; A directory doesn't have a size
    EndIf
    
    Debug Type$ + DirectoryEntryName(0) + Size$
  Wend
  FinishDirectory(0)
EndIf
Why are the pictures are still black?

// Edit: Code Tags added (Kiffi)

@xxfreshman: Please choose a more meaningful subject
Mesa
Enthusiast
Enthusiast
Posts: 433
Joined: Fri Feb 24, 2012 10:19 am

Re: Please help

Post by Mesa »

maybe like that:

Code: Select all

UsePNGImageEncoder() 

LoadPic=0 ;<----
EndPic=1;<----

	Procedure RedFilter(x, y, QuellFarbe, ZielFarbe) 
		ProcedureReturn RGBA(Red(QuellFarbe), Red(ZielFarbe), Red(ZielFarbe), Alpha(ZielFarbe)) ;<----
	EndProcedure 
	 
	Directory$ = GetCurrentDirectory() ; Listet alle Dateien und Ordner im 'Home'-Verzeichnis auf 
	If ExamineDirectory(0, Directory$, "*.bmp")   
		While NextDirectoryEntry(0) 
			If DirectoryEntryType(0) = #PB_DirectoryEntry_File 
				Type$ = "[File] " 
				Size$ = " (Size: " + DirectoryEntrySize(0) + ")" 
				If LoadImage(LoadPic, DirectoryEntryName(0)) 
					IMX=ImageWidth(LoadPic) 
					IMY=ImageHeight(LoadPic)  
					IMD=ImageDepth(LoadPic) 
					
					If CreateImage(EndPic,IMX,IMY,IMD) 
					  StartDrawing(ImageOutput(EndPic)) 
					  DrawImage(ImageID(LoadPic), 0, 0)
						DrawingMode(#PB_2DDrawing_CustomFilter ) 
						CustomFilterCallback(@RedFilter()) 
						Box(0, 0, IMX, IMY,RGBA(255,0,0,255))
 
						StopDrawing() 
					EndIf  
; 					SaveImage(EndPic, DirectoryEntryName(0)+"Red.bmp") 
					SaveImage(EndPic, DirectoryEntryName(0)+"Red.png",#PB_ImagePlugin_PNG) 
					FreeImage(EndPic) 
					;FreeImage(EndPic) 
					RunProgram(DirectoryEntryName(0)+"Red.png")
				EndIf 
			Else 
				Type$ = "[Directory] " 
				Size$ = "" ; A directory doesn't have a size 
			EndIf 
			 
; 			Debug Type$ + DirectoryEntryName(0) + Size$ 
		Wend 
		FinishDirectory(0) 
	EndIf
M.
User avatar
mk-soft
Always Here
Always Here
Posts: 6204
Joined: Fri May 12, 2006 6:51 pm
Location: Germany

Re: Please help

Post by mk-soft »

Use constants ...

Code: Select all

Enumeration ; Pictures
  #LoadPic
  #EndPic
EndEnumeration
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
Post Reply