From: Cristy Date: Sun, 28 Apr 2019 00:03:27 +0000 (-0400) Subject: Update IM docs X-Git-Tag: 7.0.8-43~16 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e19d255caf21ba115bffeb7c1a33fdefd069caed;p=imagemagick Update IM docs --- diff --git a/images/wizard.jpg b/images/wizard.jpg index 0e64cca4a..5b9529c5d 100644 Binary files a/images/wizard.jpg and b/images/wizard.jpg differ diff --git a/index.html b/index.html index b2936a067..0d01507ff 100644 --- a/index.html +++ b/index.html @@ -7,9 +7,9 @@ - Convert, Edit, Or Compose Bitmap Images @ ImageMagick + ImageMagick - Convert, Edit, or Compose Bitmap Images - + @@ -22,8 +22,14 @@ + + + + + + - + @@ -38,7 +44,7 @@
- Use ImageMagick® to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, GIF, HEIC, TIFF, DPX, EXR, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.

-

The functionality of ImageMagick is typically utilized from the command-line or you can use the features from programs written in your favorite language. Choose from these interfaces: G2F (Ada), MagickCore (C), MagickWand (C), ChMagick (Ch), ImageMagickObject (COM+), Magick++ (C++), JMagick (Java), JuliaIO (Julia), L-Magick (Lisp), Lua (LuaJIT), NMagick (Neko/haXe), Magick.NET (.NET), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), IMagick (PHP), PythonMagick (Python), magick (R), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images dynamically and automagically.

-

ImageMagick utilizes multiple computational threads to increase performance and can read, process, or write mega-, giga-, or tera-pixel image sizes.

ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you may use, copy, modify, and distribute in both open and proprietary applications. It is distributed under a derived Apache 2.0 license.

-

The ImageMagick development process ensures a stable API and ABI. Before each ImageMagick release, we perform a comprehensive security assessment that includes memory error, thread data race detection, and continuous fuzzing to help prevent security vulnerabilities.

- -

The current release is ImageMagick 7.0.8-23. It runs on Linux, Windows, Mac Os X, iOS, Android OS, and others.

+

ImageMagick utilizes multiple computational threads to increase performance and can read, process, or write mega-, giga-, or tera-pixel image sizes.

-

The authoritative ImageMagick web site is https://imagemagick.org. The authoritative source code repository is https://github.com/ImageMagick. We maintain a source code mirror at https://gitlab.com/ImageMagick.

+

The current release is ImageMagick 7.0.8-42. It runs on Linux, Windows, Mac Os X, iOS, Android OS, and others.

-

We continue to maintain the legacy release of ImageMagick, version 6, at https://legacy.imagemagick.org.

+

The authoritative ImageMagick web site is https://imagemagick.org. The authoritative source code repository is https://github.com/ImageMagick. We maintain a source code mirror at https://gitlab.com/ImageMagick. We continue to maintain the legacy release of ImageMagick, version 6, at https://legacy.imagemagick.org.

Features and Capabilities

-

Here are just a few examples of what ImageMagick can do for you:

+

Here are just a few examples of what ImageMagick can do for you:

@@ -107,7 +109,7 @@ Use ImageMagickColor management + @@ -119,11 +121,11 @@ Use ImageMagickComposite + - + @@ -139,7 +141,7 @@ Use ImageMagickDFT. - + @@ -147,7 +149,7 @@ Use ImageMagickEncipher or decipher an image + @@ -160,14 +162,18 @@ Use ImageMagickHeterogeneous distributed processing - + - + + + + + @@ -175,7 +181,7 @@ Use ImageMagickImage identification + @@ -216,7 +222,7 @@ Use ImageMagickThreads of execution support - + @@ -233,14 +239,16 @@ Use ImageMagickExamples of ImageMagick Usage shows how to use ImageMagick from the command-line to accomplish any of these tasks and much more. Also, see Fred's ImageMagick Scripts: a plethora of command-line scripts that perform geometric transforms, blurs, sharpens, edging, noise removal, and color manipulations. With Magick.NET, use ImageMagick without having to install ImageMagick on your server or desktop.

