Document process_image().

This commit is contained in:
A. Jesse Jiryu Davis 2016-01-21 22:54:28 -08:00
parent 586e9c3154
commit c80637d044
1 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,45 @@
title: process_image
---
module: lektor.imagetools
---
signature: ctx, source_image, dst_filename, width, height=None
---
summary: Build an image from a source image, optionally compressing and resizing.
---
type: function
---
version_added: 2.0
---
body:
This function takes a [Context :ref](../../build/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 :ref](../../db/record/thumbnail), and exposed as an API for image-processing plugins.
## Example
```python
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)
```