lektor.imagetools.
process_image
(ctx,
source_image,
dst_filename,
width=None,
height=None,
mode=ThumbnailMode.DEFAULT
)This function takes a Context object, the
absolute paths to the image's source and target files, the target image's
width and/or height, and the operation mode.
In the default mode, if width or height are None
, they are calculated
from the source image's dimensions so that the image is scaled proportionally.
Used internally for the implementation of thumbnail, and exposed as an API for image-processing plugins.
from lektor.build_programs import AttachmentBuildProgram from lektor.context import get_ctx from lektor.db import Image from lektor.imagetools import process_image, ThumbnailMode from lektor.pluginsystem import Plugin class ImageCropBuildProgram(AttachmentBuildProgram): def build_artifact(self, artifact): ctx = get_ctx() width, height = 600, 400 source_img = artifact.source_obj.attachment_filename artifact.ensure_dir() process_image(ctx, source_img, artifact.dst_filename, width, height, mode=ThumbnailMode.CROP) class ImageCropPlugin(Plugin): def on_setup_env(self, **extra): self.env.add_build_program(Image, ImageCropBuildProgram)
Comments