+

Examples of ImageMagick Usage shows how to use ImageMagick from the command-line to accomplish any of these tasks and much more. Also, see Fred's ImageMagick Scripts: a plethora of command-line scripts that perform geometric transforms, blurs, sharpens, edging, noise removal, and color manipulations. With Magick.NET, use ImageMagick without having to install ImageMagick on your server or desktop.

News

-

Now that ImageMagick version 7 is released, we continue to maintain the legacy release of ImageMagick, version 6, at https://legacy.imagemagick.org. Learn how ImageMagick version 7 differs from previous versions with our porting guide.

+

Now that ImageMagick version 7 is released, we continue to maintain the legacy release of ImageMagick, version 6, at https://legacy.imagemagick.org. Learn how ImageMagick version 7 differs from previous versions with our porting guide.

ImageMagick best practices strongly encourages you to configure a security policy that suits your local environment.

+

The ImageMagick development process ensures a stable API and ABI. Before each ImageMagick release, we perform a comprehensive security assessment that includes memory error, thread data race detection, and continuous fuzzing to help prevent security vulnerabilities.

+

As an analog to linear (RGB) and non-linear (sRGB) color colorspaces, as of ImageMagick 7.0.7-17, we introduce the LinearGray colorspace. Gray is non-linear grayscale and LinearGray is linear (e.g. -colorspace linear-gray).

Want more performance from ImageMagick? Try these options:

@@ -259,15 +267,16 @@ Use ImageMagick

Security • - Architecture • + Architecture + + And Now a Touch of Magick + Related • Sitemap - - And Now a Touch of Magick - - Public Key • +
Donate • - Contact Us + Public Key • + Contact Us
© 1999-2019 ImageMagick Studio LLC

@@ -277,3 +286,4 @@ Use ImageMagick<\/script>') + \ No newline at end of file diff --git a/www/ImageMagickObject.html b/www/ImageMagickObject.html index 145dcac7a..22a4d89f0 100644 --- a/www/ImageMagickObject.html +++ b/www/ImageMagickObject.html @@ -7,9 +7,9 @@ - Install the ImageMagickObject COM+ Component @ ImageMagick + ImageMagick - Install the ImageMagickObject COM+ Component - + @@ -22,6 +22,12 @@ + + + + + + @@ -31,7 +37,7 @@
Color management accurate color management with color profiles or in lieu of-- built-in gamma compression or expansion as demanded by the colorspace.
Composite overlap one image over another.
Connected component labelingConnected component labeling uniquely label connected regions in an image.
Distributed pixel cacheDistributed pixel cache offload intermediate pixel storage to one or more remote servers.
Encipher or decipher an image convert ordinary images into unintelligible gibberish and back again.
certain algorithms are OpenCL-enabled to take advantage of speed-ups offered by executing in concert across heterogeneous platforms consisting of CPUs, GPUs, and other processors.certain algorithms are OpenCL-enabled to take advantage of speed-ups offered by executing in concert across heterogeneous platforms consisting of CPUs, GPUs, and other processors.
High dynamic-range images accurately represent the wide range of intensity levels found in real scenes ranging from the brightest direct sunlight to the deepest darkest shadows.
Image calculatorHistogram EqualizationUse adaptive histogram equalization to improve contrast in images.
Image calculator apply a mathematical expression to an image or image channels.
Image identification describe the format and attributes of an image.
ImageMagick is thread safe and most internal algorithms execute in parallel to take advantage of speed-ups offered by multicore processor chips.ImageMagick is thread safe and most internal algorithms execute in parallel to take advantage of speed-ups offered by multicore processor chips.
Transform
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Animationcreate a GIF animation sequence from a group of images.
Color managementaccurate color management with color profiles or in lieu of-- built-in gamma compression or expansion as demanded by the colorspace.
Command-line processingutilize ImageMagick from the command-line.
Complex text layoutbidirectional text support and shaping.
Compositeoverlap one image over another.
Connected component labelinguniquely label connected regions in an image.
Decorateadd a border or frame to an image.
Delineate image featuresCanny edge detection, Hough lines.
Discrete Fourier transformimplements the forward and inverse DFT.
Distributed pixel cacheoffload intermediate pixel storage to one or more remote servers.
Drawadd shapes or text to an image.
Encipher or decipher an imageconvert ordinary images into unintelligible gibberish and back again.
Format conversionconvert an image from one format to another (e.g. PNG to JPEG).
Generalized pixel distortioncorrect for, or induce image distortions including perspective.
Heterogeneous distributed processingcertain algorithms are OpenCL-enabled to take advantage of speed-ups offered by executing in concert across heterogeneous platforms consisting of CPUs, GPUs, and other processors.
High dynamic-range imagesaccurately represent the wide range of intensity levels found in real scenes ranging from the brightest direct sunlight to the deepest darkest shadows.
Image calculatorapply a mathematical expression to an image or image channels.
Image gradientscreate a gradual blend of two colors whose shape is horizontal, vertical, circular, or elliptical.
Image identificationdescribe the format and attributes of an image.
ImageMagick on the iPhoneconvert, edit, or compose images on your iOS device such as the iPhone or iPad.
Large image supportread, process, or write mega-, giga-, or tera-pixel image sizes.
Montagejuxtapose image thumbnails on an image canvas.
Morphology of shapesextract features, describe shapes, and recognize patterns in images.
Motion picture supportread and write the common image formats used in digital film work.
Noise and color reductionKuwahara Filter, mean-shift.
Perceptual hashmap visually identical images to the same or similar hash-- useful in image retrieval, authentication, indexing, or copy detection as well as digital watermarking.
Special effectsblur, sharpen, threshold, or tint an image.
Text & commentsinsert descriptive or artistic text in an image.
Threads of execution supportImageMagick is thread safe and most internal algorithms execute in parallel to take advantage of speed-ups offered by multicore processor chips.
Transformresize, rotate, deskew, crop, flip or trim an image.
Transparencyrender portions of an image invisible.
Virtual pixel supportconvenient access to pixels outside the image boundaries.
-
+

