Go to file
2017-04-30 10:39:12 +01:00
.settings task interface and java helper 2017-04-21 14:48:37 +01:00
dist v5 2017-04-30 10:39:12 +01:00
doc v5 2017-04-30 10:39:12 +01:00
src v5 2017-04-30 10:39:12 +01:00
tools task interface and java helper 2017-04-21 14:48:37 +01:00
.classpath task interface and java helper 2017-04-21 14:48:37 +01:00
.gitignore task interface and java helper 2017-04-21 14:48:37 +01:00
.project task interface and java helper 2017-04-21 14:48:37 +01:00
catalog.xml task interface and java helper 2017-04-21 14:48:37 +01:00
LICENSE update to thumbnailator 0.4.8 2016-04-16 22:21:17 +01:00
makejar.jardesc v5 2017-04-30 10:39:12 +01:00
package.xml v5 2017-04-30 10:39:12 +01:00
readme.md v5 2017-04-30 10:39:12 +01:00

expkg-zone58:image.thumbnailator

An XQuery interface to the image thumbnail generator library thumbnailator for BaseX 8.6.2+.

Features size, scale, caption, rotate, flip, colorize, watermark. More details at doc

Usage

Images are input and output as xs:base64Binary items. Inputs typically come from fetch:binary which allows for file and http sources. Outputs may be saved with file:write-binary or db:store

Simple

Create a thumbnail of given size

import module namespace t="expkg-zone58:image.thumbnailator";

fetch:binary("http://images.metmuseum.org/CRDImages/ep/original/DT46.jpg")
=>t:size(80)

or scale to a fraction of the original

import module namespace t="expkg-zone58:image.thumbnailator";

fetch:binary("file:///Z:/recordings/radio/Book%20of%20the%20Week/image.png")
=>t:scale(0.25)

Tasks

This function takes an XML description of the operations to apply to generate the thumbnail.

import module namespace t="expkg-zone58:image.thumbnailator";
declare variable $watermark:="C:\Users\andy\git\ex-thumbnailator\src\test\resources\icon.jpg";

let $task:=
<thumbnail>
    <size width="100" height="100"/>
    <filters>             
        <colorize color="green" alpha=".5"/>      
        <caption position="CENTER">Some Text here</caption>
        <rotate angle="15"/>
        <canvas height="500" width="500" position="TOP_LEFT" color="black"/> 
        <watermark src="{$watermark}" alpha=".5"  position="TOP_LEFT"/>  
    </filters>         
</thumbnail>

return fetch:binary("http://images.metmuseum.org/CRDImages/ep/original/DT46.jpg")
=>t:task($task)

The schema for this XML is available at task.xsd

Installation

The library is packaged in the EXpath xar format with the thumbnailator jar included. See releases for installation instructions.

Tests

test.xqm script uses the BaseX Unit module

License

  • ex-thumbnailator Copyright (c) 2016-2017, Andy Bunce. (Apache 2 License).
  • thumbnailator Copyright (c) Chris Kroells (MIT License).