|
Leptonica
1.54
|
Переменные | |
| static const l_int32 | INITIAL_PTR_ARRAYSIZE = 20 |
| l_int32 | NumImageFileFormatExtensions |
| const char * | ImageFileFormatExtensions [] |
Input: pixac
box
copyflag (L_INSERT, L_COPY)
Return: 0 if OK, 1 on error
Input: pixac
pix (to be added)
comptype (IFF_DEFAULT, IFF_TIFF_G4, IFF_PNG, IFF_JFIF_JPEG)
Return: 0 if OK; 1 on error
Notes: (1) The array is filled up to the (n-1)-th element, and this converts the input pix to a pixcomp and adds it at the n-th position.
Input: pixac
pixc (to be added by insertion)
Return: 0 if OK; 1 on error
| l_int32 pixacompConvertToPdf | ( | PIXAC * | pixac, |
| l_int32 | res, | ||
| l_float32 | scalefactor, | ||
| l_int32 | type, | ||
| l_int32 | quality, | ||
| const char * | title, | ||
| const char * | fileout | ||
| ) |
Input: pixac (containing images all at the same resolution)
res (override the resolution of each input image, in ppi;
use 0 to respect the resolution embedded in the input)
scalefactor (scaling factor applied to each image; > 0.0)
type (encoding type (L_JPEG_ENCODE, L_G4_ENCODE,
L_FLATE_ENCODE, or L_DEFAULT_ENCODE for default)
quality (used for JPEG only; 0 for default (75))
title (<optional> pdf title)
fileout (pdf file of all images)
Return: 0 if OK, 1 on error
Notes: (1) This follows closely the function pixaConvertToPdf() in pdfio.c. (2) The images are encoded with G4 if 1 bpp; JPEG if 8 bpp without colormap and many colors, or 32 bpp; FLATE for anything else. (3) The scalefactor must be > 0.0; otherwise it is set to 1.0. (4) Specifying one of the three encoding types for @type forces all images to be compressed with that type. Use 0 to have the type determined for each image based on depth and whether or not it has a colormap.
| l_int32 pixacompConvertToPdfData | ( | PIXAC * | pixac, |
| l_int32 | res, | ||
| l_float32 | scalefactor, | ||
| l_int32 | type, | ||
| l_int32 | quality, | ||
| const char * | title, | ||
| l_uint8 ** | pdata, | ||
| size_t * | pnbytes | ||
| ) |
Input: pixac (containing images all at the same resolution)
res (input resolution of all images)
scalefactor (scaling factor applied to each image; > 0.0)
type (encoding type (L_JPEG_ENCODE, L_G4_ENCODE,
L_FLATE_ENCODE, or L_DEFAULT_ENCODE for default)
quality (used for JPEG only; 0 for default (75))
title (<optional> pdf title)
&data (<return> output pdf data (of all images)
&nbytes (<return> size of output pdf data)
Return: 0 if OK, 1 on error
Notes: (1) See pixacompConvertToPdf().
Input: n (initial number of ptrs) Return: pixac, or null on error
Input: dirname
substr (<optional> substring filter on filenames; can be null)
comptype (IFF_DEFAULT, IFF_TIFF_G4, IFF_PNG, IFF_JFIF_JPEG)
Return: pixac, or null on error
Notes: (1) @dirname is the full path for the directory. (2) @substr is the part of the file name (excluding the directory) that is to be matched. All matching filenames are read into the Pixa. If substr is NULL, all filenames are read into the Pixa. (3) Use @comptype == IFF_DEFAULT to have the compression type automatically determined for each file. (4) If the comptype is invalid for a file, the default will be substituted.
Input: pixa
comptype (IFF_DEFAULT, IFF_TIFF_G4, IFF_PNG, IFF_JFIF_JPEG)
accesstype (L_COPY, L_CLONE, L_COPY_CLONE)
Return: 0 if OK, 1 on error
Notes: (1) If @format == IFF_DEFAULT, the conversion format for each image is chosen automatically. Otherwise, we use the specified format unless it can't be done (e.g., jpeg for a 1, 2 or 4 bpp pix, or a pix with a colormap), in which case we use the default (assumed best) compression. (2) @accesstype is used to extract a boxa from @pixa.
Input: sarray (full pathnames for all files)
comptype (IFF_DEFAULT, IFF_TIFF_G4, IFF_PNG, IFF_JFIF_JPEG)
Return: pixac, or null on error
Notes: (1) Use @comptype == IFF_DEFAULT to have the compression type automatically determined for each file. (2) If the comptype is invalid for a file, the default will be substituted.
Input: n (initial number of ptrs)
offset (difference: accessor index - pixacomp array index)
pix (<optional> initialize each ptr in pixacomp to this pix;
can be NULL)
comptype (IFF_DEFAULT, IFF_TIFF_G4, IFF_PNG, IFF_JFIF_JPEG)
Return: pixac, or null on error
Notes: (1) Initializes a pixacomp to be fully populated with @pix, compressed using @comptype. If @pix == NULL, @comptype is ignored. (2) Typically, the array is initialized with a tiny pix. This is most easily done by setting @pix == NULL, causing initialization of each array element with a tiny placeholder pix (w = h = d = 1), using comptype = IFF_TIFF_G4 . (3) Example usage: // Generate pixacomp for pages 30 - 49. This has an array // size of 20 and the page number offset is 30. PixaComp *pixac = pixacompCreateWithInit(20, 30, NULL, IFF_TIFF_G4); // Now insert png-compressed images into the initialized array for (pageno = 30; pageno < 50; pageno++) { Pix *pixt = ... // derived from image[pageno] if (pixt) pixacompReplacePix(pixac, pageno, pixt, IFF_PNG); pixDestroy(&pixt); } The result is a pixac with 20 compressed strings, and with selected pixt replacing the placeholders. To extract the image for page 38, which is decompressed from element 8 in the array, use: pixt = pixacompGetPix(pixac, 38);
| void pixacompDestroy | ( | PIXAC ** | ppixac | ) |
Input: &pixac (<to be nulled>) Return: void
Notes: (1) Always nulls the input ptr.
| PIX* pixacompDisplayTiledAndScaled | ( | PIXAC * | pixac, |
| l_int32 | outdepth, | ||
| l_int32 | tilewidth, | ||
| l_int32 | ncols, | ||
| l_int32 | background, | ||
| l_int32 | spacing, | ||
| l_int32 | border | ||
| ) |
pixacompDisplayTiledAndScaled()
Input: pixac
outdepth (output depth: 1, 8 or 32 bpp)
tilewidth (each pix is scaled to this width)
ncols (number of tiles in each row)
background (0 for white, 1 for black; this is the color
of the spacing between the images)
spacing (between images, and on outside)
border (width of additional black border on each image;
use 0 for no border)
Return: pix of tiled images, or null on error
Notes: (1) This is the same function as pixaDisplayTiledAndScaled(), except it works on a Pixacomp instead of a Pix. It is particularly useful for showing the images in a Pixacomp at reduced resolution. (2) This can be used to tile a number of renderings of an image that are at different scales and depths. (3) Each image, after scaling and optionally adding the black border, has width 'tilewidth'. Thus, the border does not affect the spacing between the image tiles. The maximum allowed border width is tilewidth / 5.
Input: pixac Return: 0 if OK; 1 on error
Notes: (1) We extend the boxa array simultaneously. This is necessary in case we are NOT adding boxes simultaneously with adding pixc. We always want the sizes of the pixac and boxa ptr arrays to be equal.
Input: pixac
index (caller's view of index within pixac; includes offset)
accesstype (L_COPY or L_CLONE)
Return: box (if null, not automatically an error), or null on error
Notes: (1) The @index includes the offset, which must be subtracted to get the actual index into the ptr array. (2) There is always a boxa with a pixac, and it is initialized so that each box ptr is NULL. (3) In general, we expect that there is either a box associated with each pixc, or no boxes at all in the boxa. (4) Having no boxes is thus not an automatic error. Whether it is an actual error is determined by the calling program. If the caller expects to get a box, it is an error; see, e.g., pixacGetBoxGeometry().
Input: pixac
accesstype (L_COPY, L_CLONE, L_COPY_CLONE)
Return: boxa, or null on error
Input: pixac Return: count, or 0 on error
| l_int32 pixacompGetBoxGeometry | ( | PIXAC * | pixac, |
| l_int32 | index, | ||
| l_int32 * | px, | ||
| l_int32 * | py, | ||
| l_int32 * | pw, | ||
| l_int32 * | ph | ||
| ) |
Input: pixac
index (caller's view of index within pixac; includes offset)
&x, &y, &w, &h (<optional return>; each can be null)
Return: 0 if OK, 1 on error
Notes: (1) The @index includes the offset, which must be subtracted to get the actual index into the ptr array.
Input: pixac Return: count, or 0 if no pixa
Input: pixac Return: offset, or 0 on error
Notes: (1) The offset is the difference between the caller's view of the index into the array and the actual array index. By default it is 0.
Input: pixac
index (caller's view of index within pixac; includes offset)
Return: pix, or null on error
Notes: (1) The @index includes the offset, which must be subtracted to get the actual index into the ptr array.
Input: pixac
index (caller's view of index within pixac; includes offset)
Return: pixc, or null on error
Notes: (1) The @index includes the offset, which must be subtracted to get the actual index into the ptr array. (2) Important: this is just a ptr to the pixc owned by the pixac. Do not destroy unless you are replacing the pixc.
| l_int32 pixacompGetPixDimensions | ( | PIXAC * | pixac, |
| l_int32 | index, | ||
| l_int32 * | pw, | ||
| l_int32 * | ph, | ||
| l_int32 * | pd | ||
| ) |
Input: pixa
index (caller's view of index within pixac; includes offset)
&w, &h, &d (<optional return>; each can be null)
Return: 0 if OK, 1 on error
Notes: (1) The @index includes the offset, which must be subtracted to get the actual index into the ptr array.
| PIXAC* pixacompRead | ( | const char * | filename | ) |
Input: filename Return: pixac, or null on error
Notes: (1) Unlike the situation with serialized Pixa, where the image data is stored in png format, the Pixacomp image data can be stored in tiffg4, png and jpg formats.
| PIXAC* pixacompReadStream | ( | FILE * | fp | ) |
Input: stream Return: pixac, or null on error
Input: pixac
index (caller's view of index within pixac; includes offset)
pix (owned by the caller)
comptype (IFF_DEFAULT, IFF_TIFF_G4, IFF_PNG, IFF_JFIF_JPEG)
Return: 0 if OK; 1 on error
Notes: (1) The @index includes the offset, which must be subtracted to get the actual index into the ptr array. (2) The input @pix is converted to a pixc, which is then inserted into the pixac.
Input: pixac
index (caller's view of index within pixac; includes offset)
pixc (to replace existing one, which is destroyed)
Return: 0 if OK; 1 on error
Notes: (1) The @index includes the offset, which must be subtracted to get the actual index into the ptr array. (2) The inserted @pixc is now owned by the pixac. The caller must not destroy it.
Input: pixac
offset (non-negative)
Return: 0 if OK, 1 on error
Notes: (1) The offset is the difference between the caller's view of the index into the array and the actual array index. By default it is 0.
Input: filename
pixac
Return: 0 if OK, 1 on error
Notes: (1) Unlike the situation with serialized Pixa, where the image data is stored in png format, the Pixacomp image data can be stored in tiffg4, png and jpg formats.
Input: stream
pixac
Return: 0 if OK, 1 on error
Input: fp (file stream)
pixac
text (<optional> identifying string; can be null)
Return: 0 if OK, 1 on error
Input: pixac
accesstype (L_COPY, L_CLONE, L_COPY_CLONE; for boxa)
Return: pixa if OK, or null on error
Input: filename
comptype (IFF_DEFAULT, IFF_TIFF_G4, IFF_PNG, IFF_JFIF_JPEG)
Return: pixc, or null on error
Notes: (1) Use @comptype == IFF_DEFAULT to have the compression type automatically determined. (2) If the comptype is invalid for this file, the default will be substituted.
Input: pix
comptype (IFF_DEFAULT, IFF_TIFF_G4, IFF_PNG, IFF_JFIF_JPEG)
Return: pixc, or null on error
Notes: (1) Use @comptype == IFF_DEFAULT to have the compression type automatically determined.
Input: data (compressed string)
size (number of bytes)
copyflag (L_INSERT or L_COPY)
Return: pixc, or null on error
Notes: (1) This works when the compressed string is png, jpeg or tiffg4. (2) The copyflag determines if the data in the new Pixcomp is a copy of the input data.
| void pixcompDestroy | ( | PIXC ** | ppixc | ) |
Input: comptype (IFF_DEFAULT, IFF_TIFF_G4, IFF_PNG, IFF_JFIF_JPEG)
d (pix depth)
cmapflag (1 if pix to be compressed as a colormap; 0 otherwise)
&format (return IFF_TIFF, IFF_PNG or IFF_JFIF_JPEG)
Return: 0 if OK; 1 on error
Notes: (1) This determines the best format for a pix, given both the request (@comptype) and the image characteristics. (2) If @comptype == IFF_DEFAULT, this does not necessarily result in png encoding. Instead, it returns one of the three formats that is both valid and most likely to give best compression. (3) If the pix cannot be compressed by the input value of @comptype, this selects IFF_PNG, which can compress all pix.
Input: pixc
&w, &h, &d (<optional return>)
Return: 0 if OK, 1 on error
Input: fp (file stream)
pixc
text (<optional> identifying string; can be null)
Return: 0 if OK, 1 on error
Input: pixc Return: pix, or null on error
| const char* ImageFileFormatExtensions[] |
|
static |
| l_int32 NumImageFileFormatExtensions |