Image from theregister.co.uk. Image from rferl.org Image from chiapet.com.
Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08...
Transcript of Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08...
![Page 1: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/1.jpg)
Image creation with PHP
● By Kore Nordmann● PHP Unconference Hamburg
– 25.04.08
![Page 2: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/2.jpg)
22.04.08
About me
● Kore Nordmann– Studying computer science at the University
Dortmund– Working for eZ systems on
eZ components– Maintainer and / or Developer in multiple
open source projects: Image_3D, KaForkl, ezcGraph, Torii, Busimess, PHPUnit, WCV, ...
● Image related: Image_3D, KaForkl, ezcGraph
![Page 3: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/3.jpg)
22.04.08
●Goal
● Write a wrapper to different image formats and libraries
● Shows common problems
![Page 4: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/4.jpg)
22.04.08
●Usage in ezcGraph
● Supported backends: Flash, GD, SVG, Cairo
![Page 5: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/5.jpg)
22.04.08
●Usage in Image_3D
● Supported backends:– GD– SVG– SVG_Control– Canvas– ASCII
![Page 6: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/6.jpg)
22.04.08
Terms
● Image● Used as a generalization:
● Picture● Images with natural contents, like photos or
drawings.● Usually no clear borders
● Graphic● Computer generated graphics with technical
illustrations or charts.
![Page 7: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/7.jpg)
22.04.08
Agenda:
● Formats● Libraries● Basic datastructures● Creating the surface● First shape: polygon● Extensions
![Page 8: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/8.jpg)
22.04.08
Formats
● Vector formats● SVG● Flash● PDF / PS / ...
● Bitmaps● GIF● JPEG● PNG● BMP / TIFF / ...
![Page 9: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/9.jpg)
22.04.08
SVG (1)
● Scalable Vector Graphics● XML based W3C Standard
● Large files● GZIP compressing
● Easy to generate / user readable● May include other namespaces● Scripting using ECMAScript
![Page 10: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/10.jpg)
22.04.08
SVG (2)
● Subset of SVG: TinySVG● Common subset known by most clients /
devices
● Text rendering is (normally) up to the client● No absolute text width / size estimation
possible.
![Page 11: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/11.jpg)
22.04.08
SVG (3)
● Pro● Open standard, common syntax (XML)● Lots of clients
● Cons● Slight differencies between clients● Font issues
● Common usage● Long term usable vector graphics
![Page 12: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/12.jpg)
22.04.08
Flash (1)
● Closed standard by Adobe● Mainly for animated and interactive web
graphics● Can be considered as a plain vector format in
out case
● Only one real closed source client● No support for several platforms● Security and privacy issues
![Page 13: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/13.jpg)
22.04.08
Flash (2)
● Pro● Rich format installed on a lot of system (98%)
● Con● Closed propretary format, clients are not
available for all platforms.● Bad accessibility
● Common usage● Online marketing presentations with
mainstream centric target group
![Page 14: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/14.jpg)
22.04.08
PDF / PS / ...
● Also support for vector graphics● Limited support of graphics features● Completely different common target
group
![Page 15: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/15.jpg)
22.04.08
GIF (1)
● Patent issues from time to time● Limited color palette (256 colors)● No support for semitransparent colors
![Page 16: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/16.jpg)
22.04.08
GIF (2)
● Pro● Well known established image format
● Cons● Bad transparency support● Limited colorspace
● Common usage● Web applications, where the author did not
know about PNG
![Page 17: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/17.jpg)
22.04.08
JPEG (1)
● (Resolved) Patent issues● Fourier-Tranformation based compression
algorithm● Makes it less usable for images with hard
edges
● No transparencysupport
![Page 18: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/18.jpg)
22.04.08
JPEG (2)
● Pros● Good compression of pictures
● Cons● Bad compresssion and artifacts for graphics.● No transparency
● Common usage● Pictures
![Page 19: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/19.jpg)
22.04.08
PNG (1)
● Developed and standardized by W3C to replace GIF● Ultimate format for graphics in the web
● Lossless compression● Full RGB colorspace● 128 alpha channels
![Page 20: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/20.jpg)
22.04.08
PNG (2)
● Pro● Well known and established image format● Good compression of graphics● Full RGB with 128 alpha channels
● Cons● Limited support in one browser
● Common usage● Graphics in the web.
![Page 21: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/21.jpg)
22.04.08
BMP / TIFF / ...
● Uncompressed, useless, raw formats● From a webdeveloper point of view
![Page 22: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/22.jpg)
22.04.08
Agenda:
● Formats● Libraries● Basic datastructures● Creating the surface● First shape: polygon● Extensions
![Page 23: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/23.jpg)
22.04.08
Libraries
● ext/gd● pecl/cairowrapper● ext/ming● ext/dom● pecl/imagick
![Page 24: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/24.jpg)
22.04.08
ext/gd (1)
● Best known extension for image creation in PHP● Well documented● Lots of examples available● Installed nearly everywhere
● Bitmaps are rendered by the library● Image quality completely depends on it
![Page 25: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/25.jpg)
22.04.08
ext/gd (2)
● Low quality rendering● No anti-aliasing (in most cases)● Broken transparency for ellipses (-sectors)
● No gradient support● Nearly no anti aliasing● It's damn slow
![Page 26: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/26.jpg)
22.04.08
pecl/cairowrapper (1)
● Renders 2D vectorgraphics● Used by
● GTK (since 2.8.0)● Firefox (for SVG in 2.*, completely in 3.*)
● Multiple output formats● SVG, PDF, PNG, JPEG● XWindow, Win32, Glitz (OpenGL), Quartz
![Page 27: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/27.jpg)
22.04.08
pecl/cairowrapper (2)
● Install● pear install pecl/cairo_wrapper-beta
● http://pecl.php.net/package/cairo_wrapper
● Supports everything we want.● Full transpareny support● Excellent anti aliasing
● Really fast rendering
![Page 28: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/28.jpg)
22.04.08
ext/ming
● Creates flash SWF files● Alpha state since years● Support for a subset of flash
● Not matching any specific flash version
● Wrong or missing documentation is common
![Page 29: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/29.jpg)
22.04.08
ext/DOM
● Implements a well known API for XML handling
● Enables you to modify any part of an document● xmlwriter may be faster, but harder to handle
(forward only approach)
![Page 30: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/30.jpg)
22.04.08
pecl/imagick
● Latest imagemagick/magicwand wrapper● Exposes nearly the complete API
– Mostly for image manipulation, not creation
![Page 31: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/31.jpg)
22.04.08
Agenda:
● Formats● Libraries● Basic datastructures● Creating the surface● First shape: polygon● Extensions
![Page 32: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/32.jpg)
22.04.08
Colors (1)
● Wrap the color definitions● Create from HEX or array definitions
● Specify the usage of transparency● Library dependent: Transparency vs. opacity● We define: 255 = full transparency
![Page 33: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/33.jpg)
22.04.08
Colors (2)
● Source...
![Page 34: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/34.jpg)
22.04.08
Coordinates
● Source?
![Page 35: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/35.jpg)
22.04.08
The base class
● Source
![Page 36: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/36.jpg)
22.04.08
Agenda
● Formats● Libraries● Basic datastructures● Creating the surface● First shape: polygon● Extensions
![Page 37: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/37.jpg)
22.04.08
Surface
● Often used synonym for canvas in this context● Drawing area
● Implement the methods initialize() and save() for all backends
![Page 38: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/38.jpg)
22.04.08
DOM & SVG – Initialization
● Creation of the initial XML document– Optionally extend an existing document
● Just store using DOMDocument::save()
![Page 39: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/39.jpg)
22.04.08
GD & PNG – Initialization
● Create the ressource– Mind the transparency– Mind the supersampling
● Supports different output types– Merge / resize on save
![Page 40: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/40.jpg)
22.04.08
Cairo & PNG – Initialization
● Create surface and context– Pretty straight forward
![Page 41: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/41.jpg)
22.04.08
Ming & SWF – Initialization
● Create a new „movie“– Our image is a movie without animation
![Page 42: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/42.jpg)
22.04.08
Imagick – Initialization
● Just create a new image object● Merge drawing contexts on write
![Page 43: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/43.jpg)
22.04.08
Agenda
● Formats● Libraries● Basic datastructures● Creating the surface● First shape: polygon● Extensions
![Page 44: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/44.jpg)
22.04.08
The base class – extensions
● Add method headers to base class
![Page 45: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/45.jpg)
22.04.08
Setting the style
● SVG: Style attribute● GD: Color and global states● Flash: Set styles on current shape● Cairo: Modify drawing context● Imagick: Modify global drawing context
![Page 46: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/46.jpg)
22.04.08
Create the polygon
● Just a styled path in:– SVG, Cairo, Flash, Imagick
● GD has different functions depending on the fill state
![Page 47: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/47.jpg)
22.04.08
The results: Quality
● Quality:– Cairo > Imagick > GD
● Rendered by client:– SVG, Flash
![Page 48: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/48.jpg)
22.04.08
The results: Speed
● Cairo > Imagick > GD
![Page 49: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/49.jpg)
22.04.08
Different border placements
● Not yet noticeable, but: Different backends place borders at different positions● User visible for big border widths● User visible for overlapping shapes
![Page 50: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/50.jpg)
22.04.08
Different border placements – Theory
![Page 51: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/51.jpg)
22.04.08
Conclusion
● Even the simplest shape has problems when it comes to abstraction● Imagine border size reducement for circle
sectors
● You may brake down most shapes to polygones● Circles, Rectangles, ...
● ezcGraph also implements circles, ellipse sectors and lines
![Page 52: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/52.jpg)
22.04.08
Agenda
● Formats● Libraries● Basic datastructures● Creating the surface● First shape: polygon● Extensions
![Page 53: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/53.jpg)
22.04.08
Implemented extensions
● Gradients– Radial / linear gradients
● Not supported by GD and ~Imagick● Undocumented in Ming● Works fine with SVG and Cairo
● Text rendering– Inaccurate in SVG
![Page 54: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/54.jpg)
22.04.08
The result
![Page 55: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/55.jpg)
Questions?
● Please ask!
![Page 56: Image creation with PHP - Kore Nordmann...– Our image is a movie without animation 22.04.08 Imagick – Initialization Just create a new image object Merge drawing contexts on write](https://reader035.fdocuments.net/reader035/viewer/2022070108/6028170dcb430071560cfbed/html5/thumbnails/56.jpg)
The end
● Thanks for listening● Ressources
● http://kore-nordmann.de/blog/published_article_image_creation_with_php.html