Function with better support of vector format image. It read first page of pdf, svg, djvu files with image resolution 300dpi.
I have problem with getting number of pages of multipage images. Anybody can help me with this? ... #define MIN_DPI_FOR_VECTOR_FORMAT 300 ...
static char* read_file(const char *fname) { Blob blob; size_t data_size; char *dib; try { Image image; image.density("10"); image.ping(fname); if (image.magick()=="PDF" or image.magick()=="SVG" or image.magick()=="DJVU") { image.density(Geometry(MIN_DPI_FOR_VECTOR_FORMAT,MIN_DPI_FOR_VECTOR_FORMAT));//change from default 72 dpi } int i=0;//read first page char temp[1024] = {0}; while(1) { sprintf(temp, "%s[%d]",fname, i ); i++; cout << "We read " << temp << " file" << endl; image.read(temp); } image.depth(24); // Write to BLOB in BMP format image.write(&blob, "DIB"); } catch(Exception &error_) { cerr << error_.what() << "\n"; return NULL; } data_size = blob.length(); dib = new char[data_size]; memcpy(dib, blob.data(), data_size); return dib; }
Function with better support of vector format image. It read first page of pdf, svg, djvu files with image resolution 300dpi.
I have problem with getting number of pages of multipage images. Anybody can help me with this? FOR_VECTOR_ FORMAT 300
...
#define MIN_DPI_
...
static char* read_file(const char *fname) {
image. density( "10");
image. ping(fname) ; magick( )=="PDF" or image.magick( )=="SVG" or image.magick( )=="DJVU" )
image. density( Geometry( MIN_DPI_ FOR_VECTOR_ FORMAT, MIN_DPI_ FOR_VECTOR_ FORMAT) );//change from default 72 dpi
sprintf( temp, "%s[%d]",fname, i );
image. read(temp) ;
image. depth(24) ;
image. write(& blob, "DIB");
Blob blob;
size_t data_size;
char *dib;
try {
Image image;
if (image.
{
}
int i=0;//read first page
char temp[1024] = {0};
while(1)
{
i++;
cout << "We read " << temp << " file" << endl;
}
// Write to BLOB in BMP format
} catch(Exception &error_) {
cerr << error_.what() << "\n";
return NULL;
}
data_size = blob.length();
dib = new char[data_size];
memcpy(dib, blob.data(), data_size);
return dib;
}