RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> Могу доточить до описанного ниже состояния и выложить. Но уже есть alchemy, pmview. Потому вопрос - оно надо кому-ньть в количестве больше двух с четвертью человек? :)) > --------------------- > Unfortunately this software does NOT support for: > 1. batch processing (*.ext) > 2. TTF rendering (this may be fixed in future ;)) > 3. tonns of image formats > 4. OS/2 icon and bitmap formats(!!) > 5. 1,4 bit color formats (will be fixed) > 6. writing GIFs with global palette > 7. reading "optimized" animated GIFs (will be fixed) > > Fortunately this software support for: > 1. Reading: > - BMP: 8 bit (plain & RLE), 15,16,24,32 bit, top-bottom/bottom-top. > - PCX: 2,4,8,24 bit. (2,4 bit converting to 8 bit on load) > - PNG: all (16 bit R,G,B components converting to 8 on load) > - GIF: all > - JPG: all, except CMYK (jpeglib 6) > - TGA: all except right-to-left (where you can find this one? ;) > 2. Writing: > - BMP: 8 bit (plain & RLE), 15,16,24,32 bit > - PCX: 8,24 bit > - PNG: 8,24,32 bit,grayscale,transparent color > - GIF: all, transparent color, multipage > - JPG: all, grayscale > - TGA: all, grayscale (RLE compressed by default, but only if compressed > data is smaller than uncompressed). > 3. Converting: > - colors everything between 8,15,16,24,32 bits per pixel > - resize images > - adding constant alpha channel value to the image > 4. Script engine: > - C/C++ like syntax > - many internal routines: creating images, direct access to the image > buffer, converting, drawing lines/rectangles, blitting (with alpha > channel support) and other... > - capable of direct import of external functions, for ex. > /* -- */ > extern "som.dll" name "somPrintf" > int cdecl printf( char * __format, ...); > /* -- */ > > Usage: alch <destin format> <source string> <destin file> [options] > alch -l <source file> - list image contents > alch -i <source file> - detailed image info > > destination format: > JPG[+][P][Cfmt][I/S/F][quality] -> write JPEG (default: "JPGS75") > '+' - optimize on > 'P' - progressive > 'Cfmt - subsampling/format: fmt = RGB,Y41,Y42 > 'I'/'S'/'F' - int/fast/float DCT > 'quality' - 1..100 > GIF[9][+] -> write GIF > '+' - append if file exist > '9' - write GIF89a (transparent tag) > BMP -> write Windows Bitmap > RLE -> write RLE-compressed Windows Bitmap > PCX -> write PCX > PNG -> write PNG > TGA[-][s/p][b][n] -> write Targa bitmap > '-' - do not pack with RLE > 'p' - write complete color palette > 's' - strip color palette top (highly not recommended - only Image > Alchemy can correctly read this!) > 'b' - top-bottom > 'n' - do not write extended header > options (case sensitive): > -c=x[,y] - convert x pictures from pos y > -ca - convert all pictures in library > -m=<destin file> - mask for multiple pictures (ex. out%d.pcx) > -x=width - resize to width > -y=height - resize to height > -t=color - set transparent color (RGB, ex. -t=0xFF00FF) > -a=value - add constant alpha channel value > -t - remove transparent color > -q - be quiet > -v - write log and script dumps > -g - convert image to grayscale > -fi{v,h} - flip before processing (vert./horz.) > -fo{v,h} - flip output image(s) (vert./horz.) > -pr - proportional resize (for only -x or -y) > -fill - fill instead of stretch (for -x,-y) > -r=x,y,dx,dy[,step_x,step_y,count[,in_line]] - get source image rectange > -cc=c1,c2 - change color c1 to color c2 > -si=script - execute script on input image(s) > -so=script - execute script on output image(s) > -i=dir - additional include directory for scripts > > examples: > alch jpg+pcy42f95 test.bmp test.jpg > Read test.bmp and save it as optimized progressive JPEG with > YUV422 subsampling, float DCT and quality=95 > > alch tga- test.bmp test.tga -a=0x7F > Read test.bmp, convert it to 32 bit image with alpha channel by > adding alpha value =127 and save it to uncompressed TGA > > alch png test.bmp%32 test.png -t=0xFFFFFF > Read test.bmp, convert it to 32 bit image, set transparent color > 0xFFFFFF (white) and write to test.png (note: transparent tag in > PNG does not supported by most image editors) > > alch gif test.bmp%8 test.gif -r=0,0,16,0,16,0,16 > Read test.bmp, convert it to 8 bit image and save 16 rectangles > with size 16,16 and top left coordinates 0,0; 0,16; 0,32; .. 0,240 > as separate pages of output GIF image. > > alch rle test.bmp%8 mosaic.bmp -x=1024 -pr -fill > Read test.bmp, convert it to 8 bit image, set size of output image > to 1024xYYY (with keeping aspect ratio), fill it by test.bmp and > save result to RLE compressed mosaic.bmp. > > alch tgabn test.bmp test.tga -g > Read test.bmp, convert it to grayscale and save to top-bottom RLE > compressed TGA without extended (TGA 2.0) header. > > alch bmp test.gif -c=2 -m=test%2.2d.bmp > Read multipage test.gif and save first two pages to separate > BMP files test00.bmp and test01.bmp > > alch bmp test.gif?2%15 -m=test%2.2d.bmp -si=advproc.scr > Read second page of test.gif, convert it to 15 bit image (555), > process in script advproc.scr and save results to separate BMP files > test00.bmp, test01.bmp... (script can handle number of output images > (add or remove some)). > > Alch mean "tiny Alchemy". If Handmade Software will ask for change this > name, i'll do it, but i'm too lazy to find another name now ;) > > Script language: > Please, note - script language is in permanent alpha stage ;) > Futures: > > 1. C/C++ syntax. > 2. Full C preprocessor. > 3. Operation overload support (between standard types too). > 4. Classes (limited). > 5. "with" operator (pascal analogue - with(rec) {} ). > 6. Direct import of external functions. Supported calling conventions are: > __cdecl, __stdcall, __fastcall, __pascal, __delphi (it can emulate ICC > _Optlink by using some hacks). > > Bugs & imcompatibilites: > 1. Local static variables in procedures are initialized at each entrance. > 2. func(void) != func(). > 3. Const does not supported (ignored now). > 4. Type compatibility can be unstable of slighlty different. > 5. C-like structure declarations is not supported: > struct KuKu *Var; > 6. Code can be written outside of function body too. It can be executed > duaring initialization stage (initing gloabal variables & classes). > > About supported functions (see. include/alch.h): > 1. Creating 8,15,16,24,32 bpp image > 2. Converting between this formats. > 3. Drawing rectangles (with optional alpha transparency). > 4. Blitting images (with alpha channel support). > 5. Set/remove transparency. > 6. Direct access to image data. > 7. Creating alpha channel for image. > 8. Converting to grayscale. > 9. Flipping, scaling, brightness, replace colors. > 10. Creating images with external data (by suppling pointer & pitch). > 11. Text output by using: > - bit fonts - in BIOS format (simple array with bit data). > - a specially prepared bitmaps with letters: > - simple bitmap > - bitmap with alpha channel (for ex. letters with shadow) > - grayscale 8-bit bitmap (colored output) > > Future: > If your send me some money ;), you can ask for the following futures: > 1. more image formats > 2. TTF support > 3. VIO image viewer (for diskette boot) > 4. more script functions > 5. batch processing > 6. full animated GIF support (even with optimizer) > 7. PM image viewer > 8. script compiler (with EXE output!) >
_, _, _,
/ \ (_ / ~ )
\ / , ) / /
~ ~ ~~~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.