Metadata-Version: 2.4
Name: cs-imageutils
Version: 20260531
Summary: Various ad hoc image related utility functions and classes.
Keywords: python3
Author-email: Cameron Simpson <cs@cskk.id.au>
Description-Content-Type: text/markdown
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Graphics :: Graphics Conversion
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Requires-Dist: Pillow
Requires-Dist: cs.cache>=20260531
Requires-Dist: cs.deco>=20260525
Requires-Dist: cs.pfx>=20250914
Requires-Dist: cs.psutils>=20260531
Project-URL: MonoRepo Commits, https://bitbucket.org/cameron_simpson/css/commits/branch/main
Project-URL: Monorepo Git Mirror, https://github.com/cameron-simpson/css
Project-URL: Monorepo Hg/Mercurial Mirror, https://hg.sr.ht/~cameron-simpson/css
Project-URL: Source, https://github.com/cameron-simpson/css/blob/main/lib/python/cs/imageutils.py

Various ad hoc image related utility functions and classes.

*Latest release 20260531*:
Tweak temp file name.

Short summary:
* `sixel`: Return the filesystem path of a cached SIXEL version of the image at `imagepath`.
* `sixel_from_image_bytes`: Return the filesystem path of a cached SIXEL version of the image data in `image_bs`.
* `ThumbnailCache`: A class to manage a collection of thumbnail images.

Module contents:
- <a name="sixel"></a>`sixel(imagepath: str) -> str`: Return the filesystem path of a cached SIXEL version of the
  image at `imagepath`.
- <a name="sixel_from_image_bytes"></a>`sixel_from_image_bytes(image_bs: bytes) -> str`: Return the filesystem path of a cached SIXEL version of the
  image data in `image_bs`.
- <a name="ThumbnailCache"></a>`class ThumbnailCache(cs.cache.ConvCache)`: A class to manage a collection of thumbnail images.

*`ThumbnailCache.create_thumbnail(self, imagepath: str, thumbpath: str, max_edge: int)`*:
Write a thumbnail image no larger than `max_edge`x`max_edge`
of `imagepath` to `thumbpath`.

*`ThumbnailCache.thumb_for_path(self, dx, dy, imagepath)`*:
Return the path to the thumbnail of at least `(dx,dy)` size for `imagepath`.
Creates the thumbnail if necessary.

Parameters:
* `dx`, `dy`: the target display size for the thumbnail.
* `image`: the source image, an image file pathname or a
  PIL Image instance.

The generated thumbnail will have at least these dimensions
unless either exceeds the size of the source image.
In that case the original source image will be returned;
this result can be recognised with an identity check.

Thumbnail paths are named after the SHA1 digest of their file content.

*`ThumbnailCache.thumb_scale(self, dx, dy)`*:
Compute thumbnail size from target dimensions.

# Release Log



*Release 20260531*:
Tweak temp file name.

*Release 20240422.1*:
Updated DISTINFO.

*Release 20240422*:
Initial PyPI release with ThumbnailCache and SIXEL functions.