AcquirePixelCacheNexusAcquirePixelCachePixelsGetAuthenticMetacontentGetAuthenticPixelQueueGetAuthenticPixelsGetOneAuthenticPixelGetOneVirtualPixelGetOneVirtualPixelInfoGetVirtualMetacontentGetVirtualPixelQueueGetVirtualPixelsQueueAuthenticPixelsSetPixelCacheVirtualMethodSyncAuthenticPixels

+ +

AcquirePixelCacheNexus

+ +

AcquirePixelCacheNexus() allocates the NexusInfo structure.

+ +

The format of the AcquirePixelCacheNexus method is:

+ +
+NexusInfo **AcquirePixelCacheNexus(const size_t number_threads)
+
+ +

A description of each parameter follows:

+ +
+
+ +
+
+
number_threads
+
the number of nexus threads.
+ +
+
+

AcquirePixelCachePixels

+ +

AcquirePixelCachePixels() returns the pixels associated with the specified image.

+ +

The format of the AcquirePixelCachePixels() method is:

+ +
+void *AcquirePixelCachePixels(const Image *image,size_t *length,
+  ExceptionInfo *exception)
+
+ +

A description of each parameter follows:

+ +
+
+ +
+
+
image
+
the image.
+ +
+
length
+
the pixel cache length.
+ +
+
exception
+
return any errors or warnings in this structure.
+ +
+
+

GetAuthenticMetacontent

+ +

GetAuthenticMetacontent() returns the authentic metacontent corresponding with the last call to QueueAuthenticPixels() or GetVirtualPixels(). NULL is returned if the associated pixels are not available.

+ +

The format of the GetAuthenticMetacontent() method is:

+ +
+void *GetAuthenticMetacontent(const Image *image)
+
+ +

A description of each parameter follows:

+ +
+
+ +
+
+
image
+
the image.
+ +
+
+

GetAuthenticPixelQueue

