You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
1.7 KiB
87 lines
1.7 KiB
; This is a test file for kate's PureBasic highlighting.
|
|
|
|
; BMP2x Converter by Sven Langenkamp
|
|
|
|
UseJPEGImageEncoder()
|
|
UsePNGImageEncoder()
|
|
|
|
Declare Convert(JPEG)
|
|
|
|
Enumeration 1
|
|
#JPEG
|
|
#PNG
|
|
EndEnumeration
|
|
|
|
; BEGIN section
|
|
|
|
|
|
; END
|
|
|
|
Global Count
|
|
Global file.s
|
|
Global filename.s
|
|
Global fileext.s
|
|
Global OutputFormat
|
|
Global JPEGQuality
|
|
|
|
Count = 0
|
|
OutputFormat = 1
|
|
JPEGQuality = -1
|
|
|
|
; MAIN PROGRAM------------------------------------------------------------------
|
|
|
|
;Request Options
|
|
PrintN("Output Format")
|
|
PrintN(" [1] JPEG")
|
|
PrintN(" [2] PNG")
|
|
Print ("> ")
|
|
OutputFormat = Int(Input())
|
|
|
|
Select OutputFormat
|
|
Case #JPEG:
|
|
fileext = ".jpg"
|
|
;Request JPEG Quality
|
|
PrintN("")
|
|
PrintN("JPEG Quality")
|
|
PrintN(" [0-10]")
|
|
Print ("> ")
|
|
JPEGQuality = Int(Input())
|
|
|
|
Case #PNG:
|
|
fileext = ".png"
|
|
EndSelect
|
|
|
|
;Convert all BMP files in the current directory
|
|
ExamineDirectory(0, "", "*.bmp")
|
|
While NextDirectoryEntry()
|
|
file = DirectoryEntryName()
|
|
filename = GetFilePart(file)
|
|
|
|
If LoadImage(0, file)
|
|
Select OutputFormat
|
|
Case #JPEG:
|
|
Convert(JPEGQuality)
|
|
|
|
Case #PNG:
|
|
Convert(-1)
|
|
EndSelect
|
|
Count = Count +1
|
|
EndIf
|
|
|
|
Wend
|
|
|
|
PrintN(Str(Count) + " files converted")
|
|
CloseConsole()
|
|
|
|
; PROCUDURES--------------------------------------------------------------------
|
|
|
|
Procedure Convert(JPEG)
|
|
Shared filename, fileext
|
|
|
|
If JPEG > -1
|
|
SaveImage(0, filename + fileext, #PB_ImagePlugin_JPEG, JPEG)
|
|
Else
|
|
SaveImage(0, filename + fileext, #PB_ImagePlugin_PNG)
|
|
EndIf
|
|
PrintN(file + " converted to " + filename + fileext)
|
|
EndProcedure |