本文整理汇总了C++中pm_openr函数的典型用法代码示例。如果您正苦于以下问题:C++ pm_openr函数的具体用法?C++ pm_openr怎么用?C++ pm_openr使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了pm_openr函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: processMapFile
static void
processMapFile(const char * const mapFileName,
struct pam * const outpamCommonP,
tupletable * const colormapP,
unsigned int * const colormapSizeP,
tuple * const firstColorP) {
/*----------------------------------------------------------------------------
Read a color map from the file named 'mapFileName'. It's a map that
associates each color in that file with a unique whole number. Return the
map as *colormapP, with the number of entries in it as *colormapSizeP.
Also determine the first color (top left) in the map file and return that
as *firstColorP.
-----------------------------------------------------------------------------*/
FILE * mapfile;
struct pam mappam;
tuple ** maptuples;
tuple firstColor;
mapfile = pm_openr(mapFileName);
maptuples = pnm_readpam(mapfile, &mappam, PAM_STRUCT_SIZE(tuple_type));
pm_close(mapfile);
computeColorMapFromMap(&mappam, maptuples, colormapP, colormapSizeP);
firstColor = pnm_allocpamtuple(&mappam);
pnm_assigntuple(&mappam, firstColor, maptuples[0][0]);
*firstColorP = firstColor;
pnm_freepamarray(maptuples, &mappam);
*outpamCommonP = mappam;
outpamCommonP->file = stdout;
}
开发者ID:gguillotte,项目名称:netpbm-code,代码行数:34,代码来源:pnmremap.c
示例2: getOrFakeAndMap
static void
getOrFakeAndMap(const char * const andPgmFname,
int const xorCols,
int const xorRows,
gray *** const andPGMarrayP,
pixval * const andMaxvalP,
colorhash_table * const andChtP,
const char ** const errorP) {
int andRows, andCols;
if (!andPgmFname) {
/* He's not supplying a bitmap for 'and'. Fake the bitmap. */
*andPGMarrayP = NULL;
*andMaxvalP = 1;
*andChtP = NULL;
*errorP = NULL;
} else {
FILE * andfile;
andfile = pm_openr(andPgmFname);
*andPGMarrayP = pgm_readpgm(andfile, &andCols, &andRows, andMaxvalP);
pm_close(andfile);
if ((andCols != xorCols) || (andRows != xorRows)) {
asprintfN(errorP,
"And mask and image have different dimensions "
"(%d x %d vs %d x %d). Aborting.",
andCols, xorCols, andRows, xorRows);
} else
*errorP = NULL;
}
}
开发者ID:cjd8363,项目名称:Global-Illum,代码行数:32,代码来源:ppmtowinicon.c
示例3: main
int
main(int argc, char *argv[]) {
FILE * const ofP = stdout;
struct cmdlineInfo cmdline;
FILE* ifP;
bool eof;
pnm_init(&argc, argv);
parseCommandLine(argc, argv, &cmdline);
ifP = pm_openr(cmdline.inputFilespec);
eof = FALSE;
while (!eof) {
cutOneImage(ifP, cmdline, ofP);
pnm_nextimage(ifP, &eof);
}
pm_close(ifP);
pm_close(ofP);
return 0;
}
开发者ID:Eleanor66613,项目名称:CS131,代码行数:26,代码来源:pamcut.c
示例4: main
int
main(int argc, char *argv[]) {
FILE* ifP;
int eof; /* No more images in input */
unsigned int image_seq;
/* Sequence of current image in input file. First = 0 */
pnm_init( &argc, argv );
parse_command_line(argc, argv, &cmdline);
ifP = pm_openr(cmdline.input_file);
eof = FALSE;
for (image_seq = 0; !eof; image_seq++) {
const char *output_file_name; /* malloc'ed */
compute_output_name(cmdline.output_file_pattern, cmdline.padname,
image_seq,
&output_file_name);
pm_message("WRITING %s\n", output_file_name);
extract_one_image(ifP, output_file_name);
strfree(output_file_name);
pnm_nextimage(ifP, &eof);
}
pm_close(ifP);
return 0;
}
开发者ID:cjd8363,项目名称:Global-Illum,代码行数:30,代码来源:pnmsplit.c
示例5: main
int
main(int argc,
char * argv[]) {
struct cmdlineInfo cmdline;
FILE * ifP;
unsigned int cols, rows;
pixval maxval;
xvPalette xvPalette;
ppm_init(&argc, argv);
parseCommandLine(argc, argv, &cmdline);
ifP = pm_openr(cmdline.inputFileName);
makeXvPalette(&xvPalette);
readXvHeader(ifP, &cols, &rows, &maxval);
writePpm(ifP, &xvPalette, cols, rows, maxval, stdout);
pm_close(ifP);
return 0;
}
开发者ID:gguillotte,项目名称:netpbm-code,代码行数:26,代码来源:xvminitoppm.c
示例6: readPpmPalette
static void
readPpmPalette(const char * const paletteFileName,
pixel (* const ppmPaletteP)[],
unsigned int * const paletteSizeP) {
FILE * pfP;
pixel ** pixels;
int cols, rows;
pixval maxval;
pfP = pm_openr(paletteFileName);
pixels = ppm_readppm(pfP, &cols, &rows, &maxval);
pm_close(pfP);
*paletteSizeP = rows * cols;
if (*paletteSizeP > MAXCOLORS)
pm_error("ordered palette image contains %d pixels. Maximum is %d",
*paletteSizeP, MAXCOLORS);
{
int j;
int row;
j = 0; /* initial value */
for (row = 0; row < rows; ++row) {
int col;
for (col = 0; col < cols; ++col)
(*ppmPaletteP)[j++] = pixels[row][col];
}
}
ppm_freearray(pixels, rows);
}
开发者ID:Eleanor66613,项目名称:CS131,代码行数:33,代码来源:ppmtopcx.c
示例7: main
int
main(int argc, const char *argv[]) {
struct cmdlineInfo cmdline;
FILE * ifP;
pm_proginit(&argc, argv);
parseCommandLine(argc, argv, &cmdline);
ifP = pm_openr(cmdline.inputFileName);
switch (cmdline.direction) {
case DIR_TB:
wipeoutTb(ifP, stdout);
break;
case DIR_LR:
wipeoutLr(ifP, stdout);
break;
}
pm_close(ifP);
pm_close(stdout);
return 0;
}
开发者ID:chneukirchen,项目名称:netpbm-mirror,代码行数:26,代码来源:pamwipeout.c
示例8: readRelevantPixels
static void
readRelevantPixels(const char * const inputFilename,
unsigned int const hstepReq,
unsigned int const vstepReq,
unsigned int * const hstepP,
unsigned int * const vstepP,
sample *** const pixelsP,
struct pam * const pamP,
unsigned int * const hsamplesP) {
/*----------------------------------------------------------------------------
load the image, saving only the pixels we might actually inspect
-----------------------------------------------------------------------------*/
FILE * ifP;
unsigned int hstep;
unsigned int vstep;
ifP = pm_openr(inputFilename);
pnm_readpaminit(ifP, pamP, PAM_STRUCT_SIZE(tuple_type));
computeSteps(pamP, hstepReq, vstepReq, &hstep, &vstep);
load(pamP, hstep, pixelsP, hsamplesP);
*hstepP = hstep;
*vstepP = vstep;
pm_close(ifP);
}
开发者ID:jhbsz,项目名称:DIR-850L_A1,代码行数:27,代码来源:pamtilt.c
示例9: main
int
main(int argc, char **argv) {
struct cmdlineInfo cmdline;
FILE * ifP;
tuplen ** tuplenarray;
struct pam inpam;
double sharpness;
pnm_init(&argc, argv);
parseCommandLine(argc, argv, &cmdline);
ifP = pm_openr(cmdline.inputFilespec);
tuplenarray = pnm_readpamn(ifP, &inpam, PAM_STRUCT_SIZE(tuple_type));
if (inpam.height < 3 || inpam.width < 3)
pm_error("sharpness is undefined for an image less than 3 pixels "
"in all directions. This image is %d x %d",
inpam.width, inpam.height);
computeSharpness(&inpam, tuplenarray, &sharpness);
printf("Sharpness = %f\n", sharpness);
pnm_freepamarrayn(tuplenarray, &inpam);
pm_close(ifP);
return 0;
}
开发者ID:moseymosey,项目名称:netpbm,代码行数:30,代码来源:pamsharpness.c
示例10: dsCreateSource
struct sourceManager *
dsCreateSource(const char * const fileName) {
struct sourceManager * srcP;
MALLOCVAR(srcP);
if (srcP == NULL)
pm_error("Unable to get memory for the Jpeg library source manager.");
srcP->ifP = pm_openr(fileName);
srcP->jpegSourceMgr.init_source = dsInitSource;
srcP->jpegSourceMgr.fill_input_buffer = dsFillInputBuffer;
srcP->jpegSourceMgr.skip_input_data = dsSkipInputData;
srcP->jpegSourceMgr.resync_to_restart = jpeg_resync_to_restart;
srcP->jpegSourceMgr.term_source = dsTermSource;
srcP->prematureEof = FALSE;
srcP->currentBuffer = srcP->buffer1;
srcP->nextBuffer = srcP->buffer2;
srcP->jpegSourceMgr.bytes_in_buffer =
fread(srcP->currentBuffer, 1, BUFFER_SIZE, srcP->ifP);
srcP->jpegSourceMgr.next_input_byte = srcP->currentBuffer;
srcP->bytesInNextBuffer =
fread(srcP->nextBuffer, 1, BUFFER_SIZE, srcP->ifP);
return srcP;
}
开发者ID:Eleanor66613,项目名称:CS131,代码行数:28,代码来源:jpegdatasource.c
示例11: main
int
main(int argc, char * argv[]) {
FILE* ifp;
bit** bits;
int rows, cols;
const char * inputFilename;
pbm_init(&argc, argv);
if (argc-1 > 0)
pm_error("Too many arguments (%d). The only valid argument is an "
"input file name.", argc-1);
else if (argc-1 == 1)
inputFilename = argv[1];
else
inputFilename = "-";
ifp = pm_openr(inputFilename);
bits = pbm_readpbm(ifp, &cols, &rows);
if (rows > 255)
pm_error("Image is too high: %d rows. Max height: 255 rows", rows);
if (cols > 255)
pm_error("Image is too wide: %d cols. Max width: 255 cols", cols);
generateMo(stdout, bits, cols, rows);
pm_close(ifp);
pbm_freearray(bits, rows);
exit(0);
}
开发者ID:Eleanor66613,项目名称:CS131,代码行数:35,代码来源:pbmtomatrixorbital.c
示例12: openFiles
static void
openFiles(struct CmdlineInfo const cmdline,
unsigned int * const fileCtP,
struct pam ** const imgPamP,
const char *** const namesP) {
unsigned int fileCt;
struct pam * imgPam;
const char ** names;
fileCt = cmdline.nFiles > 0 ? cmdline.nFiles : 1;
MALLOCARRAY(imgPam, fileCt);
MALLOCARRAY(names, fileCt);
if (!imgPam || !names)
pm_error("out of memory");
if (cmdline.nFiles > 0) {
unsigned int i;
for (i = 0; i < cmdline.nFiles; ++i) {
imgPam[i].file = pm_openr(cmdline.inFileName[i]);
names[i] = strdup(cmdline.inFileName[i]);
}
} else {
imgPam[0].file = stdin;
names[0] = strdup("stdin");
}
*fileCtP = fileCt;
*imgPamP = imgPam;
*namesP = names;
}
开发者ID:chneukirchen,项目名称:netpbm-mirror,代码行数:34,代码来源:pnmmontage.c
示例13: readMapFile
static void
readMapFile(const char * const rmapFileName,
xelval const maxval,
gray * const lumamap) {
int rmcols, rmrows;
gray rmmaxv;
int rmformat;
FILE * rmapfP;
rmapfP = pm_openr(rmapFileName);
pgm_readpgminit(rmapfP, &rmcols, &rmrows, &rmmaxv, &rmformat);
if (rmmaxv != maxval)
pm_error("maxval in map file (%u) different from input (%u)",
rmmaxv, maxval);
if (rmrows != 1)
pm_error("Map must have 1 row. Yours has %u", rmrows);
if (rmcols != maxval + 1)
pm_error("Map must have maxval + 1 (%u) columns. Yours has %u",
maxval + 1, rmcols);
pgm_readpgmrow(rmapfP, lumamap, maxval+1, rmmaxv, rmformat);
pm_close(rmapfP);
}
开发者ID:Eleanor66613,项目名称:CS131,代码行数:28,代码来源:pnmhisteq.c
示例14: main
int
main(int argc, const char ** argv) {
struct cmdlineInfo cmdline;
FILE * ifP;
IPDB * pdbP;
int status;
pm_proginit(&argc, argv);
parseCommandLine(argc, argv, &cmdline);
ifP = pm_openr(cmdline.inputFileName);
pdbP = ipdb_alloc(NULL);
if (pdbP == NULL)
pm_error("Could not allocate IPDB structure.");
status = ipdbRead(pdbP, ifP, cmdline.verbose);
if (status != 0)
pm_error("Image header read error: %s.", ipdb_err(status));
writeImgPam(pdbP, stdout);
writeText(pdbP, cmdline.notefile);
ipdb_free(pdbP);
pm_close(ifP);
return EXIT_SUCCESS;
}
开发者ID:chneukirchen,项目名称:netpbm-mirror,代码行数:32,代码来源:pdbimgtopam.c
示例15: initPatternPixel
static void
initPatternPixel(outGenerator * const outGenP,
struct cmdlineInfo const cmdline) {
struct patternPixelState * stateP;
FILE * patternFileP;
MALLOCVAR_NOFAIL(stateP);
patternFileP = pm_openr(cmdline.patFilespec);
stateP->patTuples =
pnm_readpam(patternFileP,
&stateP->patPam, PAM_STRUCT_SIZE(tuple_type));
pm_close(patternFileP);
stateP->xshift = cmdline.xshift;
stateP->yshift = cmdline.yshift;
stateP->magnifypat = cmdline.magnifypat;
outGenP->stateP = stateP;
outGenP->getTuple = &patternPixel;
outGenP->terminateState = &termPatternPixel;
outGenP->pam.format = stateP->patPam.format;
outGenP->pam.plainformat = stateP->patPam.plainformat;
outGenP->pam.depth = stateP->patPam.depth;
outGenP->pam.maxval = stateP->patPam.maxval;
strcpy(outGenP->pam.tuple_type, stateP->patPam.tuple_type);
if (cmdline.verbose)
reportImageParameters("Pattern file", &stateP->patPam);
}
开发者ID:jhbsz,项目名称:DIR-850L_A1,代码行数:33,代码来源:pamstereogram.c
示例16: getLookup
static void
getLookup(const char * const lookupFileName,
tuple *** const lookupP,
struct pam * const lookuppamP) {
/*----------------------------------------------------------------------------
Get the lookup image (the one that maps integers to tuples, e.g. a
color index / color map / palette) from the file named
'lookupFileName'.
Return the image as *lookupP and *lookuppamP.
-----------------------------------------------------------------------------*/
FILE * lookupfileP;
struct pam inputLookuppam;
tuple ** inputLookup;
lookupfileP = pm_openr(lookupFileName);
inputLookup = pnm_readpam(lookupfileP,
&inputLookuppam, PAM_STRUCT_SIZE(tuple_type));
pm_close(lookupfileP);
if (inputLookuppam.height != 1)
pm_error("The lookup table image must be one row. "
"Yours is %u rows.",
inputLookuppam.height);
*lookupP = inputLookup;
*lookuppamP = inputLookuppam;
}
开发者ID:gguillotte,项目名称:netpbm-code,代码行数:30,代码来源:pamunlookup.c
示例17: main
int
main(int argc, const char ** argv) {
FILE * ifP;
struct CmdlineInfo cmdline;
struct SbigHeader hdr;
pm_proginit(&argc, argv);
parseCommandLine(argc, argv, &cmdline);
ifP = pm_openr(cmdline.inputFileName);
readSbigHeader(ifP, &hdr);
pm_message("SBIG '%s' %ux%u %s image, saturation level = %u",
(hdr.haveCameraType ? hdr.cameraType : "ST-?"),
hdr.cols, hdr.rows,
hdr.isCompressed ? "compressed" : "uncompressed",
hdr.maxval);
if (hdr.maxval > PGM_OVERALLMAXVAL) {
pm_error("Saturation level (%u levels) is too large"
"This program's limit is %u.", hdr.maxval, PGM_OVERALLMAXVAL);
}
pgm_writepgminit(stdout, hdr.cols, hdr.rows, hdr.maxval, 0);
writeRaster(ifP, hdr, stdout);
pm_close(ifP);
pm_close(stdout);
return 0;
}
开发者ID:chneukirchen,项目名称:netpbm-mirror,代码行数:35,代码来源:sbigtopgm.c
示例18: main
int
main(int argc, const char ** argv) {
struct cmdlineInfo cmdline;
FILE * ifP;
xel ** xels;
xel * xelrow;
xelval maxval;
int rows, cols;
int format;
unsigned int row;
pm_proginit(&argc, argv);
parseCommandLine(argc, argv, &cmdline);
ifP = pm_openr(cmdline.inputFileName);
xels = pnm_readpnm(ifP, &cols, &rows, &maxval, &format);
pm_close(ifP);
xelrow = pnm_allocrow(cmdline.width);
pnm_writepnminit(stdout, cmdline.width, cmdline.height, maxval, format, 0);
for (row = 0; row < cmdline.height; ++row) {
unsigned int col;
for (col = 0; col < cmdline.width; ++col)
xelrow[col] = xels[row % rows][col % cols];
pnm_writepnmrow(stdout, xelrow, cmdline.width, maxval, format, 0);
}
pm_close(stdout);
return 0;
}
开发者ID:chneukirchen,项目名称:netpbm-mirror,代码行数:35,代码来源:pnmtile.c
示例19: main
int
main(int argc, const char * argv[]) {
struct cmdlineInfo cmdline;
FILE * ifP;
struct script * scriptP;
int eof;
pm_proginit(&argc, argv);
parseCommandLine(argc, argv, &cmdline);
verbose = cmdline.verbose;
ifP = pm_openr(cmdline.inputFilename);
getScript(cmdline, &scriptP);
eof = FALSE;
while (!eof) {
doOneImage(ifP, scriptP);
ppm_nextimage(ifP, &eof);
}
freeScript(scriptP);
pm_close(ifP);
/* If the program failed, it previously aborted with nonzero completion
code, via various function calls.
*/
return 0;
}
开发者ID:chneukirchen,项目名称:netpbm-mirror,代码行数:33,代码来源:ppmdraw.c
示例20: main
int
main(int argc, char *argv[]) {
struct cmdlineInfo cmdline; /* Parsed command line */
FILE * ifP;
/* Parse the command line. */
pnm_init(&argc, argv);
parseCommandLine(argc, argv, &cmdline);
if (cmdline.verbose)
reportParameters(cmdline);
srand(cmdline.randomseed);
ifP = pm_openr(cmdline.inputFilespec);
/* Produce a stereogram. */
produceStereogram(ifP, cmdline);
pm_close(ifP);
return 0;
}
开发者ID:jhbsz,项目名称:DIR-850L_A1,代码行数:25,代码来源:pamstereogram.c
注:本文中的pm_openr函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论