Files

698 lines
27 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, viewport-fit=cover" />
<!-- Title and Description -->
<title>ImageMagick | Command-line Tools: Composite</title>
<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 developers, designers, and researchers." />
<!-- Canonical URL -->
<link rel="canonical" href="composite.html" />
<!-- Robots -->
<meta name="robots" content="index, follow" />
<!-- Theme Color -->
<meta name="theme-color" content="#000000" />
<!-- Verification Tags -->
<meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
<!-- Favicon and Apple Icon -->
<link rel="shortcut icon" href="../images/wand.png" type="images/png" />
<link rel="apple-touch-icon" href="../images/wand.png" type="images/png" />
<!-- Preconnect for External Resources -->
<link rel="preconnect" href="../index.html" />
<!-- Stylesheets -->
<link rel="preload" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" as="style" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" />
<!-- Accessibility Enhancement -->
<style>
html {
scroll-padding-top: 70px;
}
a.nav-link:hover,
a.dropdown-item:hover {
color: #ffc107 !important;
text-shadow: 0px 2px 4px rgba(255, 193, 7, 0.8);
}
.btn-outline-warning {
color: #cd7f32;
border-color: #cd7f32;
}
.navbar-brand {
color: #d4af37;
transition: color 0.3s ease, text-shadow 0.3s ease;
}
.navbar-brand:hover {
color: #e9c03d;
text-shadow: 0px 2px 4px rgba(203, 163, 120, 0.6);
}
</style>
<!-- Open Graph Meta Tags -->
<meta property="og:title" content="ImageMagick | Command-line Tools: Composite" />
<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 developers, designers, and researchers." />
<meta property="og:image" content="../images/logo.png" />
<meta property="og:logo" content="../images/logo.png" />
<meta property="og:url" content="../www/composite.html" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="ImageMagick" />
<meta property="og:locale" content="en_us" />
<!-- Twitter Card Meta Tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@imagemagick" />
<meta name="twitter:creator" content="@imagemagick" />
<meta name="twitter:title" content="ImageMagick | Command-line Tools: Composite" />
<meta name="twitter:description" content="ImageMagick is a powerful open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for developers, designers, and researchers." />
<meta name="twitter:image" content="../images/logo.png" />
<meta name="twitter:image:alt" content="ImageMagick logo and tag line" />
<!-- JSON-LD Structured Data -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "ImageMagick",
"url": "../www/composite.html",
"image": "../images/logo.png",
"description": "ImageMagick is a powerful open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for developers, designers, and researchers.",
"applicationCategory": "Multimedia",
"operatingSystem": "Windows, macOS, Linux, Unix",
"softwareVersion": "7.1.2-3",
"license": "../www/license.html",
"creator": {
"@type": "Organization",
"name": "ImageMagick Studio LLC",
"url": "https://imagemagick.org"
},
"keywords": [
"Command-line Tools: Composite",
"image processing software",
"image conversion tool",
"batch image editing",
"open-source image editor",
"ImageMagick command-line",
"resize images ImageMagick",
"crop and rotate images",
"ImageMagick tutorial",
"ImageMagick automation",
"ImageMagick for developers",
"ImageMagick CLI",
"ImageMagick filters and effects",
"ImageMagick scripting",
"ImageMagick API integration"
],
"sameAs": [
"https://github.com/ImageMagick",
"https://x.com/imagemagick"
],
"offers": {
"@type": "Offer",
"price": "0.00",
"priceCurrency": "USD"
}
}
</script>
<!-- Google Custom Search -->
</head>
<body>
<script>
function setTheme(theme) {
localStorage.setItem('theme', theme);
updateThemeIcon(theme);
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? getSystemTheme() : theme);
}
function getSystemTheme() {
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
function updateThemeIcon(theme) {
const iconMap = {
light: '☀️',
dark: '🌙',
auto: '🌓'
};
document.getElementById('currentThemeIcon').textContent = iconMap[theme] || '🌓';
}
document.addEventListener('DOMContentLoaded', () => {
const savedTheme = localStorage.getItem('theme') || 'auto';
setTheme(savedTheme);
});
</script>
<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
<div class="container-fluid">
<a class="navbar-brand fw-bold" href="../index.html" title="$meta->sitename;">
ImageMagick </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">
<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" rel="noopener noreferrer" target="_blank" href="https://github.com/ImageMagick/ImageMagick/discussions">Community</a>
</li>
<li class="nav-item ms-4">
<iframe src="https://github.com/sponsors/ImageMagick/button" title="Sponsor ImageMagick" height="35" width="107" style="border: 0;"></iframe>
</li>
</ul>
<ul class="navbar-nav ms-auto">
<li class="nav-item ms-3">
<form class="d-flex form-inline" action="../www/search.html">
<input class="form-control me-2" type="text" name="q" placeholder="Search site..." aria-label="Search">
<button class="btn btn-outline-warning" type="submit" name="sa">Search</button>
</form>
</li>
<li class="nav-item dropdown ms-3">
<a class="nav-link dropdown-toggle" href="#" id="themeDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<span id="currentThemeIcon">🌓</span>
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="themeDropdown">
<li><a class="dropdown-item" href="#" onclick="setTheme('light')">☀️ Light</a></li>
<li><a class="dropdown-item" href="#" onclick="setTheme('dark')">🌙 Dark</a></li>
<li><a class="dropdown-item" href="#" onclick="setTheme('auto')">🌓 Auto</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div class="col-lg-8 mx-auto text-body-secondary pt-5 pt-lg-5">
<header class="d-flex align-items-center pb-3 mb-5 border-bottom">
<div class="mt-3 ms-3">
<a href="../index.html" class="text-decoration-none">
<h1 class="fs-2 mb-1">Command-line Tools: Composite</h1>
</a>
<h2 class="fs-5 text-muted">ImageMagick</h2>
</div>
</header>
<main role="main" class="container">
<div>
<p class="text-center"><a href="#usage">Example Usage</a><a href="#options">Option Summary</a></p>
<p class="lead">Use the <samp>composite</samp> program to overlap one image over another. See <a href="command-line-processing.html">Command Line Processing</a> for advice on how to structure your <samp>composite</samp> command or see below for example usages of the command.</p>
<h2><a class="anchor" id="usage"></a>Example Usage</h2>
<p>We list a few examples of the <samp>composite</samp> command here to illustrate its usefulness and ease of use. To get started, lets overlay a smiley face over a rose:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary cli"><samp>magick composite -gravity center smile.gif rose: rose-over.png </samp></pre>
<ul>
<a href="../images/smile.gif"><img src="../images/smile.gif" width="48" height="48" alt="smile" /></a>
<img src="../images/over.gif" width="56" height="46" alt="over" />
<a href="../images/rose.jpg"><img src="../images/rose.jpg" width="70" height="46" alt="rose" /></a>
<img style="margin-top:13px; margin-bottom:13px;" src="../images/right.gif" width="20" height="20" alt="==>" />
<a href="../images/rose-over.png"><img src="../images/rose-over.png" width="70" height="46" alt="rose" /></a>
</ul>
<p>You can create three-dimensional effect with the <var>Atop</var>:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary cli"><samp>magick -size 70x70 canvas:none -fill red -draw 'circle 35,35 10,30' red-circle.png
magick -size 70x70 canvas:none -draw "circle 35,35 35,20" -channel RGB -negate -channel A -gaussian-blur 0x8 white-highlight.png
magick composite -compose atop -geometry -13-17 white-highlight.png red-circle.png red-ball.png </samp></pre>
<ul>
<a href="../images/white-highlight.png"><img src="../images/white-highlight.png" width="70" height="70" alt="white highlight" /></a>
<img src="../images/atop.gif" width="56" height="70" alt="atop" />
<a href="../images/red-circle.png"><img src="../images/red-circle.png" width="70" height="70" alt="red circle" /></a>
<img style="margin-top:25px; margin-bottom:25px;" src="../images/right.gif" width="20" height="20" alt="==>" />
<a href="../images/red-ball.png"><img src="../images/red-ball.png" width="70" height="70" alt="red ball" /></a>
</ul>
<p>Or suppose you want to blend a bear into a stream <a href="https://github.com/ImageMagick/ImageMagick/discussions/4712">seamlessly</a>. Try this command:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary cli"><samp>magick -verbose stream.jpg bear.jpg bear_mask.png -define compose:args=400x0.0002+100 \
-compose seamless-blend -geometry +30+30 -composite bear-in-stream.png </samp></pre>
<p>The mask marks the area around the bear to blend. Seamless blending is an iterative process. Here, we limit the iterations to 400 or less if the blending converges (residual has an RMSE of less than 0.0002). The residual value (RMSE) is printed every 100 iterations. Note, seamless blending works most effectively when the HDRI feature is enabled.</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary cli"><samp>magick -verbose stream.jpg \( bear.jpg -read-mask only_bear.png \) bear_mask.png \
-define compose:args=400x0.0002+100 -compose seamless-blend -geometry +30+30 -composite \
bear-in-stream.png </samp></pre>
<p>Here we create read mask that marks the foreground object from its background. No blending is applied to the foreground object, just its surroundings. The read-mask preserves the colors of the bear and prevents them from lightening as in the first example. Note that read-masks must be black on white background as opposed to normal masks, which are white on black background.</p>
<p>You can find additional examples of using <samp>composite</samp> in <a href="../index.html">Examples of ImageMagick Usage</a>. You can find out more about them and the mathematics by looking at <a href="http://www.w3.org/TR/SVG12/rendering.html">SVG Alpha Compositing</a></p>
<h2><a class="anchor" id="options"></a>Option Summary</h2>
<p>The <samp>composite</samp> command recognizes these options. Click on an option to get more details about how that option works.</p>
<table class="table table-sm table-hover table-striped table-responsive">
<tbody>
<tr>
<th align="left">Option</th>
<th align="left">Description</th>
</tr>
<tr>
<td><a href="command-line-options.html#affine">-affine <var>matrix</var></a></td>
<td>affine transform matrix</td>
</tr>
<tr>
<td><a href="command-line-options.html#alpha">-alpha</a></td>
<td>on, activate, off, deactivate, set, opaque, copy",
transparent, extract, background, or shape the alpha channel</td>
</tr>
<tr>
<td><a href="command-line-options.html#authenticate">-authenticate <var>value</var></a></td>
<td>decrypt image with this password</td>
</tr>
<tr>
<td><a href="command-line-options.html#blend">-blend <var>geometry</var></a></td>
<td>blend images</td>
</tr>
<tr>
<td><a href="command-line-options.html#blue-primary">-blue-primary <var>point</var></a></td>
<td>chromaticity blue primary point</td>
</tr>
<tr>
<td><a href="command-line-options.html#border">-border <var>geometry</var></a></td>
<td>surround image with a border of color</td>
</tr>
<tr>
<td><a href="command-line-options.html#bordercolor">-bordercolor <var>color</var></a></td>
<td>border color</td>
</tr>
<tr>
<td><a href="command-line-options.html#channel">-channel <var>type</var></a></td>
<td>apply option to select image channels</td>
</tr>
<tr>
<td><a href="command-line-options.html#colors">-colors <var>value</var></a></td>
<td>preferred number of colors in the image</td>
</tr>
<tr>
<td><a href="command-line-options.html#colorspace">-colorspace <var>type</var></a></td>
<td>set image colorspace</td>
</tr>
<tr>
<td><a href="command-line-options.html#comment">-comment <var>string</var></a></td>
<td>annotate image with comment</td>
</tr>
<tr>
<td><a href="command-line-options.html#compose">-compose <var>operator</var></a></td>
<td>set image composite operator</td>
</tr>
<tr>
<td><a href="command-line-options.html#compress">-compress <var>type</var></a></td>
<td>image compression type</td>
</tr>
<tr>
<td><a href="command-line-options.html#debug">-debug <var>events</var></a></td>
<td>display copious debugging information</td>
</tr>
<tr>
<td><a href="command-line-options.html#decipher">-decipher <var>filename</var></a></td>
<td>convert cipher pixels to plain</td>
</tr>
<tr>
<td><a href="command-line-options.html#define">-define <var>format:option</var></a></td>
<td>define one or more image format options</td>
</tr>
<tr>
<td><a href="command-line-options.html#density">-density <var>geometry</var></a></td>
<td>horizontal and vertical density of the image</td>
</tr>
<tr>
<td><a href="command-line-options.html#depth">-depth <var>value</var></a></td>
<td>image depth</td>
</tr>
<tr>
<td><a href="command-line-options.html#displace">-displace <var>geometry</var></a></td>
<td>shift image pixels defined by a displacement map</td>
</tr>
<tr>
<td><a href="command-line-options.html#dissolve">-dissolve <var>value</var></a></td>
<td>dissolve the two images a given percent</td>
</tr>
<tr>
<td><a href="command-line-options.html#dither">-dither <var>method</var></a></td>
<td>apply error diffusion to image</td>
</tr>
<tr>
<td><a href="command-line-options.html#encipher">-encipher <var>filename</var></a></td>
<td>convert plain pixels to cipher pixels</td>
</tr>
<tr>
<td><a href="command-line-options.html#encoding">-encoding <var>type</var></a></td>
<td>text encoding type</td>
</tr>
<tr>
<td><a href="command-line-options.html#endian">-endian <var>type</var></a></td>
<td>endianness (MSB or LSB) of the image</td>
</tr>
<tr>
<td><a href="command-line-options.html#extract">-extract <var>geometry</var></a></td>
<td>extract area from image</td>
</tr>
<tr>
<td><a href="command-line-options.html#filter">-filter <var>type</var></a></td>
<td>use this filter when resizing an image</td>
</tr>
<tr>
<td><a href="command-line-options.html#font">-font <var>name</var></a></td>
<td>render text with this font</td>
</tr>
<tr>
<td><a href="command-line-options.html#geometry">-geometry <var>geometry</var></a></td>
<td>preferred size or location of the image</td>
</tr>
<tr>
<td><a href="command-line-options.html#gravity">-gravity <var>type</var></a></td>
<td>horizontal and vertical text placement</td>
</tr>
<tr>
<td><a href="command-line-options.html#green-primary">-green-primary <var>point</var></a></td>
<td>chromaticity green primary point</td>
</tr>
<tr>
<td><a href="command-line-options.html#help">-help</a></td>
<td>print program options</td>
</tr>
<tr>
<td><a href="command-line-options.html#identify">-identify</a></td>
<td>identify the format and characteristics of the image</td>
</tr>
<tr>
<td><a href="command-line-options.html#interlace">-interlace <var>type</var></a></td>
<td>type of image interlacing scheme</td>
</tr>
<tr>
<td><a href="command-line-options.html#interpolate">-interpolate <var>method</var></a></td>
<td>pixel color interpolation method</td>
</tr>
<tr>
<td><a href="command-line-options.html#label">-label <var>string</var></a></td>
<td>assign a label to an image</td>
</tr>
<tr>
<td><a href="command-line-options.html#level">-level <var>value</var></a></td>
<td>adjust the level of image contrast</td>
</tr>
<tr>
<td><a href="command-line-options.html#limit">-limit <var>type value</var></a></td>
<td>pixel cache resource limit</td>
</tr>
<tr>
<td><a href="command-line-options.html#log">-log <var>format</var></a></td>
<td>format of debugging information</td>
</tr>
<tr>
<td><a href="command-line-options.html#monitor">-monitor</a></td>
<td>monitor progress</td>
</tr>
<tr>
<td><a href="command-line-options.html#monochrome">-monochrome</a></td>
<td>transform image to black and white</td>
</tr>
<tr>
<td><a href="command-line-options.html#negate">-negate</a></td>
<td>replace each pixel with its complementary color </td>
</tr>
<tr>
<td><a href="command-line-options.html#page">-page <var>geometry</var></a></td>
<td>size and location of an image canvas (setting)</td>
</tr>
<tr>
<td><a href="command-line-options.html#pointsize">-pointsize <var>value</var></a></td>
<td>font point size</td>
</tr>
<tr>
<td><a href="command-line-options.html#profile">-profile <var>filename</var></a></td>
<td>add, delete, or apply an image profile</td>
</tr>
<tr>
<td><a href="command-line-options.html#quality">-quality <var>value</var></a></td>
<td>JPEG/MIFF/PNG compression level</td>
</tr>
<tr>
<td><a href="command-line-options.html#quantize">-quantize <var>colorspace</var></a></td>
<td>reduce image colors in this colorspace</td>
</tr>
<tr>
<td><a href="command-line-options.html#quiet">-quiet</a></td>
<td>suppress all warning messages</td>
</tr>
<tr>
<td><a href="command-line-options.html#red-primary">-red-primary <var>point</var></a></td>
<td>chromaticity red primary point</td>
</tr>
<tr>
<td><a href="command-line-options.html#regard-warnings">-regard-warnings</a></td>
<td>pay attention to warning messages.</td>
</tr>
<tr>
<td><a href="command-line-options.html#respect-parentheses">-respect-parentheses</a></td>
<td>settings remain in effect until parenthesis boundary.</td>
</tr>
<tr>
<td><a href="command-line-options.html#rotate">-rotate <var>degrees</var></a></td>
<td>apply Paeth rotation to the image</td>
</tr>
<tr>
<td><a href="command-line-options.html#sampling-factor">-sampling-factor <var>geometry</var></a></td>
<td>horizontal and vertical sampling factor</td>
</tr>
<tr>
<td><a href="command-line-options.html#scene">-scene <var>value</var></a></td>
<td>image scene number</td>
</tr>
<tr>
<td><a href="command-line-options.html#seed">-seed <var>value</var></a></td>
<td>seed a new sequence of pseudo-random numbers</td>
</tr>
<tr>
<td><a href="command-line-options.html#set">-set <var>attribute value</var></a></td>
<td>set an image attribute</td>
</tr>
<tr>
<td><a href="command-line-options.html#sharpen">-sharpen <var>geometry</var></a></td>
<td>sharpen the image</td>
</tr>
<tr>
<td><a href="command-line-options.html#shave">-shave <var>geometry</var></a></td>
<td>shave pixels from the image edges</td>
</tr>
<tr>
<td><a href="command-line-options.html#size">-size <var>geometry</var></a></td>
<td>width and height of image</td>
</tr>
<tr>
<td><a href="command-line-options.html#stegano">-stegano <var>offset</var></a></td>
<td>hide watermark within an image</td>
</tr>
<tr>
<td><a href="command-line-options.html#stereo">-stereo <var>geometry</var></a></td>
<td>combine two image to create a stereo anaglyph</td>
</tr>
<tr>
<td><a href="command-line-options.html#strip">-strip</a></td>
<td>strip image of all profiles and comments</td>
</tr>
<tr>
<td><a href="command-line-options.html#swap">-swap <var>indexes</var></a></td>
<td>swap two images in the image sequence</td>
</tr>
<tr>
<td><a href="command-line-options.html#synchronize">-synchronize</a></td>
<td>synchronize image to storage device</td>
</tr>
<tr>
<td><a href="command-line-options.html#taint">-taint</a></td>
<td>mark the image as modified</td>
</tr>
<tr>
<td><a href="command-line-options.html#thumbnail">-thumbnail <var>geometry</var></a></td>
<td>create a thumbnail of the image</td>
</tr>
<tr>
<td><a href="command-line-options.html#tile">-tile</a></td>
<td>repeat composite operation across and down image</td>
</tr>
<tr>
<td><a href="command-line-options.html#transform">-transform</a></td>
<td>affine transform image</td>
</tr>
<tr>
<td><a href="command-line-options.html#transparent-color">-transparent-color <var>color</var></a></td>
<td>transparent color</td>
</tr>
<tr>
<td><a href="command-line-options.html#treedepth">-treedepth <var>value</var></a></td>
<td>color tree depth</td>
</tr>
<tr>
<td><a href="command-line-options.html#type">-type <var>type</var></a></td>
<td>image type</td>
</tr>
<tr>
<td><a href="command-line-options.html#units">-units <var>type</var></a></td>
<td>the units of image resolution</td>
</tr>
<tr>
<td><a href="command-line-options.html#unsharp">-unsharp <var>geometry</var></a></td>
<td>sharpen the image</td>
</tr>
<tr>
<td><a href="command-line-options.html#verbose">-verbose</a></td>
<td>print detailed information about the image</td>
</tr>
<tr>
<td><a href="command-line-options.html#version">-version</a></td>
<td>print version information</td>
</tr>
<tr>
<td><a href="command-line-options.html#virtual-pixel">-virtual-pixel <var>method</var></a></td>
<td>access method for pixels outside the boundaries of the image</td>
</tr>
<tr>
<td><a href="command-line-options.html#watermark">-watermark <var>geometry</var></a></td>
<td>percent brightness and saturation of a watermark</td>
</tr>
<tr>
<td><a href="command-line-options.html#white-point">-white-point <var>point</var></a></td>
<td>chromaticity white point</td>
</tr>
<tr>
<td><a href="command-line-options.html#white-threshold">-white-threshold <var>value</var></a></td>
<td>force all pixels above the threshold into white</td>
</tr>
<tr>
<td><a href="command-line-options.html#write">-write <var>filename</var></a></td>
<td>write images to this file</td>
</tr>
</tbody>
</table>
</div>
<a aria-label="About ImageMagick" class="btn btn-outline-warning mt-3" href="../index.html">About ImageMagick</a>
</main><!-- /.container -->
<footer class="text-center pt-5 my-5 text-body-secondary border-top">
<div class="container-fluid">
<a href="security-policy.html">Security</a>
<a href="../www/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="../www/links.html">Related</a>
<a href="../www/sitemap.html">Sitemap</a>
<br>
<a href="../www/support.html">Sponsor</a>
<a href="../www/cite.html">Cite</a>
<a href="http://pgp.mit.edu/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a>
<a href="../www/https://imagemagick.org/script/contact.php">Contact Us</a>
<br>
<a href="https://github.com/imagemagick/imagemagick" rel="noopener noreferrer" target="_blank" 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" rel="noopener noreferrer" target="_blank" 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="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js" integrity="sha384-FKyoEForCGlyvwx9Hj09JcYn3nv7wiPVlz7YYwJrWVcXK/BmnVDxM+D2scQbITxI" crossorigin="anonymous"></script>
~
</body>
</html>
<!-- Magick Cache 3rd October 2025 23:14 -->