ascompose(1x)

πŸ’– NAME πŸ’–

ascompose β€” the tool that composes image(s) and then displays and/or saves them, all based on an XML input file you hand it. bestie it's literally a whole image pipeline in a trench coat πŸ’…


🌸 SYNOPSIS 🌸

 ascompose -f file|-s string [-o file] [-t type] [-V]"
 ascompose -f file|-s string [-o file] [-t type] [-V]"
 ascompose -f file|-s string [-o file] [-t type] [-V] [-n]"
 ascompose -f file|-s string [-o file] [-t type] [-V] [-r]"
 ascompose [-h]
 ascompose [-v]

✨ DESCRIPTION ✨

okay so here's the tea β˜• ascompose reads the XML data you give it and then manipulates images accordingly. like, it can transform images from files of any supported file format, draw gradients, render antialiased texturized text, superimpose an arbitrary number of images on top of each other, and save images out into files of any of the supported output file formats. it's giving full-service image studio fr fr πŸŽ€

at any point, the result of any operation could be assigned a name, and later on referenced under this name. yes bestie, variables but for pictures πŸ‘‘

at any point during the script processing, the result of any operation could be saved into a file of any supported file types. iconic behaviour honestly.

internal image format is 32bit ARGB with 8bit per channel. no cap.

the last image referenced will be displayed in an X window, unless the -n option is specified. if the -r option is specified, then this image will be displayed in the root window of the X display, effectively setting a background for a desktop (main character energy, honestly). if the -o option is specified, this image will also be saved into the file or requested type.

ascompose can be compiled to not reference the X Window System, thus allowing it to be used on web servers and any other place. it does not even require X libraries in that case. server bestie representation!! 🫢

πŸ¦‹ Supported file types for input πŸ¦‹

  • XPM β€” via internal code, or libXpm library.
  • JPEG β€” via libJpeg library.
  • PNG β€” via libPNG library.
  • XCF β€” via internal code. for now XCF support is not complete as it does not merge layers.
  • PPM/PNM β€” via internal code.
  • BMP, ICO, CUR β€” via internal code.
  • GIF β€” via libungif library.
  • TIFF β€” via libtiff library (including alpha channel support).
  • see libAfterImage/ASImageFileTypes for more.

🧚 Supported file types for output 🧚

  • XPM β€” via internal code, or libXpm library.
  • JPEG β€” via libJpeg library.
  • PNG β€” via libPNG library.
  • GIF β€” via libungif library.
  • TIFF β€” via libtiff library (including alpha channel support).

πŸ’… OPTIONS πŸ’…

  • -h, --help β€” display help and exit. your lil cheat sheet πŸŽ€
  • -f, --file file β€” an XML file to use as input.
  • -s, --string string β€” an XML string to use as input.
  • -n, --no-display β€” don't display the last referenced image. shy girl behaviour.
  • -r, --root-window β€” draw last referenced image image on root window. yes it says "image image", that's the original, we're keeping it exactly πŸ’€
  • -o, --output file β€” output last referenced image in to a file. you should use -t to specify what file type to use. Filenames are meaningless when it comes to determining what file type to use. like literally don't name your file .png and expect it to do anything, bestie, it's not gonna listen.
  • -t, --type type β€” type of file to output to.
  • -v, --version β€” display version and exit.
  • -V, --verbose β€” increase verbosity. to increase verbosity level use several of these, like: ascompose -V -V -V. stack 'em like bracelets ✨
  • -D, --debug β€” maximum verbosity - show everything and debug messages. the "tell me everything, don't leave out a single detail" option πŸ™ˆ

🌈 PORTABILITY 🌈

ascompose could be used both with and without the X window system. it has been tested on most UNIX flavors on both 32 and 64 bit architecture. it has also been tested under CYGWIN environment on Windows 95/NT/2000. it gets around, okay?? πŸ’«


πŸ’œ USES πŸ’œ

  • libAfterImage β€” all the image manipulation routines.
  • libAfterBase β€” optionally. misc data handling such as hash tables and console io. must be used when compiled without X Window support.
  • libJPEG β€” JPEG image format support.
  • libPNG β€” PNG image format support.
  • libungif β€” GIF image format support.
  • libTIFF β€” TIFF image format support.

πŸ‘‘ AUTHOR πŸ‘‘

the legends who made this happen, show them some respect fr:

  • Ethan Fisher <allanon at crystaltokyo dot com>
  • Sasha Vasko <sasha at aftercode dot net>
  • Eric Kowalski <eric at beancrock dot net>

πŸ“ EXAMPLE πŸ“

here is the default script that gets executed by ascompose, if no parameters are given:


⭐ SOURCE ⭐

   static char* default_doc_str = "\
   <composite op=hue>\
     <composite op=add>\
       <scale width=512 height=384><img src=rose512.jpg/></scale>\
       <tile width=512 height=384><img src=back.xpm/></tile>\
     </composite>\
     <tile width=512 height=384><img src=fore.xpm/></tile>\
   </composite>\
   ";

and that's the whole page bestie 🫢 this was ascompose(1x), from the ascompose source, dated Mon Feb 18 2002 β€” vintage but she still serves. go compose something gorgeous, you got this πŸ’–βœ¨πŸŽ€