• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2
3
4
5<!doctype html>
6<html lang="en">
7<head>
8  <meta charset="utf-8"  />
9  <meta name="viewport" content="width=device-width, initial-scale=1"  />
10  <title>ImageMagick - MagickCore, C API: Read or Write Binary Large OBjects</title>
11  <meta name="application-name" content="ImageMagick" />
12  <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." />
13  <meta name="application-url" content="https://imagemagick.org" />
14  <meta name="generator" content="PHP" />
15  <meta name="keywords" content="magickcore, c, api:, read, or, write, binary, large, objects, image processing software" />
16  <meta name="rating" content="GENERAL" />
17  <meta name="robots" content="INDEX, FOLLOW" />
18  <meta name="generator" content="ImageMagick Studio LLC" />
19  <meta name="author" content="ImageMagick Studio LLC" />
20  <meta name="revisit-after" content="2 DAYS" />
21  <meta name="resource-type" content="document" />
22  <meta name="copyright" content="Copyright (c) 1999-2020 ImageMagick Studio LLC" />
23  <meta name="distribution" content="Global" />
24  <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
25  <meta property='og:url' content='../../' />
26  <meta property='og:title' content='ImageMagick' />
27  <meta property='og:image' content='../../../images/logo.png' />
28  <meta property='og:type' content='website' />
29  <meta property='og:site_name' content='ImageMagick' />
30  <meta property='og:description' content="Create, Edit, Compose, or Convert Digital Images" />
31  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
32  <link href="blob.html" rel="canonical" />
33  <link href="../../../images/wand.png" rel="icon" />
34  <link href="../../../images/wand.ico" rel="shortcut icon" />
35  <link href="../../assets/magick.css" rel="stylesheet" />
36</head>
37<body>
38  <nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
39  <div class="container-fluid">
40    <a class="navbar-brand" href="../../"><img class="d-block" id="icon" alt="ImageMagick" width="32" height="32" src="../../../images/wand.ico"/></a>
41    <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">
42      <span class="navbar-toggler-icon"></span>
43    </button>
44
45    <div class="collapse navbar-collapse" id="magick-navbars">
46      <ul class="navbar-nav me-auto mb-2 mb-md-0">
47        <li class="nav-item">
48          <a class="nav-link " href="../../www/index.html">Home</a>
49        </li>
50        <li class="nav-item">
51          <a class="nav-link " href="../../www/download.html">Download</a>
52        </li>
53        <li class="nav-item">
54          <a class="nav-link " href="../../www/command-line-tools.html">Tools</a>
55        </li>
56        <li class="nav-item">
57          <a class="nav-link " href="../../www/command-line-processing.html">CLI</a>
58        </li>
59        <li class="nav-item">
60          <a class="nav-link " href="../../www/develop.html">Develop</a>
61        </li>
62        <li class="nav-item">
63          <a class="nav-link" target="_blank" href="https://github.com/ImageMagick/ImageMagick/discussions">Community</a>
64        </li>
65        <li class="nav-item">
66          <iframe src="https://github.com/sponsors/ImageMagick/button" title="Sponsor ImageMagick" height="35" width="107" style="border: 0;"></iframe>
67        </li>
68      </ul>
69      <form class="d-flex form-inline" action="https://imagemagick.org/script/search.php">
70        <input class="form-control me-2" type="text" name="q" placeholder="Search" aria-label="Search">
71        <button class="btn btn-outline-success" type="submit" name="sa">Search</button>
72      </form>
73    </div>
74  </div>
75  </nav>
76
77  <div class="container">
78    <script async="async" src="https://localhost/pagead/js/adsbygoogle.js"></script>
79    <ins class="adsbygoogle"
80      style="display:block"
81      data-ad-client="ca-pub-3129977114552745"
82      data-ad-slot="6345125851"
83      data-full-width-responsive="true"
84      data-ad-format="horizontal"></ins>
85    <script>
86      (adsbygoogle = window.adsbygoogle || []).push({});
87    </script>
88
89  </div>
90
91  <main class="container">
92  <div class="magick-template">
93<div class="magick-header">
94<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>
95
96<h2><a href="../../api/MagickCore/blob_8c.html" id="BlobToImage">BlobToImage</a></h2>
97
98<p>BlobToImage() implements direct to memory image formats.  It returns the blob as an image.</p>
99
100<p>The format of the BlobToImage method is:</p>
101
102<pre class="text">
103Image *BlobToImage(const ImageInfo *image_info,const void *blob,
104  const size_t length,ExceptionInfo *exception)
105</pre>
106
107<p>A description of each parameter follows:</p>
108
109<dd>
110</dd>
111
112<dd> </dd>
113<dl class="dl-horizontal">
114<dt>image_info</dt>
115<dd>the image info. </dd>
116
117<dd> </dd>
118<dt>blob</dt>
119<dd>the address of a character stream in one of the image formats understood by ImageMagick. </dd>
120
121<dd> </dd>
122<dt>length</dt>
123<dd>This size_t integer reflects the length in bytes of the blob. </dd>
124
125<dd> </dd>
126<dt>exception</dt>
127<dd>return any errors or warnings in this structure. </dd>
128
129<dd>  </dd>
130</dl>
131<h2><a href="../../api/MagickCore/blob_8c.html" id="CustomStreamToImage">CustomStreamToImage</a></h2>
132
133<p>CustomStreamToImage() is the equivalent of ReadImage(), but reads the formatted "file" from the suplied method rather than to an actual file.</p>
134
135<p>The format of the CustomStreamToImage method is:</p>
136
137<pre class="text">
138Image *CustomStreamToImage(const ImageInfo *image_info,
139   ExceptionInfo *exception)
140</pre>
141
142<p>A description of each parameter follows:</p>
143
144<dd>
145</dd>
146
147<dd> </dd>
148<dl class="dl-horizontal">
149<dt>image_info</dt>
150<dd>the image info. </dd>
151
152<dd> </dd>
153<dt>exception</dt>
154<dd>return any errors or warnings in this structure. </dd>
155
156<dd>  </dd>
157</dl>
158<h2><a href="../../api/MagickCore/blob_8c.html" id="FileToBlob">FileToBlob</a></h2>
159
160<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>
161
162<p>The format of the FileToBlob method is:</p>
163
164<pre class="text">
165void *FileToBlob(const char *filename,const size_t extent,
166  size_t *length,ExceptionInfo *exception)
167</pre>
168
169<p>A description of each parameter follows:</p>
170
171<dd>
172</dd>
173
174<dd> </dd>
175<dl class="dl-horizontal">
176<dt>blob</dt>
177<dd> FileToBlob() returns the contents of a file as a blob.  If an error occurs NULL is returned. </dd>
178
179<dd> </dd>
180<dt>filename</dt>
181<dd>the filename. </dd>
182
183<dd> </dd>
184<dt>extent</dt>
185<dd> The maximum length of the blob. </dd>
186
187<dd> </dd>
188<dt>length</dt>
189<dd>On return, this reflects the actual length of the blob. </dd>
190
191<dd> </dd>
192<dt>exception</dt>
193<dd>return any errors or warnings in this structure. </dd>
194
195<dd>  </dd>
196</dl>
197<h2><a href="../../api/MagickCore/blob_8c.html" id="FileToImage">FileToImage</a></h2>
198
199<p>FileToImage() write the contents of a file to an image.</p>
200
201<p>The format of the FileToImage method is:</p>
202
203<pre class="text">
204MagickBooleanType FileToImage(Image *,const char *filename)
205</pre>
206
207<p>A description of each parameter follows:</p>
208
209<dd>
210</dd>
211
212<dd> </dd>
213<dl class="dl-horizontal">
214<dt>image</dt>
215<dd>the image. </dd>
216
217<dd> </dd>
218<dt>filename</dt>
219<dd>the filename. </dd>
220
221<dd>  </dd>
222</dl>
223<h2><a href="../../api/MagickCore/blob_8c.html" id="GetBlobProperties">GetBlobProperties</a></h2>
224
225<p>GetBlobProperties() returns information about an image blob.</p>
226
227<p>The format of the GetBlobProperties method is:</p>
228
229<pre class="text">
230const struct stat *GetBlobProperties(const Image *image)
231</pre>
232
233<p>A description of each parameter follows:</p>
234
235<dd>
236</dd>
237
238<dd> </dd>
239<dl class="dl-horizontal">
240<dt>image</dt>
241<dd>the image. </dd>
242
243<dd>  </dd>
244</dl>
245<h2><a href="../../api/MagickCore/blob_8c.html" id="ImageToBlob">ImageToBlob</a></h2>
246
247<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>
248
249<p>The format of the ImageToBlob method is:</p>
250
251<pre class="text">
252void *ImageToBlob(const ImageInfo *image_info,Image *image,
253  size_t *length,ExceptionInfo *exception)
254</pre>
255
256<p>A description of each parameter follows:</p>
257
258<dd>
259</dd>
260
261<dd> </dd>
262<dl class="dl-horizontal">
263<dt>image_info</dt>
264<dd>the image info. </dd>
265
266<dd> </dd>
267<dt>image</dt>
268<dd>the image. </dd>
269
270<dd> </dd>
271<dt>length</dt>
272<dd>return the actual length of the blob. </dd>
273
274<dd> </dd>
275<dt>exception</dt>
276<dd>return any errors or warnings in this structure. </dd>
277
278<dd>  </dd>
279</dl>
280<h2><a href="../../api/MagickCore/blob_8c.html" id="ImageToFile">ImageToFile</a></h2>
281
282<p>ImageToFile() writes an image to a file.  It returns MagickFalse if an error occurs otherwise MagickTrue.</p>
283
284<p>The format of the ImageToFile method is:</p>
285
286<pre class="text">
287 MagickBooleanType ImageToFile(Image *image,char *filename,
288   ExceptionInfo *exception)
289</pre>
290
291<p>A description of each parameter follows:</p>
292
293<dd>
294</dd>
295
296<dd> </dd>
297<dl class="dl-horizontal">
298<dt>image</dt>
299<dd>the image. </dd>
300
301<dd> </dd>
302<dt>filename</dt>
303<dd>Write the image to this file. </dd>
304
305<dd> </dd>
306<dt>exception</dt>
307<dd>return any errors or warnings in this structure. </dd>
308
309<dd>  </dd>
310</dl>
311<h2><a href="../../api/MagickCore/blob_8c.html" id="ImagesToBlob">ImagesToBlob</a></h2>
312
313<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>
314
315<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>
316
317<p>The format of the ImagesToBlob method is:</p>
318
319<pre class="text">
320void *ImagesToBlob(const ImageInfo *image_info,Image *images,
321  size_t *length,ExceptionInfo *exception)
322</pre>
323
324<p>A description of each parameter follows:</p>
325
326<dd>
327</dd>
328
329<dd> </dd>
330<dl class="dl-horizontal">
331<dt>image_info</dt>
332<dd>the image info. </dd>
333
334<dd> </dd>
335<dt>images</dt>
336<dd>the image list. </dd>
337
338<dd> </dd>
339<dt>length</dt>
340<dd>return the actual length of the blob. </dd>
341
342<dd> </dd>
343<dt>exception</dt>
344<dd>return any errors or warnings in this structure. </dd>
345
346<dd>  </dd>
347</dl>
348<h2><a href="../../api/MagickCore/blob_8c.html" id="InjectImageBlob">InjectImageBlob</a></h2>
349
350<p>InjectImageBlob() injects the image with a copy of itself in the specified format (e.g. inject JPEG into a PDF image).</p>
351
352<p>The format of the InjectImageBlob method is:</p>
353
354<pre class="text">
355MagickBooleanType InjectImageBlob(const ImageInfo *image_info,
356  Image *image,Image *inject_image,const char *format,
357  ExceptionInfo *exception)
358</pre>
359
360<p>A description of each parameter follows:</p>
361
362<dd>
363</dd>
364
365<dd> </dd>
366<dl class="dl-horizontal">
367<dt>image_info</dt>
368<dd>the image info.. </dd>
369
370<dd> </dd>
371<dt>image</dt>
372<dd>the image. </dd>
373
374<dd> </dd>
375<dt>inject_image</dt>
376<dd>inject into the image stream. </dd>
377
378<dd> </dd>
379<dt>format</dt>
380<dd>the image format. </dd>
381
382<dd> </dd>
383<dt>exception</dt>
384<dd>return any errors or warnings in this structure. </dd>
385
386<dd>  </dd>
387</dl>
388<h2><a href="../../api/MagickCore/blob_8c.html" id="IsBlobExempt">IsBlobExempt</a></h2>
389
390<p>IsBlobExempt() returns true if the blob is exempt.</p>
391
392<p>The format of the IsBlobExempt method is:</p>
393
394<pre class="text">
395 MagickBooleanType IsBlobExempt(const Image *image)
396</pre>
397
398<p>A description of each parameter follows:</p>
399
400<dd>
401</dd>
402
403<dd> </dd>
404<dl class="dl-horizontal">
405<dt>image</dt>
406<dd>the image. </dd>
407
408<dd>  </dd>
409</dl>
410<h2><a href="../../api/MagickCore/blob_8c.html" id="IsBlobSeekable">IsBlobSeekable</a></h2>
411
412<p>IsBlobSeekable() returns true if the blob is seekable.</p>
413
414<p>The format of the IsBlobSeekable method is:</p>
415
416<pre class="text">
417 MagickBooleanType IsBlobSeekable(const Image *image)
418</pre>
419
420<p>A description of each parameter follows:</p>
421
422<dd>
423</dd>
424
425<dd> </dd>
426<dl class="dl-horizontal">
427<dt>image</dt>
428<dd>the image. </dd>
429
430<dd>  </dd>
431</dl>
432<h2><a href="../../api/MagickCore/blob_8c.html" id="IsBlobTemporary">IsBlobTemporary</a></h2>
433
434<p>IsBlobTemporary() returns true if the blob is temporary.</p>
435
436<p>The format of the IsBlobTemporary method is:</p>
437
438<pre class="text">
439 MagickBooleanType IsBlobTemporary(const Image *image)
440</pre>
441
442<p>A description of each parameter follows:</p>
443
444<dd>
445</dd>
446
447<dd> </dd>
448<dl class="dl-horizontal">
449<dt>image</dt>
450<dd>the image. </dd>
451
452<dd>  </dd>
453</dl>
454</div>
455  </div>
456  </main><!-- /.container -->
457  <footer class="magick-footer">
458    <div class="container-fluid">
459      <a href="../../www/security-policy.html">Security</a> •
460      <a href="../../www/news.html">News</a>
461
462      <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>
463
464      <a href="../../www/links.html">Related</a> •
465      <a href="../../www/sitemap.html">Sitemap</a>
466   <br/>
467     <a href="../../www/support.html">Sponsor</a> •
468     <a href="../../www/cite.html">Cite</a> •
469     <a href="http://pgp.mit.edu/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
470     <a href="../../www/contact.html">Contact Us</a>
471   <br/>
472     <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> •
473     <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>
474    <br/>
475    <small>© 1999-2021 ImageMagick Studio LLC</small>
476    </div>
477  </footer>
478
479  <!-- Javascript assets -->
480  <script src="../../assets/magick.js" ></script>
481  </body>
482</html>
483