109 lines
4.3 KiB
Plaintext
109 lines
4.3 KiB
Plaintext
#[
|
|
@@@state image_search_path.list :create Series of directories for image search
|
|
:value . imgsrc ../imgsrc ../dbg
|
|
@@@
|
|
]#
|
|
|
|
@@@state Image_search_path :desc Directories searched for an image's file, relative to the document
|
|
:value . imgsrc ../imgsrc
|
|
@@@
|
|
|
|
@@@state Image_output_dir :desc Output directory for images :value img @@@
|
|
@@@state Image_txt_style
|
|
:desc How an image is drawn in characters under txt and ansi:
|
|
halfblock (two pixels per cell in full colour under ansi -- the
|
|
nearest to the raster, and the default; under txt a solid
|
|
block, since its picture is only its colours), shade (block
|
|
shades, coloured tiles under ansi), ascii (a density ramp of
|
|
typewriter characters), quadrant (four sub-pixels per cell, two
|
|
colours per cell under ansi), braille (eight dots per cell).
|
|
:value halfblock
|
|
@@@
|
|
@@@state Image_ansi_colors
|
|
:desc Under ansi, the colours an image is drawn with. true (the
|
|
default) emits each cell's exact 24-bit colour, and how
|
|
faithfully the picture appears then depends on the terminal
|
|
supporting true colour: most do (GNOME Terminal, iTerm2,
|
|
Ghostty, kitty, WezTerm); one that does not (Apple's
|
|
Terminal) rounds every colour to its nearest of 256 fixed
|
|
ones, and runs of similar cells become one blotch. 256 is
|
|
for such a terminal: the picture is first dithered to that
|
|
256-colour palette, so the rounding error is spread over
|
|
neighbouring cells instead. A true-colour terminal shows the
|
|
exact picture and needs no setting.
|
|
:value true @@@
|
|
@@@state Image_txt_dark_background
|
|
:desc Under txt and ansi, the density ramp assumes a dark terminal
|
|
background (true): bright pixels are the dense characters.
|
|
false reverses it for a light background.
|
|
:value true
|
|
@@@
|
|
|
|
@@@state Image_default_width :desc Default width for images :value .667w @@@
|
|
|
|
@@@state Image_quality
|
|
:desc JPEG quality, 1 to 100, at which a photograph -- a raster with
|
|
no transparency, whether it arrives as JPEG, PNG or TIFF -- is
|
|
written to the image cache for the html and pdf targets. The
|
|
default keeps print quality at a fraction of the size; 100 copies
|
|
or converts the source unchanged, as before 2026-09-09.
|
|
:value 85
|
|
@@@
|
|
|
|
#
|
|
# @@@argtype pixels | a pixel count :pattern \d+px @@@
|
|
# @@image.k basename : Image read from a file @@
|
|
# @@image.html basename | width | height : @eval import image ; result = image.image(K) eval@ @@
|
|
|
|
# An image once had its own position type, for the sake of the "none" value
|
|
# (no positioning container). That value is meaningful for any block
|
|
# element, so the shared hpos type carries it and an image is placed by the
|
|
# hpos_args option set like every other block element.
|
|
|
|
@@image.k
|
|
basename
|
|
:id
|
|
:width.width .5w
|
|
@caption_args@
|
|
:vmargin.bool true
|
|
@hpos_args@
|
|
:rel
|
|
:abswidth.number 0.0
|
|
:border.bool false
|
|
:
|
|
An image read from a file. The basename names the file, which is looked
|
|
for in the image search path and converted to a format the target can use.
|
|
^:width is the image's width in the text column, ^:hpos and ^:offset place
|
|
it there, and the caption arguments caption it. Under txt and ansi the
|
|
image is drawn in characters (the Image_txt_style state variable:
|
|
halfblock, the default, or shade, ascii, quadrant, braille), and ansi
|
|
colours them; the
|
|
measure is the terminal's width
|
|
less a small margin when ktext runs in one, else the text width, and
|
|
^:width applies to that (a fraction, a number of columns, or f for all of
|
|
it). The Image_txt_dark_background state variable (true) reverses the
|
|
ramp for a light terminal.
|
|
@@
|
|
|
|
@@image.html,tex,txt :: @eval image.Image(K) eval@ @@
|
|
|
|
@@image_grid.k
|
|
image_specs.rest(2)
|
|
:cell_number.bool false
|
|
:landscape.bool false
|
|
:scale.number 0.98
|
|
@caption_args@
|
|
@hpos_args@
|
|
:thumbnail.bool false
|
|
:allow_break.bool true
|
|
:id
|
|
:rel
|
|
:hsep.number 0.02
|
|
: A grid of images
|
|
@@
|
|
|
|
@@image_grid.html,tex :: @eval image_grid.Image_grid(K) eval@ @@
|
|
|
|
@@fig.k spec.figure_id : The caption title for a figure @@
|
|
@@fig.html,tex :: @reference *spec* | Figure @ @@
|