+ +

GetAuthenticPixelQueue() returns the authentic pixels associated corresponding with the last call to QueueAuthenticPixels() or GetAuthenticPixels().

+ +

The format of the GetAuthenticPixelQueue() method is:

+ +
+Quantum *GetAuthenticPixelQueue(const Image image)
+
+ +

A description of each parameter follows:

+ +
+
+ +
+
+
image
+
the image.
+ +
+
+

GetAuthenticPixels

+ +

GetAuthenticPixels() obtains a pixel region for read/write access. If the region is successfully accessed, a pointer to a Quantum array representing the region is returned, otherwise NULL is returned.

+ +

The returned pointer may point to a temporary working copy of the pixels or it may point to the original pixels in memory. Performance is maximized if the selected region is part of one row, or one or more full rows, since then there is opportunity to access the pixels in-place (without a copy) if the image is in memory, or in a memory-mapped file. The returned pointer must *never* be deallocated by the user.

+ +

Pixels accessed via the returned pointer represent a simple array of type Quantum. If the image has corresponding metacontent,call GetAuthenticMetacontent() after invoking GetAuthenticPixels() to obtain the meta-content corresponding to the region. Once the Quantum array has been updated, the changes must be saved back to the underlying image using SyncAuthenticPixels() or they may be lost.

+ +

The format of the GetAuthenticPixels() method is:

+ +
+Quantum *GetAuthenticPixels(Image *image,const ssize_t x,
+  const ssize_t y,const size_t columns,const size_t rows,
+  ExceptionInfo *exception)
+
+ +

A description of each parameter follows:

+ +
+
+ +
+
+
image
+
the image.
+ +
+
x,y,columns,rows
+
These values define the perimeter of a region of pixels.
+ +
+
exception
+
return any errors or warnings in this structure.
+ +
+
+

GetOneAuthenticPixel

+ +

GetOneAuthenticPixel() returns a single pixel at the specified (x,y) location. The image background color is returned if an error occurs.

+ +

The format of the GetOneAuthenticPixel() method is:

+ +
+MagickBooleanType GetOneAuthenticPixel(const Image image,const ssize_t x,
+  const ssize_t y,Quantum *pixel,ExceptionInfo *exception)
+
+ +

A description of each parameter follows:

+ +
+
+ +
+
+
image
+
the image.
+ +
+
x,y
+
These values define the location of the pixel to return.
+ +
+
pixel
+
return a pixel at the specified (x,y) location.
+ +
+
exception
+
return any errors or warnings in this structure.
+ +
+
+

GetOneVirtualPixel

+ +

GetOneVirtualPixel() returns a single virtual pixel at the specified (x,y) location. The image background color is returned if an error occurs. If you plan to modify the pixel, use GetOneAuthenticPixel() instead.

+ +

The format of the GetOneVirtualPixel() method is:

+ +
+MagickBooleanType GetOneVirtualPixel(const Image image,const ssize_t x,
+  const ssize_t y,Quantum *pixel,ExceptionInfo exception)
+
+ +

A description of each parameter follows:

+ +
+
+ +
+
+
image
+
the image.
+ +
+
x,y
+
These values define the location of the pixel to return.
+ +
+
pixel
+
return a pixel at the specified (x,y) location.
-

Examples of ImageMagick Usage shows how to use ImageMagick from the command-line to accomplish any of these tasks and much more. Also, see Fred's ImageMagick Scripts: a plethora of command-line scripts that perform geometric transforms, blurs, sharpens, edging, noise removal, and color manipulations. With Magick.NET, use ImageMagick without having to install ImageMagick on your server or desktop.

+
+
exception
+
return any errors or warnings in this structure.
-

News

+
+
+

GetOneVirtualPixelInfo

-

Now that ImageMagick version 7 is released, we continue to maintain the legacy release of ImageMagick, version 6, at https://legacy.imagemagick.org. Learn how ImageMagick version 7 differs from previous versions with our porting guide.

+

