1; This is a test file for kate's PureBasic highlighting.
2
3; BMP2x Converter by Sven Langenkamp
4
5UseJPEGImageEncoder()
6UsePNGImageEncoder()
7
8Declare Convert(JPEG)
9
10Enumeration 1
11    #JPEG
12    #PNG
13EndEnumeration
14
15; BEGIN section
16
17
18; END
19
20Global Count
21Global file.s
22Global filename.s
23Global fileext.s
24Global OutputFormat
25Global JPEGQuality
26
27Count        = 0
28OutputFormat = 1
29JPEGQuality  = -1
30
31; MAIN PROGRAM------------------------------------------------------------------
32
33;Request Options
34PrintN("Output Format")
35PrintN("  [1] JPEG")
36PrintN("  [2] PNG")
37Print ("> ")
38OutputFormat = Int(Input())
39
40Select OutputFormat
41    Case #JPEG:
42        fileext = ".jpg"
43        ;Request JPEG Quality
44        PrintN("")
45        PrintN("JPEG Quality")
46        PrintN("  [0-10]")
47        Print ("> ")
48        JPEGQuality = Int(Input())
49
50    Case #PNG:
51        fileext = ".png"
52EndSelect
53
54;Convert all BMP files in the current directory
55ExamineDirectory(0, "", "*.bmp")
56While NextDirectoryEntry()
57    file     = DirectoryEntryName()
58    filename = GetFilePart(file)
59
60    If LoadImage(0, file)
61        Select OutputFormat
62	    Case #JPEG:
63	      Convert(JPEGQuality)
64
65	    Case #PNG:
66	        Convert(-1)
67	EndSelect
68	Count = Count +1
69    EndIf
70
71Wend
72
73PrintN(Str(Count) + " files converted")
74CloseConsole()
75
76; PROCUDURES--------------------------------------------------------------------
77
78Procedure Convert(JPEG)
79    Shared filename, fileext
80
81    If JPEG > -1
82        SaveImage(0, filename + fileext, #PB_ImagePlugin_JPEG, JPEG)
83    Else
84        SaveImage(0, filename + fileext, #PB_ImagePlugin_PNG)
85    EndIf
86    PrintN(file + " converted to " + filename + fileext)
87EndProcedure