Medien Daten Skript

ImageWorker Script Beispiele

Original Bild

testimage.jpg

CodeProcessedZusätzliche Dateien
– resize aspect ratio will be ignored
converter:Resize(media, 300, 300)
testimage-resize.jpg 
– resize with respect of aspect ratio
converter:Resize_with_aspect_ratio(media, 300, 300)
testimage-aspect_ratio.jpg 
– set color space
converter:Transform_color_space(media, ‘Gray’)
testimage-color-gray.jpg 
– resize with respect of aspect ratio
converter:Resize_with_aspect_ratio(media, 1024, 768)

– add watermark
watermark = converter:Load_file(‘D:\temp\goodson.png’)
converter:Watermark(media, watermark, ‘Southeast’)
testimage-watermark.jpg

goodson.png

Schwarz ist transparent. Wenn ein Marging gewünscht ist, sollte dies im Watermark Bild hinzuefügt werden.
 
– for downsize lanczos is a good resize filter
converter:Resize_filter(media, ‘Lanczos’)

– Resize image with respect of aspect ratio
converter:Resize_with_aspect_ratio(media, 100, 28)

– Extend (fill up to exact size 100x28) with white background and image in center
converter:Extend(media, 100, 28, ‘Center’, ‘#ffffff’)

– set image meta info
converter:Transform_color_space(media, ‘SRGB’)
converter:Density(media, 96.0, 96.0)
image-20200902180500-1.pngimage-20200902180521-3.jpeg
– for downsize lanczos is a good resize filter
converter:Resize_filter(media, ‘Lanczos2Sharp’)

– set width to exact 800 set height according to aspect ratio
converter:Resize_with_aspect_ratio_width(media, 800)

– set image meta info
converter:Transform_color_space(media, ‘SRGB’)
converter:Density(media, 96.0, 96.0)
image-20200902180921-4.jpegimage-20200902180933-5.jpeg
– Remove alpha channel and replace it with color

converter:Remove_alpha_color(media, ‘#FFFFFF’);
BM-319_MZ1.png

(Transparent PNG, Rot ist Hintergrundfrarbe der Zelle)
BM-319_MZ1.jpg

Logische Entscheidung:

Es können auch if statements verwendet werden.
Z.B. damit kleine Bilder nicht “hochgezoomt” werden kann über folgendes if dies verhindert werden:

if media.Width > 800.0 then
    converter:Resize_with_aspect_ratio_width(media, 800)
end

Sprich kleinere Bilder als 800 Pixel werden nicht angepasst.

Konstanten

Colorspace

  • RGB
  • SRGB
  • CMYK
  • GRAY

Gravity

  • Forget
  • Northwest
  • North
  • Northeast
  • West
  • Center
  • East
  • Southwest
  • South
  • Southeast

Resize Filter

  • Point
  • Box
  • Triangle
  • Hermite
  • Hann
  • Hamming
  • Blackman
  • Gaussian
  • Quadratic
  • Cubic
  • Catrom
  • Mitchell
  • Jinc
  • Sinc
  • SincFast
  • Kaiser
  • Welch
  • Parzen
  • Bohman
  • Bartlett
  • Lagrange
  • Lanczos
  • LanczosSharp
  • Lanczos2
  • Lanczos2Sharp
  • Robidoux
  • RobidouxSharp
  • Cosine
  • Spline
  • LanczosRadius
  • CubicSpline

Erklärung über die einzelnen Resize Filter gibt es hier: http://www.imagemagick.org/Usage/filter

Script Engine

Es wird ein Lua Interpretor verwendet. Somit sind auch einfache logische Funktionen möglich:

if op == "+" then  
      r = a + b  
   elseif op == "-" then  
      r = a - b  
   elseif op == "*" then  
      r = a*b  
   elseif op == "/" then  
      r = a/b  
   else  
     error("invalid operation")  
   end