blob: 821ec396d285e556fe00c439a0f21fc04028704c [file] [log] [blame]
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>ImageMagick - MagickCore, C API: Read or Write Binary Large OBjects</title>
<meta name="application-name" content="ImageMagick" />
<meta name="description" content="Use ImageMagick® to create, edit, compose, and convert digital images. Resize an image, crop it, change its shades and colors, add captions, and more." />
<meta name="application-url" content="https://imagemagick.org" />
<meta name="generator" content="PHP" />
<meta name="keywords" content="magickcore, c, api:, read, or, write, binary, large, objects, image processing software" />
<meta name="rating" content="GENERAL" />
<meta name="robots" content="INDEX, FOLLOW" />
<meta name="generator" content="ImageMagick Studio LLC" />
<meta name="author" content="ImageMagick Studio LLC" />
<meta name="revisit-after" content="2 DAYS" />
<meta name="resource-type" content="document" />
<meta name="copyright" content="Copyright (c) 1999-2020 ImageMagick Studio LLC" />
<meta name="distribution" content="Global" />
<meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
<meta property='og:url' content='../../' />
<meta property='og:title' 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="Create, Edit, Compose, or Convert Digital Images" />
<meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
<link href="blob.html" rel="canonical" />
<link href="../../../images/wand.png" rel="icon" />
<link href="../../../images/wand.ico" rel="shortcut icon" />
<link href="../../assets/magick.css" rel="stylesheet" />
</head>
<body>
<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
<div class="container-fluid">
<a class="navbar-brand" href="../../"><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="../../www/index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link " href="../../www/download.html">Download</a>
</li>
<li class="nav-item">
<a class="nav-link " href="../../www/command-line-tools.html">Tools</a>
</li>
<li class="nav-item">
<a class="nav-link " href="../../www/command-line-processing.html">CLI</a>
</li>
<li class="nav-item">
<a class="nav-link " href="../../www/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="https://imagemagick.org/script/search.php">
<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="container">
<script async="async" src="https://localhost/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-3129977114552745"
data-ad-slot="6345125851"
data-full-width-responsive="true"
data-ad-format="horizontal"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
<main class="container">
<div class="magick-template">
<div class="magick-header">
<p class="text-center"><a href="blob.html#BlobToImage">BlobToImage</a> &#8226; <a href="blob.html#CustomStreamToImage">CustomStreamToImage</a> &#8226; <a href="blob.html#FileToBlob">FileToBlob</a> &#8226; <a href="blob.html#FileToImage">FileToImage</a> &#8226; <a href="blob.html#GetBlobProperties">GetBlobProperties</a> &#8226; <a href="blob.html#ImageToBlob">ImageToBlob</a> &#8226; <a href="blob.html#ImageToFile">ImageToFile</a> &#8226; <a href="blob.html#ImagesToBlob">ImagesToBlob</a> &#8226; <a href="blob.html#InjectImageBlob">InjectImageBlob</a> &#8226; <a href="blob.html#IsBlobExempt">IsBlobExempt</a> &#8226; <a href="blob.html#IsBlobSeekable">IsBlobSeekable</a> &#8226; <a href="blob.html#IsBlobTemporary">IsBlobTemporary</a></p>
<h2><a href="../../api/MagickCore/blob_8c.html" id="BlobToImage">BlobToImage</a></h2>
<p>BlobToImage() implements direct to memory image formats. It returns the blob as an image.</p>
<p>The format of the BlobToImage method is:</p>
<pre class="text">
Image *BlobToImage(const ImageInfo *image_info,const void *blob,
const size_t length,ExceptionInfo *exception)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image_info</dt>
<dd>the image info. </dd>
<dd> </dd>
<dt>blob</dt>
<dd>the address of a character stream in one of the image formats understood by ImageMagick. </dd>
<dd> </dd>
<dt>length</dt>
<dd>This size_t integer reflects the length in bytes of the blob. </dd>
<dd> </dd>
<dt>exception</dt>
<dd>return any errors or warnings in this structure. </dd>
<dd> </dd>
</dl>
<h2><a href="../../api/MagickCore/blob_8c.html" id="CustomStreamToImage">CustomStreamToImage</a></h2>
<p>CustomStreamToImage() is the equivalent of ReadImage(), but reads the formatted "file" from the suplied method rather than to an actual file.</p>
<p>The format of the CustomStreamToImage method is:</p>
<pre class="text">
Image *CustomStreamToImage(const ImageInfo *image_info,
ExceptionInfo *exception)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image_info</dt>
<dd>the image info. </dd>
<dd> </dd>
<dt>exception</dt>
<dd>return any errors or warnings in this structure. </dd>
<dd> </dd>
</dl>
<h2><a href="../../api/MagickCore/blob_8c.html" id="FileToBlob">FileToBlob</a></h2>
<p>FileToBlob() returns the contents of a file as a buffer terminated with the '\0' character. The length of the buffer (not including the extra terminating '\0' character) is returned via the 'length' parameter. Free the buffer with RelinquishMagickMemory().</p>
<p>The format of the FileToBlob method is:</p>
<pre class="text">
void *FileToBlob(const char *filename,const size_t extent,
size_t *length,ExceptionInfo *exception)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>blob</dt>
<dd> FileToBlob() returns the contents of a file as a blob. If an error occurs NULL is returned. </dd>
<dd> </dd>
<dt>filename</dt>
<dd>the filename. </dd>
<dd> </dd>
<dt>extent</dt>
<dd> The maximum length of the blob. </dd>
<dd> </dd>
<dt>length</dt>
<dd>On return, this reflects the actual length of the blob. </dd>
<dd> </dd>
<dt>exception</dt>
<dd>return any errors or warnings in this structure. </dd>
<dd> </dd>
</dl>
<h2><a href="../../api/MagickCore/blob_8c.html" id="FileToImage">FileToImage</a></h2>
<p>FileToImage() write the contents of a file to an image.</p>
<p>The format of the FileToImage method is:</p>
<pre class="text">
MagickBooleanType FileToImage(Image *,const char *filename)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
<dt>filename</dt>
<dd>the filename. </dd>
<dd> </dd>
</dl>
<h2><a href="../../api/MagickCore/blob_8c.html" id="GetBlobProperties">GetBlobProperties</a></h2>
<p>GetBlobProperties() returns information about an image blob.</p>
<p>The format of the GetBlobProperties method is:</p>
<pre class="text">
const struct stat *GetBlobProperties(const Image *image)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
</dl>
<h2><a href="../../api/MagickCore/blob_8c.html" id="ImageToBlob">ImageToBlob</a></h2>
<p>ImageToBlob() implements direct to memory image formats. It returns the image as a formatted blob and its length. The magick member of the Image structure determines the format of the returned blob (GIF, JPEG, PNG, etc.). This method is the equivalent of WriteImage(), but writes the formatted "file" to a memory buffer rather than to an actual file.</p>
<p>The format of the ImageToBlob method is:</p>
<pre class="text">
void *ImageToBlob(const ImageInfo *image_info,Image *image,
size_t *length,ExceptionInfo *exception)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image_info</dt>
<dd>the image info. </dd>
<dd> </dd>
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
<dt>length</dt>
<dd>return the actual length of the blob. </dd>
<dd> </dd>
<dt>exception</dt>
<dd>return any errors or warnings in this structure. </dd>
<dd> </dd>
</dl>
<h2><a href="../../api/MagickCore/blob_8c.html" id="ImageToFile">ImageToFile</a></h2>
<p>ImageToFile() writes an image to a file. It returns MagickFalse if an error occurs otherwise MagickTrue.</p>
<p>The format of the ImageToFile method is:</p>
<pre class="text">
MagickBooleanType ImageToFile(Image *image,char *filename,
ExceptionInfo *exception)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
<dt>filename</dt>
<dd>Write the image to this file. </dd>
<dd> </dd>
<dt>exception</dt>
<dd>return any errors or warnings in this structure. </dd>
<dd> </dd>
</dl>
<h2><a href="../../api/MagickCore/blob_8c.html" id="ImagesToBlob">ImagesToBlob</a></h2>
<p>ImagesToBlob() implements direct to memory image formats. It returns the image sequence as a blob and its length. The magick member of the ImageInfo structure determines the format of the returned blob (GIF, JPEG, PNG, etc.)</p>
<p>Note, some image formats do not permit multiple images to the same image stream (e.g. JPEG). in this instance, just the first image of the sequence is returned as a blob.</p>
<p>The format of the ImagesToBlob method is:</p>
<pre class="text">
void *ImagesToBlob(const ImageInfo *image_info,Image *images,
size_t *length,ExceptionInfo *exception)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image_info</dt>
<dd>the image info. </dd>
<dd> </dd>
<dt>images</dt>
<dd>the image list. </dd>
<dd> </dd>
<dt>length</dt>
<dd>return the actual length of the blob. </dd>
<dd> </dd>
<dt>exception</dt>
<dd>return any errors or warnings in this structure. </dd>
<dd> </dd>
</dl>
<h2><a href="../../api/MagickCore/blob_8c.html" id="InjectImageBlob">InjectImageBlob</a></h2>
<p>InjectImageBlob() injects the image with a copy of itself in the specified format (e.g. inject JPEG into a PDF image).</p>
<p>The format of the InjectImageBlob method is:</p>
<pre class="text">
MagickBooleanType InjectImageBlob(const ImageInfo *image_info,
Image *image,Image *inject_image,const char *format,
ExceptionInfo *exception)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image_info</dt>
<dd>the image info.. </dd>
<dd> </dd>
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
<dt>inject_image</dt>
<dd>inject into the image stream. </dd>
<dd> </dd>
<dt>format</dt>
<dd>the image format. </dd>
<dd> </dd>
<dt>exception</dt>
<dd>return any errors or warnings in this structure. </dd>
<dd> </dd>
</dl>
<h2><a href="../../api/MagickCore/blob_8c.html" id="IsBlobExempt">IsBlobExempt</a></h2>
<p>IsBlobExempt() returns true if the blob is exempt.</p>
<p>The format of the IsBlobExempt method is:</p>
<pre class="text">
MagickBooleanType IsBlobExempt(const Image *image)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
</dl>
<h2><a href="../../api/MagickCore/blob_8c.html" id="IsBlobSeekable">IsBlobSeekable</a></h2>
<p>IsBlobSeekable() returns true if the blob is seekable.</p>
<p>The format of the IsBlobSeekable method is:</p>
<pre class="text">
MagickBooleanType IsBlobSeekable(const Image *image)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
</dl>
<h2><a href="../../api/MagickCore/blob_8c.html" id="IsBlobTemporary">IsBlobTemporary</a></h2>
<p>IsBlobTemporary() returns true if the blob is temporary.</p>
<p>The format of the IsBlobTemporary method is:</p>
<pre class="text">
MagickBooleanType IsBlobTemporary(const Image *image)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
</dl>
</div>
</div>
</main><!-- /.container -->
<footer class="magick-footer">
<div class="container-fluid">
<a href="../../www/security-policy.html">Security</a>
<a href="../../www/news.html">News</a>
<a href="blob.html#"><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/contact.html">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 512 416.32" width="2%" height="2%" role="img" focusable="false"><title>Twitter</title><path fill="currentColor" d="M160.83 416.32c193.2 0 298.92-160.22 298.92-298.92 0-4.51 0-9-.2-13.52A214 214 0 0 0 512 49.38a212.93 212.93 0 0 1-60.44 16.6 105.7 105.7 0 0 0 46.3-58.19 209 209 0 0 1-66.79 25.37 105.09 105.09 0 0 0-181.73 71.91 116.12 116.12 0 0 0 2.66 24c-87.28-4.3-164.73-46.3-216.56-109.82A105.48 105.48 0 0 0 68 159.6a106.27 106.27 0 0 1-47.53-13.11v1.43a105.28 105.28 0 0 0 84.21 103.06 105.67 105.67 0 0 1-47.33 1.84 105.06 105.06 0 0 0 98.14 72.94A210.72 210.72 0 0 1 25 370.84a202.17 202.17 0 0 1-25-1.43 298.85 298.85 0 0 0 160.83 46.92"/></svg></a>
<br/>
<small>© 1999-2021 ImageMagick Studio LLC</small>
</div>
</footer>
<!-- Javascript assets -->
<script src="../../assets/magick.js" ></script>
</body>
</html>