MagickCore  6.9.12-47
Convert, Edit, Or Compose Bitmap Images
blob.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
3  dedicated to making software imaging solutions freely available.
4 
5  You may not use this file except in compliance with the License. You may
6  obtain a copy of the License at
7 
8  https://imagemagick.org/script/license.php
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16  MagickCore Binary Large OBjects methods.
17 */
18 #ifndef MAGICKCORE_BLOB_H
19 #define MAGICKCORE_BLOB_H
20 
21 #include "magick/image.h"
22 #include "magick/stream.h"
23 
24 #if defined(__cplusplus) || defined(c_plusplus)
25 extern "C" {
26 #endif
27 
28 #define MagickMaxBufferExtent 81920
29 #define MagickMinBufferExtent 16384
30 
31 typedef enum
32 {
37 } MapMode;
38 
39 extern MagickExport FILE
40  *GetBlobFileHandle(const Image *) magick_attribute((__pure__));
41 
42 extern MagickExport Image
43  *BlobToImage(const ImageInfo *,const void *,const size_t,ExceptionInfo *),
44  *PingBlob(const ImageInfo *,const void *,const size_t,ExceptionInfo *);
45 
47  BlobToFile(char *,const void *,const size_t,ExceptionInfo *),
48  FileToImage(Image *,const char *),
49  GetBlobError(const Image *) magick_attribute((__pure__)),
50  ImageToFile(Image *,char *,ExceptionInfo *),
51  InjectImageBlob(const ImageInfo *,Image *,Image *,const char *,
52  ExceptionInfo *),
53  IsBlobExempt(const Image *) magick_attribute((__pure__)),
54  IsBlobSeekable(const Image *) magick_attribute((__pure__)),
55  IsBlobTemporary(const Image *) magick_attribute((__pure__));
56 
58  GetBlobSize(const Image *);
59 
61  GetBlobStreamHandler(const Image *) magick_attribute((__pure__));
62 
63 extern MagickExport unsigned char
64  *FileToBlob(const char *,const size_t,size_t *,ExceptionInfo *),
65  *GetBlobStreamData(const Image *) magick_attribute((__pure__)),
66  *ImageToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *),
67  *ImagesToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *);
68 
69 extern MagickExport void
70  DestroyBlob(Image *),
71  DuplicateBlob(Image *,const Image *),
72  SetBlobExempt(Image *,const MagickBooleanType);
73 
74 #if defined(__cplusplus) || defined(c_plusplus)
75 }
76 #endif
77 
78 #endif
Definition: blob.h:33
MagickExport MagickBooleanType GetBlobError(const Image *image)
Definition: blob.c:1419
size_t(* StreamHandler)(const Image *, const void *, const size_t)
Definition: stream.h:26
Definition: exception.h:102
Definition: image.h:361
Definition: blob.h:35
MagickExport Image * PingBlob(const ImageInfo *image_info, const void *blob, const size_t length, ExceptionInfo *exception)
Definition: blob.c:2980
MagickExport MagickBooleanType ImageToFile(Image *image, char *filename, ExceptionInfo *exception)
Definition: blob.c:1843
Definition: image.h:152
MagickExport unsigned char * ImagesToBlob(const ImageInfo *image_info, Image *images, size_t *length, ExceptionInfo *exception)
Definition: blob.c:1965
MagickExport unsigned char * GetBlobStreamData(const Image *image)
Definition: blob.c:1636
MagickExport Image * BlobToImage(const ImageInfo *image_info, const void *blob, const size_t length, ExceptionInfo *exception)
Definition: blob.c:328
MagickBooleanType
Definition: magick-type.h:198
MagickExport FILE * GetBlobFileHandle(const Image *image)
Definition: blob.c:1452
MagickExport MagickBooleanType InjectImageBlob(const ImageInfo *image_info, Image *image, Image *inject_image, const char *format, ExceptionInfo *exception)
Definition: blob.c:2110
size_t MagickSizeType
Definition: magick-type.h:136
MagickExport MagickBooleanType IsBlobTemporary(const Image *image)
Definition: blob.c:2353
MagickExport void SetBlobExempt(Image *image, const MagickBooleanType exempt)
Definition: blob.c:4424
MagickExport MagickBooleanType FileToImage(Image *image, const char *filename)
Definition: blob.c:1316
MagickExport unsigned char * FileToBlob(const char *filename, const size_t extent, size_t *length, ExceptionInfo *exception)
Definition: blob.c:1094
MagickExport MagickBooleanType IsBlobSeekable(const Image *image)
Definition: blob.c:2281
MagickExport unsigned char * ImageToBlob(const ImageInfo *image_info, Image *image, size_t *length, ExceptionInfo *exception)
Definition: blob.c:1707
MagickExport MagickSizeType GetBlobSize(const Image *image)
Definition: blob.c:1549
Definition: blob.h:34
MagickExport MagickBooleanType IsBlobExempt(const Image *image)
Definition: blob.c:2250
MapMode
Definition: blob.h:31
#define magick_attribute(x)
Definition: deprecate.h:41
#define MagickExport
Definition: method-attribute.h:80
MagickExport StreamHandler GetBlobStreamHandler(const Image *image)
Definition: blob.c:1665
MagickExport void DestroyBlob(Image *image)
Definition: blob.c:673
MagickExport void DuplicateBlob(Image *image, const Image *duplicate)
Definition: blob.c:898
MagickExport MagickBooleanType BlobToFile(char *filename, const void *blob, const size_t length, ExceptionInfo *exception)
Definition: blob.c:252
Definition: blob.h:36