320 lines
20 KiB
HTML
320 lines
20 KiB
HTML
|
||
|
||
|
||
|
||
<!doctype html>
|
||
<html lang="en" data-bs-theme="dark">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
<title>ImageMagick – Multispectral Imagery</title>
|
||
<meta name="keywords" content="Multispectral Imagery, Image Processing, Digital Image Editing, Image Conversion, Open-Source Software, Image Manipulation, Command-Line Image Tools" />
|
||
<meta name="description" content="ImageMagick is a powerful, open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for web developers, graphic designers, and researchers, it offers versatile tools for image processing, including batch processing, format conversion, and complex image transformations." />
|
||
<meta name="application-name" content="ImageMagick" />
|
||
<meta name="application-url" content="https://imagemagick.org" />
|
||
<meta name="copyright" content="Copyright (c) 1999 ImageMagick Studio LLC" />
|
||
<meta itemprop='url' content='../' />
|
||
<meta itemprop='title' content='ImageMagick' />
|
||
<meta itemprop='description' content="ImageMagick is a powerful, open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for web developers, graphic designers, and researchers, it offers versatile tools for image processing, including batch processing, format conversion, and complex image transformations." />
|
||
<meta property='og:url' content='../' />
|
||
<meta property='og:name' content='ImageMagick' />
|
||
<meta property='og:image' content='../images/logo.png' />
|
||
<meta property='og:type' content='website' />
|
||
<meta property='og:site_name' content='ImageMagick' />
|
||
<meta property='og:description' content="ImageMagick is a powerful, open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for web developers, graphic designers, and researchers, it offers versatile tools for image processing, including batch processing, format conversion, and complex image transformations." />
|
||
<meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
|
||
<link type="images/png" sizes="64x64" href="../images/wand.png" rel="icon" />
|
||
<link type="images/icon" sizes="16x16" href="../images/wand.ico" rel="shortcut icon" />
|
||
<link href="multispectral-imagery.html" rel="canonical" />
|
||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@docsearch/css@3" />
|
||
<link href="assets/magick.css" rel="stylesheet" />
|
||
<script src="assets/color-modes.js" ></script>
|
||
<script async src="https://localhost/pagead/js/adsbygoogle.js?client=ca-pub-3129977114552745" crossorigin="anonymous"></script>
|
||
<script async src="https://localhost/cse.js?cx=006134137889097767902:turn9fku95u"> </script>
|
||
</head>
|
||
<body>
|
||
<svg xmlns="http://www.w3.org/2000/svg" class="d-none">
|
||
<symbol id="check2" viewBox="0 0 16 16">
|
||
<path d="M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z"/>
|
||
</symbol>
|
||
<symbol id="circle-half" viewBox="0 0 16 16">
|
||
<path d="M8 15A7 7 0 1 0 8 1v14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
|
||
</symbol>
|
||
<symbol id="moon-stars-fill" viewBox="0 0 16 16">
|
||
<path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z"/>
|
||
<path d="M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z"/>
|
||
</symbol>
|
||
<symbol id="sun-fill" viewBox="0 0 16 16">
|
||
<path d="M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"/>
|
||
</symbol>
|
||
</svg>
|
||
<div class="dropdown position-fixed bottom-0 end-0 mb-3 me-3 bd-mode-toggle">
|
||
<button class="btn btn-bd-secondary py-2 dropdown-toggle d-flex align-items-center"
|
||
id="bd-theme"
|
||
type="button"
|
||
aria-expanded="false"
|
||
data-bs-toggle="dropdown"
|
||
aria-label="Toggle theme (auto)">
|
||
<svg class="bi my-1 theme-icon-active" width="1em" height="1em"><use href="#circle-half"></use></svg>
|
||
<span class="visually-hidden" id="bd-theme-text">Toggle theme</span>
|
||
</button>
|
||
<ul class="dropdown-menu dropdown-menu-end shadow" aria-labelledby="bd-theme-text">
|
||
<li>
|
||
<button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="light" aria-pressed="false">
|
||
<svg class="bi me-2 opacity-50" width="1em" height="1em"><use href="#sun-fill"></use></svg>
|
||
Light
|
||
<svg class="bi ms-auto d-none" width="1em" height="1em"><use href="#check2"></use></svg>
|
||
</button>
|
||
</li>
|
||
<li>
|
||
<button type="button" class="dropdown-item d-flex align-items-center active" data-bs-theme-value="dark" aria-pressed="false">
|
||
<svg class="bi me-2 opacity-50" width="1em" height="1em"><use href="#moon-stars-fill"></use></svg>
|
||
Dark
|
||
<svg class="bi ms-auto d-none" width="1em" height="1em"><use href="#check2"></use></svg>
|
||
</button>
|
||
</li>
|
||
<li>
|
||
<button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="auto" aria-pressed="true">
|
||
<svg class="bi me-2 opacity-50" width="1em" height="1em"><use href="#circle-half"></use></svg>
|
||
Auto
|
||
<svg class="bi ms-auto d-none" width="1em" height="1em"><use href="#check2"></use></svg>
|
||
</button>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<svg xmlns="http://www.w3.org/2000/svg" class="d-none">
|
||
<symbol id="arrow-right-circle" viewBox="0 0 16 16">
|
||
<path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z"/>
|
||
</symbol>
|
||
<symbol id="color-mode" viewBox="0 0 118 94">
|
||
<title>Color Modes</title>
|
||
<path fill-rule="evenodd" clip-rule="evenodd" d="M24.509 0c-6.733 0-11.715 5.893-11.492 12.284.214 6.14-.064 14.092-2.066 20.577C8.943 39.365 5.547 43.485 0 44.014v5.972c5.547.529 8.943 4.649 10.951 11.153 2.002 6.485 2.28 14.437 2.066 20.577C12.794 88.106 17.776 94 24.51 94H93.5c6.733 0 11.714-5.893 11.491-12.284-.214-6.14.064-14.092 2.066-20.577 2.009-6.504 5.396-10.624 10.943-11.153v-5.972c-5.547-.529-8.934-4.649-10.943-11.153-2.002-6.484-2.28-14.437-2.066-20.577C105.214 5.894 100.233 0 93.5 0H24.508zM80 57.863C80 66.663 73.436 72 62.543 72H44a2 2 0 01-2-2V24a2 2 0 012-2h18.437c9.083 0 15.044 4.92 15.044 12.474 0 5.302-4.01 10.049-9.119 10.88v.277C75.317 46.394 80 51.21 80 57.863zM60.521 28.34H49.948v14.934h8.905c6.884 0 10.68-2.772 10.68-7.727 0-4.643-3.264-7.207-9.012-7.207zM49.948 49.2v16.458H60.91c7.167 0 10.964-2.876 10.964-8.281 0-5.406-3.903-8.178-11.425-8.178H49.948z"></path>
|
||
</symbol>
|
||
</svg>
|
||
<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
|
||
<div class="container-fluid">
|
||
<a class="navbar-brand" href="../index.html"><img class="d-block" id="icon" alt="ImageMagick" width="32" height="32" src="../images/wand.ico"/></a>
|
||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#magick-navbars" aria-controls="magick-navbars" aria-expanded="false" aria-label="Toggle navigation">
|
||
<span class="navbar-toggler-icon"></span>
|
||
</button>
|
||
|
||
<div class="collapse navbar-collapse" id="magick-navbars">
|
||
<ul class="navbar-nav me-auto mb-2 mb-md-0">
|
||
<li class="nav-item">
|
||
<a class="nav-link " href="download.html">Download</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link " href="command-line-tools.html">Tools</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link " href="command-line-processing.html">CLI</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link " href="develop.html">Develop</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link" target="_blank" href="https://github.com/ImageMagick/ImageMagick/discussions">Community</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<iframe src="https://github.com/sponsors/ImageMagick/button" title="Sponsor ImageMagick" height="35" width="107" style="border: 0;"></iframe>
|
||
</li>
|
||
</ul>
|
||
<form class="d-flex form-inline" action="search.html">
|
||
<input class="form-control me-2" type="text" name="q" placeholder="Search" aria-label="Search">
|
||
<button class="btn btn-outline-success" type="submit" name="sa">Search</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<div class="col-lg-8 mx-auto p-4 py-md-5 text-body-secondary">
|
||
<header class="d-flex align-items-center pb-3 mb-5 border-bottom">
|
||
<a href="../index.html" class="d-flex align-items-center text-decoration-none">
|
||
<h1 class="fs-4">Multispectral Imagery</h1>
|
||
</a>
|
||
</header>
|
||
|
||
<main class="container">
|
||
<div>
|
||
<p class="lead">Multispectral imagery refers to images that are captured using multiple bands of the electromagnetic spectrum, beyond just the visible light spectrum. This means that they capture data across a wider range of wavelengths, from ultraviolet to infrared.</p>
|
||
<p>By capturing data across multiple spectral bands, multispectral imagery can provide additional information about the objects or scenes being imaged, such as their composition, temperature, and vegetation health. This information can be used for a wide range of applications, including agriculture, environmental monitoring, disaster response, and military surveillance.</p>
|
||
<p>Multispectral imagery is often captured using specialized sensors on satellites, drones, or aircraft. The data is then processed using specialized software to create images that display the information captured in each spectral band.</p>
|
||
<p>Overall, multispectral imagery provides a powerful tool for analyzing and understanding the world around us, allowing us to gain insights that would be impossible to obtain using visible light imagery alone.</p>
|
||
<h4>Multispectral Support in ImageMagick</h4>
|
||
<p>ImageMagick supports multispectral images where all channels have the same dimensions and number of pixels as the original image. However, not all image formats support multispectral images. PSD, TIFF, MIFF, MPC, and <a href="http://im.snibgo.com/fmttxt.htm">FTXT</a> have full support for multispectral images up to 31 bands with 21 meta channels. If you build ImageMagick with the configure script <samp>--enable-64bit-channel-masks</samp> option, you can process 62 band multispectral images with up to 52 meta channels.</p>
|
||
<p>We call image channels beyond the standard RGB(A) or CMYK(A) channels, "meta" channels. We label them as "meta", "meta1", "meta2", etc.. Meta channels are treated the same as any other channel meaning they can be read, written, and operated upon-- e.g., resized, gamma adjusted, etc.</p>
|
||
<h5>Create a Multispectral Image</h5>
|
||
<p>Begin with a multispectral image, typically in the TIFF or PSD format. If you don't have one, you can create your own. In our example, we create a single CMYK pixel with two meta channels. Stuff this in a file titled <code>multiMeta.txt</code>:</p>
|
||
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>0,0: 10,20,30,40,50,60</samp></pre>
|
||
<p>Let's convert that to the TIFF image format:</p>
|
||
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>$ magick -size 1x1 -colorspace CMYK -define ftxt:format="\x,\y:\c\n" -define ftxt:hasalpha=false -define ftxt:nummeta=2 ftxt:multiMeta.txt multiMeta.tif</samp></pre>
|
||
<p>Let confirm that worked as expected:<p>
|
||
<pre class="pre-scrollable p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>$ identify -verbose multiMeta.tif
|
||
Image:
|
||
Filename: multiMeta.tif
|
||
Permissions: rw-------
|
||
Format: TIFF (Tagged Image File Format)
|
||
Mime type: images/tiff
|
||
Class: DirectClass
|
||
Geometry: 1x1+0+0
|
||
Units: PixelsPerInch
|
||
Colorspace: CMYK
|
||
Type: ColorSeparation
|
||
Endianness: LSB
|
||
Depth: 16-bit
|
||
Channels: 6.2
|
||
Channel depth:
|
||
Cyan: 16-bit
|
||
Magenta: 16-bit
|
||
Yellow: 16-bit
|
||
Black: 16-bit
|
||
Meta channel[0]: 16-bit
|
||
Meta channel[1]: 16-bit
|
||
Channel statistics:
|
||
Pixels: 1
|
||
Cyan:
|
||
min: 10 (0.00015259)
|
||
max: 10 (0.00015259)
|
||
mean: 10 (0.00015259)
|
||
median: 10 (0.00015259)
|
||
standard deviation: 0 (0)
|
||
kurtosis: -3
|
||
skewness: 0
|
||
entropy: 0
|
||
Magenta:
|
||
min: 20 (0.00030518)
|
||
max: 20 (0.00030518)
|
||
mean: 20 (0.00030518)
|
||
median: 20 (0.00030518)
|
||
standard deviation: 0 (0)
|
||
kurtosis: -3
|
||
skewness: 0
|
||
entropy: 0
|
||
Yellow:
|
||
min: 30 (0.000457771)
|
||
max: 30 (0.000457771)
|
||
mean: 30 (0.000457771)
|
||
median: 30 (0.000457771)
|
||
standard deviation: 0 (0)
|
||
kurtosis: -3
|
||
skewness: 0
|
||
entropy: 0
|
||
Black:
|
||
min: 40 (0.000610361)
|
||
max: 40 (0.000610361)
|
||
mean: 40 (0.000610361)
|
||
median: 40 (0.000610361)
|
||
standard deviation: 0 (0)
|
||
kurtosis: -3
|
||
skewness: 0
|
||
entropy: 0
|
||
Meta channel[0]:
|
||
min: 50 (0.000762951)
|
||
max: 50 (0.000762951)
|
||
mean: 50 (0.000762951)
|
||
median: 50 (0.000762951)
|
||
standard deviation: 0 (0)
|
||
kurtosis: -3
|
||
skewness: 0
|
||
entropy: 0
|
||
Meta channel[1]:
|
||
min: 60 (0.000915541)
|
||
max: 60 (0.000915541)
|
||
mean: 60 (0.000915541)
|
||
median: 60 (0.000915541)
|
||
standard deviation: 0 (0)
|
||
kurtosis: -3
|
||
skewness: 0
|
||
entropy: 0
|
||
Image statistics:
|
||
Overall:
|
||
min: 10 (0.00015259)
|
||
max: 60 (0.000915541)
|
||
mean: 35 (0.000534066)
|
||
median: 35 (0.000534066)
|
||
standard deviation: 0 (0)
|
||
kurtosis: -1.79762
|
||
skewness: 4.44476e-15
|
||
entropy: 0
|
||
Total ink density: 0.15259%
|
||
Colors: 1
|
||
Histogram:
|
||
1: (10,20,30,40) #000A0014001E0028 cmyk(0.0389105,0.077821,0.116732,0.155642)
|
||
Rendering intent: Perceptual
|
||
Gamma: 0.454545
|
||
Chromaticity:
|
||
red primary: (0.64,0.33)
|
||
green primary: (0.3,0.6)
|
||
blue primary: (0.15,0.06)
|
||
white point: (0.3127,0.329)
|
||
Matte color: grey74
|
||
Background color: white
|
||
Border color: srgb(223,223,223)
|
||
Transparent color: black
|
||
Interlace: None
|
||
Intensity: Undefined
|
||
Compose: Over
|
||
Page geometry: 1x1+0+0
|
||
Dispose: Undefined
|
||
Iterations: 0
|
||
Compression: None
|
||
Orientation: TopLeft
|
||
Properties:
|
||
date:create: 2023-03-12T11:38:42+00:00
|
||
date:modify: 2023-03-12T11:38:42+00:00
|
||
date:timestamp: 2023-03-12T11:38:56+00:00
|
||
signature: c51848f16d296f7c95be14404cc582f49db6fd33f31b544a2ce10e440b3747b3
|
||
tiff:alpha: unspecified
|
||
tiff:endian: lsb
|
||
tiff:photometric: separated
|
||
tiff:rows-per-strip: 1
|
||
Artifacts:
|
||
verbose: true
|
||
Tainted: False
|
||
Filesize: 306B
|
||
Number pixels: 1
|
||
</samp></pre>
|
||
<p>Notice the channel depth and statistics associated with the two meta channels.<p>
|
||
<h5>Working with Multispectral Images</h5>
|
||
<p>Meta channels are treated the same as any other channel meaning they can be read, written, and operated upon-- e.g., resized, gamma adjusted, etc.. Here, we replace the first channel with the contents of the meta channel:<p>
|
||
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>magick multiMeta.tif -channel-fx 'meta1=>cyan' multiMeta-1.tif</samp></pre>
|
||
<p>The original cyan channel has an intensity of 10. It's now, per the channel FX instructions, 50.<p>
|
||
<p>And in this example, we create two meta channels:</p>
|
||
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>magick lena.png \( mandril3.jpg -colorspace gray \) -channel-fx '| gray=>meta' \( zelda1.jpg -colorspace gray \) -channel-fx '| gray=>meta1' meta.tif</samp></pre>
|
||
<p>In this example, we blend two meta channels into a single alpha channel:</p>
|
||
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>magick in.tiff -alpha opaque \( +clone -set colorspace sRGB -channel-fx "meta0=>red meta1=>green" \) -channel A -fx "(v.r+v.g)/2" +channel out.tiff</samp></pre>
|
||
<br/>
|
||
<h5>Writing Multispectral Images</h5>
|
||
<p>You can preserve multispectral images by writing them to a format that supports meta channels such as TIFF or PSD. If you write to other image formats that do not support multisprectal images, the channels are not preserved and instead lost-- e.g., PNG. In this example, we read, resize, and write a multispectral image:</p>
|
||
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>magick multiMeta.tif -resize 50% resizedMeta.tif</samp></pre>
|
||
</div>
|
||
</div>
|
||
</main><!-- /.container -->
|
||
<footer class="py-5 text-center text-body-secondary bg-body-tertiary">
|
||
<div class="container-fluid">
|
||
<a href="security-policy.html">Security</a> •
|
||
<a href="news.html">News</a>
|
||
|
||
<a href="#"><img class="d-inline" id="wand" alt="And Now a Touch of Magick" width="16" height="16" src="../images/wand.ico"/></a>
|
||
|
||
<a href="links.html">Related</a> •
|
||
<a href="sitemap.html">Sitemap</a>
|
||
<br/>
|
||
<a href="support.html">Sponsor</a> •
|
||
<a href="cite.html">Cite</a> •
|
||
<a href="http://pgp.mit.edu/pks/lookup?op=get&search=0x89AB63D48277377A">Public Key</a> •
|
||
<a href="https://imagemagick.org/script/contact.php">Contact Us</a>
|
||
<br/>
|
||
<a href="https://github.com/imagemagick/imagemagick" target="_blank" rel="noopener" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="navbar-nav-svg" viewBox="0 0 512 499.36" width="2%" height="2%" role="img" focusable="false"><title>GitHub</title><path fill="currentColor" fill-rule="evenodd" d="M256 0C114.64 0 0 114.61 0 256c0 113.09 73.34 209 175.08 242.9 12.8 2.35 17.47-5.56 17.47-12.34 0-6.08-.22-22.18-.35-43.54-71.2 15.49-86.2-34.34-86.2-34.34-11.64-29.57-28.42-37.45-28.42-37.45-23.27-15.84 1.73-15.55 1.73-15.55 25.69 1.81 39.21 26.38 39.21 26.38 22.84 39.12 59.92 27.82 74.5 21.27 2.33-16.54 8.94-27.82 16.25-34.22-56.84-6.43-116.6-28.43-116.6-126.49 0-27.95 10-50.8 26.35-68.69-2.63-6.48-11.42-32.5 2.51-67.75 0 0 21.49-6.88 70.4 26.24a242.65 242.65 0 0 1 128.18 0c48.87-33.13 70.33-26.24 70.33-26.24 14 35.25 5.18 61.27 2.55 67.75 16.41 17.9 26.31 40.75 26.31 68.69 0 98.35-59.85 120-116.88 126.32 9.19 7.9 17.38 23.53 17.38 47.41 0 34.22-.31 61.83-.31 70.23 0 6.85 4.61 14.81 17.6 12.31C438.72 464.97 512 369.08 512 256.02 512 114.62 397.37 0 256 0z"/></svg></a> •
|
||
<a href="https://twitter.com/imagemagick" target="_blank" rel="noopener" aria-label="Twitter"><svg xmlns="http://www.w3.org/2000/svg" class="navbar-nav-svg" viewBox="0 0 300 300" width="2%" height="2%" role="img" focusable="false"><title>Twitter</title><path d="M178.57 127.15 290.27 0h-26.46l-97.03 110.38L89.34 0H0l117.13 166.93L0 300.25h26.46l102.4-116.59 81.8 116.59h89.34M36.01 19.54H76.66l187.13 262.13h-40.66"/></svg></a>
|
||
<br/>
|
||
<small>Copyright © 1999 ImageMagick Studio LLC</small>
|
||
</div>
|
||
</footer>
|
||
</div>
|
||
|
||
<!-- Javascript assets -->
|
||
<script src="assets/magick.js" ></script>
|
||
</body>
|
||
</html>
|
||
<!-- Magick Cache 3rd November 2024 17:13 --> |