CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  图形图像/机器视觉

为什么我把BMP转TIF(传真压缩)格式不成功呢?看代码

楼主WJZMLSH(美丽神话)2005-07-02 04:11:09 在 专题开发/技术/项目 / 图形图像/机器视觉 提问

HBITMAP   hImage   =   (HBITMAP)LoadImage(NULL,   "mybit2.bmp",   IMAGE_BITMAP,  
  0,   0,   LR_LOADFROMFILE|LR_CREATEDIBSECTION|LR_DEFAULTSIZE);  
   
  CBitmap*   m_Bitmap   =   CBitmap::FromHandle(hImage);  
   
  //   Sumit:   memory   allocation   is   still   1800x1800   in   your   code..  
  BYTE*   bmpBuffer=(BYTE*)GlobalAlloc(GPTR,   600*600);//allocate   memory  
   
   
  //   Size   of   bitmap   as   I   draw   by   using   x,y   points...  
  m_Bitmap->GetBitmapBits(600*600   ,bmpBuffer);  
   
   
  TIFF   *image;  
   
      //   Open   the   TIFF   file  
      if((image   =   TIFFOpen("C:\\output.tif",   "w"))   ==   NULL)  
      {  
          printf("Could   not   open   output.tif   for   writing\n");  
      }  
   
      TIFFSetField(image,   TIFFTAG_IMAGEWIDTH,600);  
      TIFFSetField(image,   TIFFTAG_IMAGELENGTH,600);  
      TIFFSetField(image,   TIFFTAG_BITSPERSAMPLE,1);  
      TIFFSetField(image,   TIFFTAG_SAMPLESPERPIXEL,1);  
   
      uint32   rowsperstrip   =   TIFFDefaultStripSize(image,   -1);    
      //<REC>   gives   better   compression  
   
      TIFFSetField(image,   TIFFTAG_ROWSPERSTRIP,   rowsperstrip);  
       
    TIFFSetField(image,   TIFFTAG_COMPRESSION,   COMPRESSION_CCITTFAX3);  
  //       TIFFSetField(image,   TIFFTAG_COMPRESSION,   COMPRESSION_PACKBITS);    
  //   TIFFSetField(image,   TIFFTAG_COMPRESSION,   COMPRESSION_NONE);  
   
   
  //   Start   CCITTFAX3   setting  
       
      uint32   group3options   =   GROUP3OPT_FILLBITS+GROUP3OPT_2DENCODING;  
      TIFFSetField(image,   TIFFTAG_GROUP3OPTIONS,   group3options);  
      TIFFSetField(image,   TIFFTAG_FAXMODE,   FAXMODE_CLASSF);  
      TIFFSetField(image,   TIFFTAG_ORIENTATION,   ORIENTATION_TOPLEFT);  
      TIFFSetField(image,   TIFFTAG_ROWSPERSTRIP,   -1L);  
   
   
  //   End   CCITTFAX3   setting  
   
  //if   we   comment   following   line   then   Tiff   will   not   view   in   Imaging    
  //but   view   in   DC  
    TIFFSetField(image,   TIFFTAG_PHOTOMETRIC,   PHOTOMETRIC_MINISBLACK);  
   
      TIFFSetField(image,   TIFFTAG_FILLORDER,   FILLORDER_MSB2LSB);  
      TIFFSetField(image,   TIFFTAG_PLANARCONFIG,   PLANARCONFIG_CONTIG);  
     
      TIFFSetField(image,   TIFFTAG_RESOLUTIONUNIT,   RESUNIT_INCH);  
      TIFFSetField(image,   TIFFTAG_XRESOLUTION,   100.0);  
      TIFFSetField(image,   TIFFTAG_YRESOLUTION,   100.0);  
   
     
        char   page_number[20];  
          sprintf(page_number,   "Page   %d",   1);  
   
          TIFFSetField(image,   TIFFTAG_SUBFILETYPE,   FILETYPE_PAGE);  
          TIFFSetField(image,   TIFFTAG_PAGENUMBER,   1,   1);  
          TIFFSetField(image,   TIFFTAG_PAGENAME,   page_number);  
   
   
   
      //   Write   the   information   to   the   file  
  BYTE   *bits;  
  for   (int   y   =   0;   y   <   600;   y++)  
      {  
  bits=   bmpBuffer   +   y*600;  
  if   (TIFFWriteScanline(image,bits,   y,   0)==-1)   MessageBox("Complete   or   error");  
      }  
   
      //   Close   the   file  
      TIFFClose(image);  
   
  问题点数:100、回复次数:1Top

1 楼lsvine(连山)回复于 2005-07-07 16:40:39 得分 100

看你程序的意思,你的bmp图是600X600的灰度图或24位彩色图  
  而  
  for   (int   y   =   0;   y   <   600;   y++)  
      {  
  bits=   bmpBuffer   +   y*600;  
  if   (TIFFWriteScanline(image,bits,   y,   0)==-1)   MessageBox("Complete   or   error");  
      }  
  用到的bits应该是单色的bmp信息,且其调色板为FF   FF   FF   00   00   00   00   00   。  
  Top

相关问题

  • 谁有将bmp格式转换成jpg格式的代码?
  • 高分求tif转换为bmp/jpg/gif格式之一的代码或不过期的dll!
  • 高分求tif转换为bmp/jpg/gif格式之一的代码或不过期的dll!
  • 谁知道BMP的文件格式?最好是有源代码。
  • 求bmp文件格式类实现的代码。急急急急!!!!!
  • 高分求代码,如何把BMP文件转换为JPEG的文件格式??
  • 谁有bmp转jpg格式的源代码?(20分钟内给分)
  • 求图片的bmp文件格式的源代码!!!散(100)急急急急急!!!!!!!
  • 求助:Symbian OS 的位图文件格式*.Mbm 转换为Windows 位图*.bmp格式的源代码?
  • 关于格式化代码!!

关键词

  • tiffsetfield
  • tifftag
  • rowsperstrip
  • tif
  • ccittfax3
  • image
  • compression
  • group3
  • tiff
  • lr

得分解答快速导航

  • 帖主:WJZMLSH
  • lsvine

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo