Just starting out? Need help? Post your questions and find answers here.
-
xxfreshman
- User

- Posts: 17
- Joined: Mon Jun 13, 2016 8:22 pm
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

- Posts: 433
- Joined: Fri Feb 24, 2012 10:19 am
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.
-
mk-soft
- Always Here

- Posts: 6205
- Joined: Fri May 12, 2006 6:51 pm
- Location: Germany
Post
by mk-soft »
Use constants ...
Code: Select all
Enumeration ; Pictures
#LoadPic
#EndPic
EndEnumeration