Hi all,
I have finally been able to complete porting of my BMP2QL to the .NET framework.
This will be available on the time being via email only to anybody interested.

Also I have identified a bug (?) in Photoshop 7 - created BMPs for sizes less than 320 
x 200 
where in "some" lines the ending bytes are padded with 00s starting from scanline n-1 
(Remember BMPs store bottom-up unless instructed for the opposite). The result is an 
incorrect (slanted) SCR/PIC file. This can be corrected very easily if you open and 
save again 
the file using either the GiMP or Microsoft Paint. -Thanks to Rich Mellor for spotting 
this-

All the documentation I've seen so far mentions nothing about padding the lines of 
uncompressed 24bit BMPs although such info is mentioned in the case of RLE-4 and RLE-8 
encoded bitmaps. The same effect is experienced with Malcolm Lear's BMP2SCR basic 
programs (for Modes 32 and Mode 4/8) and again only if the BMP originates from Adobe 
Photoshop 7. -Remember my VB program is based on the original code from Malcolm-

New features in the .NET version

1. .NET framework (Duh!)

2. Conversion speed Increase by a factor of x100 (more or less, it's actually 98.55 
times 
faster) !!!  This is due to 
a. direct byte handling instead of type conversion to string type and back to bytes 
(the fso 
model for some reason didn't work right with v. 6 -or I never understood it right- so 
I was 
forced to use "legacy" commands in the previous versions ie. Open "xxxx" for input as 
#n 
etc... This forced also string reading and conversions. -also by use of the FileStream 
methods 
which are really fast-
b. Handling of the BMP using new data structures arrays instead of plain old 
byte-by-byte 
handling
c. The CLR (Common Language Runtime) is VERY fast (or so it seems.... I wouldn't say 
the 
same for the IDE though... not by a long shot!)
d. Improvement of the Little Endian to Big Endian conversion by implementing a 
sensible 
conversion scheme... previously the code was a nice example of spaghetti programming 
:-)

3. Viewing of QL Screen files (not available in the Beta version although the code is 
there and 
working... some bugs have to be ironed out first)

4. Handling of SCR AND PIC files (previously the program DID handle PIC files although 
the 
option was never available on the executable... I did forget to put it in... thanks to 
Dilwyn and 
J?r?me for information on the PE Headers... yep since then :-)

5. Conversion to the following modes: Mode 33, Mode 32, Mode 4, Mode 8, Mode 12 (Not 
fully 
implemented although it SHOULD work pending additional info from any Thor XVI owner 
-see 
other email-), Mode 16 (Aurora), Mode 256.
The following restrictions exist for all non 16 bit modes. Currently Floyd-Steinberg 
and 
Median/Colorimetric -My own "invention" or rather adaptation of four-or-so algorithms 
- are 
not availble. The program assumes that you have already constructed your 24 bit BMP in 
a 
manner such that the data is already there (not to much help huh?)

6. Automatic filename completion for mode distinguishing (ie. test.bmp becomes 
test32_scr 
when converting to mode 32)... very useful when you create many versions of the same 
file...

7. Automatic generation of SBASIC loader with every file that includes the file's 
width and 
height as well as options to put in any position on screen you like.

What it DOESN'T do (yet)

1. Can't crop or resize... If you want ie to convert to mode 256 a file of 800x600 
pixels then 
you are going to get a 800x600 Mode 256 file (Planned for the next version)
2. Convert from QL modes to PC graphic formats (some tests with an auto-sensing 
feature for 
non-PIC files have been carried out with relative success)
3. Conversion to and from more formats. I am currently debating whether (or not) to 
use 
already available controls to do the job from a WMF file... we'll see
4. Printing of QL screens (not that you really need to as you can do it from other 
apps)
5. Direct save/load into and from QL disks
6. Batch conversion... for some reason I always put this one off :-) Okay I really 
haven't got 
any documentation on how to create arrays via the Common Dialog Control :-) - Visual 
Studio 
.NET doesn't exactly come with a printed manual either...!)
7. Win32 command line version


Any more suggestions -or- request to beta test are welcome

Please email me @the dokos-gr.net address for details

Please also note that if you want to just use it, you will need the Common Language 
Runtime 
(NOT included in the Zip file) - This is available for every version of Windows except 
Windows 
3.11 and lower, freely from Microsoft -or at your favourite magazine's CD and it's 
rather big 
but you can use it with executables from every language of the visual studio.net pack 
ie 
VC#.NET, VC++.NET, VPerl.NET etc.

--
Phoebus Dokos - Quantum Leap Software
Authorized SMSQ/E reseller
Visit us at: http://www.dokos-gr.net/



Reply via email to