int barcode_to_png (char *image_name) { MagickWand *magick_wand; MagickBooleanType status; int width, height, pad, half_pad; /* read a barcode image */ MagickWandGenesis(); magick_wand = NewMagickWand(); MagickSetResolution(magick_wand, 300, 300); status = MagickReadImage(magick_wand, image_name); if (status == MagickFalse) ThrowWandException(magick_wand, 1); /* trim the image, resample it, and pad it by [10% of the long side] per side */ MagickTrimImage(magick_wand, 10); width = MagickGetImageWidth(magick_wand); height = MagickGetImageHeight(magick_wand); pad = determine_padding(width, height); half_pad = round(pad/2); MagickExtentImage(magick_wand, width+pad, height+pad, -half_pad, -half_pad); /* write image (a PNG version and a formatted PS version) */ status=MagickWriteImage(magick_wand, chop_path(image_name, ".png")); if (status == MagickFalse) ThrowWandException(magick_wand, 2); status=MagickWriteImage(magick_wand, chop_path(image_name, ".ps")); if (status == MagickFalse) ThrowWandException(magick_wand, 2); /* clean up */ magick_wand=DestroyMagickWand(magick_wand); MagickWandTerminus(); return 0; }
static zend_bool _php_zbarcode_read(MagickWand *wand, char *filename, long enhance) { if (enhance & PHP_ZBARCODE_RESOLUTION) { MagickSetResolution(wand, 200, 200); } if (MagickReadImage(wand, filename) == MagickFalse) { ClearMagickWand(wand); return 0; } if (enhance & PHP_ZBARCODE_ENHANCE) { MagickEnhanceImage(wand); } if (enhance & PHP_ZBARCODE_SHARPEN) { MagickSharpenImage(wand, 0, 0.5); } return 1; }
int convert_density (MagickWand *input, convert_t* opts) { if (!opts->density) return MagickPass; return MagickSetResolution(input, opts->density, opts->density); }