GetOneVirtualPixelInfo() returns a single pixel at the specified (x,y) location. The image background color is returned if an error occurs. If you plan to modify the pixel, use GetOneAuthenticPixel() instead.

-

ImageMagick best practices strongly encourages you to configure a security policy that suits your local environment.

+

The format of the GetOneVirtualPixelInfo() method is:

-

As an analog to linear (RGB) and non-linear (sRGB) color colorspaces, as of ImageMagick 7.0.7-17, we introduce the LinearGray colorspace. Gray is non-linear grayscale and LinearGray is linear (e.g. -colorspace linear-gray).

+
+MagickBooleanType GetOneVirtualPixelInfo(const Image image,
+  const VirtualPixelMethod virtual_pixel_method,const ssize_t x,
+  const ssize_t y,PixelInfo *pixel,ExceptionInfo exception)
+
-

Want more performance from ImageMagick? Try these options:

+

A description of each parameter follows:

- -

If these options are prohibitive, you can reduce the quality of the image results. The default build is Q16 HDRI. If you disable HDRI, you use half the memory and instead of predominately floating point operations, you use the typically more efficient integer operations. The tradeoff is reduced precision and you cannot process out of range pixel values (e.g. negative). If you build the Q8 non-HDRI version of ImageMagick, you again reduce the memory requirements in half-- and once again there is a tradeoff, even less precision and no out of range pixel values. For a Q8 non-HDRI build of ImageMagick, use these configure script options: --with-quantum-depth=8 --disable-hdri.

+
+
-

Community

-

To join the ImageMagick community, try the discourse server. You can review questions or comments (with informed responses) posed by ImageMagick users or ask your own questions. If you want to contribute image processing algorithms, other enhancements, or bug fixes, open an issue.

+
+
+
image
+
the image.
+ +
+
virtual_pixel_method
+
the virtual pixel method.
+ +
+
x,y
+
these values define the location of the pixel to return.
+ +
+
pixel
+
return a pixel at the specified (x,y) location.
+ +
+
exception
+
return any errors or warnings in this structure.
+ +
+
+

GetVirtualMetacontent

+ +

GetVirtualMetacontent() returns the virtual metacontent corresponding with the last call to QueueAuthenticPixels() or GetVirtualPixels(). NULL is returned if the meta-content are not available.

+ +

The format of the GetVirtualMetacontent() method is:

+ +
+const void *GetVirtualMetacontent(const Image *image)
+
+ +

A description of each parameter follows:

+ +
+
+ +
+
+
image
+
the image.
+ +
+
+

GetVirtualPixelQueue

+ +

GetVirtualPixelQueue() returns the virtual pixels associated corresponding with the last call to QueueAuthenticPixels() or GetVirtualPixels().

+ +

The format of the GetVirtualPixelQueue() method is:

+ +
+const Quantum *GetVirtualPixelQueue(const Image image)
+
+ +

A description of each parameter follows:

+ +
+
+ +
+
+
image
+
the image.
+ +
+
+

GetVirtualPixels

+ +

GetVirtualPixels() returns an immutable pixel region. If the region is successfully accessed, a pointer to it is returned, otherwise NULL is returned. The returned pointer may point to a temporary working copy of the pixels or it may point to the original pixels in memory. Performance is maximized if the selected region is part of one row, or one or more full rows, since there is opportunity to access the pixels in-place (without a copy) if the image is in memory, or in a memory-mapped file. The returned pointer must *never* be deallocated by the user.

+ +

Pixels accessed via the returned pointer represent a simple array of type Quantum. If the image type is CMYK or the storage class is PseudoClass, call GetAuthenticMetacontent() after invoking GetAuthenticPixels() to access the meta-content (of type void) corresponding to the the region.

+ +

If you plan to modify the pixels, use GetAuthenticPixels() instead.

+ +

Note, the GetVirtualPixels() and GetAuthenticPixels() methods are not thread- safe. In a threaded environment, use GetCacheViewVirtualPixels() or GetCacheViewAuthenticPixels() instead.

+ +

The format of the GetVirtualPixels() method is:

