19,468
社区成员
发帖
与我相关
我的任务
分享
switch( i_dpi )
{
case 100:
div = 6;
bmp_height = 1100;
bmp_width = 800;
//bits = new unsigned char[bmp_height*bmp_width*3];
break;
case 200:
div = 3;
bmp_height = 2300;
bmp_width = 1640;
//bits = (unsigned char*)bits_200dpi;
break;
case 300:
div = 2;
bmp_height = 3507;
bmp_width = 2480;
/*bits = (unsigned char*)bits_300dpi;*/
break;
case 600:
div = 1;
bmp_height = 7014;
bmp_width = 4960;
/*bits = (unsigned char*)bits_600dpi;*/
break;
}
int pcl2bmp( char *NameBmp,int img_format, int img_format_ext)
{
IfStream ifPcl(NameTempFile.c_str());
int ch = ifPcl.get();
unsigned char* bits = NULL;
int div = 6;
int bmp_height = 0;
int bmp_width = 0;
if (img_format!=5){
while( ch != EOF )
{
switch( ch )
{
case '*':
ch = ifPcl.get();
///read dpi
if(ch=='t' && i_dpi==0) // *t#R = Raster Graphics Resolution
{
int i_tmp = 0;
string s_dpi;
while(ch != 'R' && i_tmp<6)
{
ch = ifPcl.get();
s_dpi += ch;
i_tmp++;
}
i_dpi = atoi((char *)s_dpi.c_str());
start_row = true;
}