lektor.imagetools.
process_image
(ctx, source_image, dst_filename, width, height=None
)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.
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