chickadee » stb-image-write » write-bmp

write-png pixels width height components #!key flip compression stride filterprocedure
write-jpg pixels width height components #!key flip qualityprocedure
write-tga pixels width height components #!key flip rleprocedure
write-bmp pixels width height components #!key flipprocedure

Writes the u8vector pixels to (current-output-port) using the image format of the procedure name. The pixel format depends on components, which represents the number of bytes per pixel:

   1: y8 (gray)
   2: ya16 (gray + alpha)
   3: rgb24
   4: rgba32

Extra parameters are:

  • flip specifies whether to flip the image vertically before outputting
  • png compression sets the zlib compression quality. defaults to 8, try higher values for more compression
  • png stride is the distance in bytes from the first byte of a row of pixels to the first byte of the next row of pixels.
  • png filter forces a particular filter type for all scanlines. defaults to trying all and picking the most efficient (#f), other valid values are 0-4.
  • jpg quality specifies lossy compression amount as a percentage (defaults to 80)
  • tga rle enables or disable run-length-encoding compression. it is on by default, set to #f to disable rle compression

Note that on 32-bit systems, blobs cannot be larger than 16M. This also limits image sizes as pixel data is stored in a blob.