2.0


2.0.0
Full StyleCop Validation
FormConvertImage.cs
– Rewrote all the output width/height code
– Fixed conversion not happening after lock changed
– Moved code out of form load and into the constructor
– Refactored the widget creation code
– Refactored text/background color checks
– Fixed application getting stuck when losing focus on a colour preview
– Fixed unselected image being converted when closing with a selected area
– Changed to always show characters toolbar unless it is not needed
– Prevented unnecessary update on valid characters change when they aren’t being used
– Replaced image toggle menu button with a large one between the text and the image
– Made the output image update while you are moving the selected area
– Added right-click item and setting to toggle if output is updated while the selection changes
– Changed fullscreen code to use a property
– Removed left over seperator from Edit/Output
– Added IsBlackTextOnWhite, Brightness, Contrast, CharacterSize, Ramp, IsGeneratedRamp, IsFixedWidth, Levels,
Stretch, Sharpen, Unsharp, Dithering, DitheringRandom properties
– Replaced SetValidCharacters and SetFont with properties
– Fixed conversion being done twice when the levels change
– Changed the font button to say ‘Font’ instead of using an image
– Made the TextImageMagnification dialog persistent to keep previous zoom when saving images
– Fixed custom character size not being applied when the font changes
– Stopped unneeded conversions when the font hasn’t changed
– Added faq link to the menu
– Only showing the text image area when an image has been loaded
– Fixed two conversions taking place on ramp change
ImageToValues.cs
– Changed convert function to use unsafe code
JMSelectablePictureBox.cs
– Fixed notifications being raised when no image loaded
– Prevented selection change events from being called on rotate/flip image
ValuesToVariableWidthTextConverter.cs
– Moved struct into new VariableWidthCharacterValue class
– Removed redundant variables
– Cleaned up the functions to make them more readable
– Changed to use jagged arrays for speed
– Fixed only using the R channel when calculating a characters value
– Used unsafe code to speed up the character value calculations
– Separated and improved speed of array creation
– Fixed widthHasBeenUsed potentially having incorrect data
– Rearranged CreateBestCharactersArrays to be much shorter and simpler
TextToColorImage.cs
– Fixed memory leak
AsciiRampCreator.cs
– Moved CharacterValue into a new file
– Changed lists to use generics
– Fixed first valid character not being added to the list problem
ImageToColors.cs
– Improved speed of reading the Color values with unsafe code
FileListbox
– Displayed non-existant files in red
– Fixed the text rendering incorrectly
JMLevels.cs
– Moved into a sub-directory
– Moved all the classes into separate files
Renamed Matricies.cs to Matrices.cs
AboutDialog, CharacterSizeDialog, TextImageMagnificationDialog, FormTextSettings, BaseWidget, ValidRampCharsDialog:
– Split designer code into a separate file
Variables
– Moved storing the values to a settings file
– Changed DefaultRamps and DefaultValidCharacters to use string arrays
– Removed accessing them through properties to help reduce the filesize
Fixed memory leak in the font size calculation
Moved all output size calculation into the new DimensionsCalculator class
Moved text functions into a separate dll
Improved speed of stretching the output
Improved speed of applying the levels and brightness/contrast filters when values have not been changed
Greatly improved speed of applying the unsharp mask
Moved all of the interfaces into separate files in a new directory
Improved speed of calculating characters values for automatic ramps with unsafe code
Version Checking
– Moved version checking into a separate class
– Rewrote VersionChecker to use a WebClient
– Moved version checking into a separate dll and refactored
– Moved the download url to the remote xml file
– Fixed proxy problem that could cause the thread to hang
– Changed to use asynchronous events instead of a Thread
– Rewrote to use events, and moved the messagebox stuff into the main program
Improved layout of the project to separate out the dlls and make it cleaner
Fixed control fonts being different at runtime than in the designer
Batch conversion form completely rewritten
– Greatly improved layout
– Allows Dragging and dropping of files and/or directories onto the list box
Moved codebase to Visual Studio 2010
Moved custom controls into a separate dll and standardized their namespaces
Optimized the handling all of color arrays
Changed the converter/filters/etc to use jagged arrays
Moved static image handling functions into a separate dll
Added form to handle selection of the translation file if more then one is in the directory
Moved full screen/Colour Preview/Invert buttons from the toolbar to below the input image toggle
Added ‘Invert the Image’ menu item to the output menu
Removed the images brightness/contrast widget
Changed filter order so that contrast isn’t cancelled out by the stretch
Completely rewrote OutputCreator to remove duplicate code and improve the other code
Rewrote the variables/settings to use serialization and save to a data file
FormEditSettings
– Added output width/height
– Added default button
– Settings are saved automatically on Ok
– Removed tab control
Added “Update While Selection Changes” context menu item on the image widget
Fixed median slider getting stuck after resetting the levels