lektor.imagetools.process_image (ctx, source_image, dst_filename, width, height=None)

  • New in Lektor Version 2.0

This function takes a Context object, the absolute paths to the image's source and target files, and the target image's width. If height is None, it is calculated from the source image width and the target width so that the image is scaled proportionally.

Used internally for the implementation of thumbnail, and exposed as an API for image-processing plugins.

Example

from lektor.build_programs import AttachmentBuildProgram
from lektor.context import get_ctx
from lektor.db import Image
from lektor.imagetools import process_image
from lektor.pluginsystem import Plugin


class ResizeBuildProgram(AttachmentBuildProgram):
    def build_artifact(self, artifact):
        ctx = get_ctx()
        width = 1024
        source_img = artifact.source_obj.attachment_filename
        artifact.ensure_dir()

        process_image(ctx,
                      source_img,
                      artifact.dst_filename,
                      width)


class ImageResizePlugin(Plugin):
    def on_setup_env(self, **extra):
        self.env.add_build_program(Image, ResizeBuildProgram)

Comments