Samples
Here are a few random pictures grabbed out of my test pictures folder and converted:
Click for the unaltered output.
Here are a few random pictures grabbed out of my test pictures folder and converted:
Click for the unaltered output.
* - In C++Builder I just needed to call a function, literally one line of code. In dotNET after several days of experimenting, I eventually managed it by wrapping several API functions. Sometimes I wonder why I switched.
The only thing cooler then the realtime sharpening thing? How about applying brightness and contrast to the output image in REAL TIME. Oh yes, I went there and it is good.
Moved the Stretch/Sharpen/Unsharp mask options onto the tab with the output text and – get this – it now works in real time. I.e. uncheck the Sharpen option, and you’ll instantly see the output image without sharpening applied. It’s pretty sexy.
Also, playing around with the unsharp mask and blurring multiple times seems to improve the output a lot. I’m still trying to work out just how many times is best (maybe have that as an option…?)
The problem with the new conversion code has been fixed and the output is looking very nice. If I could have found it before spending several days porting the original code it would have been even better.
Finished the code to apply 3×3 convolution matrices to the output image, and replaced the old sharpening code with a matrix. Eventually the user will be able to enter a custom matrix to be used (i.e. for blurring/alternate sharpening/edge detection/mean removal etc). I’ve also got an unsharpening mask working, but it’s a little disappointing (2xoriginal – blurred, right?).
Aside from that, there’s lots of little things done that are hardly worth mentioning (drag drop image onto the form/executable, resizeable form so you can go full screen or use it in 800×600 mode, validation…)
Finally got .NET working properly again, but I’ve been a little distracted setting myself up a Linux server on a spare computer. I had a quick go at running ASCGEN using Mono, and I think that I’ll be able to get it working after a couple of more days banging my head against the monitor. Fingers crossed, and we’ll cross platform support right from the start.
Anyway, program-wise I’ve changed the GUI layout (again), and I’m getting to the stage where I’m more or less happy with the design.
Today’s Ascii Generator programming time was partly spent trying to work out why the .NET Wizard would let me create any type of new project except for the new C# Windows Application project I wanted, and the rest was spent reinstalling .NET.
In summary – AscgendotNet status: unchanged. Current book I’m reading status: ahead of schedule.
PictureBox is done, and now big images redraw just as fast as small images so adjusting brightness and contrast occurs in real time. Basically, from the outside it now works just as well as it did at the end of last year. Yay!
❓
The new picturebox is nearly finished. Just need to add in one more thing which will greatly increase the drawing speed for large images.
FXCop compliance is just about done so the code is nice and tight.
As a bonus it’s forced me to add the framework for localization. Once the program is far enough along it’ll be easy to add other languages.
Enabled XP styles, so the program looks all nice and fancy.
To do next:
Port the conversion code.
Selection of an area of the image – Will probably add it into the new PictureBox control.
Come up with a better way for the user to change brightness/contrast values. Probably writing a custom version of the vertical scroll bars to add the current value and display it with some nice graphics.
Removal of FormText and redesign of the main form to add the converted text onto a new tab.
I really do. Work on the new Ascgen took a break, but I’ve started up again and I’ll try and keep this updated.
Current goals:
Answers to common questions:
😕 I’ll think of more later…