+ +
+const Quantum *GetVirtualPixels(const Image *image,const ssize_t x,
+  const ssize_t y,const size_t columns,const size_t rows,
+  ExceptionInfo *exception)
+
+ +

A description of each parameter follows:

+ +
+
+ +
+
+
image
+
the image.
+ +
+
x,y,columns,rows
+
These values define the perimeter of a region of pixels.
+ +
+
exception
+
return any errors or warnings in this structure.
+ +
+
+

QueueAuthenticPixels

+ +

QueueAuthenticPixels() queues a mutable pixel region. If the region is successfully initialized a pointer to a Quantum array representing the region is returned, otherwise NULL is returned. The returned pointer may point to a temporary working buffer for the pixels or it may point to the final location of the pixels in memory.

+ +

Write-only access means that any existing pixel values corresponding to the region are ignored. This is useful if the initial image is being created from scratch, or if the existing pixel values are to be completely replaced without need to refer to their pre-existing values. The application is free to read and write the pixel buffer returned by QueueAuthenticPixels() any way it pleases. QueueAuthenticPixels() does not initialize the pixel array values. Initializing pixel array values is the application's responsibility.

+ +

Performance is maximized if the selected region is part of one row, or one or more full rows, since then there is opportunity to access the pixels in-place (without a copy) if the image is in memory, or in a memory-mapped file. The returned pointer must *never* be deallocated by the user.

+ +

Pixels accessed via the returned pointer represent a simple array of type Quantum. If the image type is CMYK or the storage class is PseudoClass, call GetAuthenticMetacontent() after invoking GetAuthenticPixels() to obtain the meta-content (of type void) corresponding to the region. Once the Quantum (and/or Quantum) array has been updated, the changes must be saved back to the underlying image using SyncAuthenticPixels() or they may be lost.

+ +

The format of the QueueAuthenticPixels() method is:

+ +
+Quantum *QueueAuthenticPixels(Image *image,const ssize_t x,
+  const ssize_t y,const size_t columns,const size_t rows,
+  ExceptionInfo *exception)
+
+ +

A description of each parameter follows:

+ +
+
+ +
+
+
image
+
the image.
+ +
+
x,y,columns,rows
+
These values define the perimeter of a region of pixels.
+ +
+
exception
+
return any errors or warnings in this structure.
+ +
+
+

SetPixelCacheVirtualMethod

+ +

SetPixelCacheVirtualMethod() sets the "virtual pixels" method for the pixel cache and returns the previous setting. A virtual pixel is any pixel access that is outside the boundaries of the image cache.

+ +

The format of the SetPixelCacheVirtualMethod() method is:

+ +
+VirtualPixelMethod SetPixelCacheVirtualMethod(Image *image,
+  const VirtualPixelMethod virtual_pixel_method,ExceptionInfo *exception)
+
+ +

A description of each parameter follows:

+ +
+
+ +
+
+
image
+
the image.
+ +
+
virtual_pixel_method
+
choose the type of virtual pixel.
+ +
+
exception
+
return any errors or warnings in this structure.
+ +
+
+

SyncAuthenticPixels

+ +

SyncAuthenticPixels() saves the image pixels to the in-memory or disk cache. The method returns MagickTrue if the pixel region is flushed, otherwise MagickFalse.

+ +

The format of the SyncAuthenticPixels() method is:

+ +
+MagickBooleanType SyncAuthenticPixels(Image *image,
+  ExceptionInfo *exception)
+
+ +

A description of each parameter follows:

+ +
+
+ +
+
+
image
+
the image.
+ +
+
exception
+
return any errors or warnings in this structure.
+ +
+
- + + \ No newline at end of file diff --git a/www/api/channel.html b/www/api/channel.html index 96f0c4664..5dfe5c6a1 100644 --- a/www/api/channel.html +++ b/www/api/channel.html @@ -9,7 +9,7 @@ MagickCore, C API: Get or Set Image Channels @ ImageMagick - + @@ -19,19 +19,25 @@ - + + + + + + + - - - + + +