• 大小: 2.2MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-20
  • 语言: 其他
  • 标签:

资源简介

Tiff图像压缩。TIFF格式,全称Tagged Image File Format(标签图像文件格式),文件扩展名为tif或tiff,是一种比较灵活的图像格式。TIFF格式支持256色、24位真彩色、32位色、48位色等多种色彩位,在此同时支持RGB、CMYK以及YCBCR等多种色彩模式,支持多平台等。它可以显示上百万的颜色(尽管灰度图像仅局限于 256 色或底纹),通常用于比GIF或JPEG格式更大的图像文件。

资源截图

代码片段和文件信息

// Image.cpp: implementation of the CImage class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
 
CImage::CImage()
{
hBitmap=NULL;
hMemDC=NULL;
}

CImage::~CImage()
{
Destroy();
}

void CImage::Create(int Dxint Dyint BitsDWORD dwFlags)
{
   BITMAPINFOHEADER BIH = {400010000000  } ;
   LPBITMAPINFO     lpBmi;
    
   nWidth = Dx;
   nHeight = Dy;
   nBitCount= Bits;
   nBytesPerLine = (nWidth*nBitCount+31)/32*4;
   nBytesPerPixel = nBitCount/8;
   if (nBitCount>8) nNumColors=0;
   else  nNumColors=1<   nSize=nBytesPerLine*nHeight;

   BIH.biWidth=nWidth;    
   BIH.biHeight=nHeight;       
   BIH.biBitCount=nBitCount;
   
   lpBmi=(LPBITMAPINFO) malloc(40+4*nNumColors);
   memcpy(lpBmi&BIH40);
 
   hBitmap=CreateDIBSection(NULLlpBmiDIB_RGB_COLORS
                         (VOID**) &lpBitsNULL0);
   free(lpBmi);
}

BOOL  CImage::IsNull()
{
if (hBitmap==NULL)
return(TRUE);
else
return(FALSE);
}

BOOL  CImage::Load(const CString csFileName)
{
BOOL bFlag;
char drive[_MAX_DRIVE];   
char dir[_MAX_DIR];
char fname[_MAX_FNAME];   
char ext[_MAX_EXT];
 
_splitpath(csFileName drive dir fname ext);   

  if (! stricmp(ext “.bmp“)) 
bFlag=LoadBMP(csFileName);
  else if (! stricmp(ext “.tif“)) 
bFlag=LoadTIF(csFileName);
    return(bFlag);
}

BOOL  CImage::Save(const CString csFileName)
{
BOOL bFlag;
char drive[_MAX_DRIVE];   
char dir[_MAX_DIR];
char fname[_MAX_FNAME];   
char ext[_MAX_EXT];
       
_splitpath(csFileName drive dir fname ext);   

  if (! stricmp(ext “.tif“)) 
bFlag=SaveTIF(csFileName);
    return(bFlag);
}

void  CImage::Destroy()
{
    if (hBitmap!=NULL) {
Deleteobject(hBitmap);
    hBitmap=NULL;
}
}

BYTE* CImage::GetPixelAddress(int xint y)
{
return(lpBits+(nHeight-1-y)*nBytesPerLine+x*nBytesPerPixel);
}

COLORREF CImage::GetPixel(int xint y)
{
LPBYTE lpBuf;
DWORD dwValue=0;
RGBQUAD ColorTab;

lpBuf=(LPBYTE)lpBits+(nHeight-1-y)*nBytesPerLine+x*nBytesPerPixel;
memcpy(&dwValuelpBufnBytesPerPixel);
if (nBitCount<=8) {
GetColorTable(dwValue1&ColorTab);
dwValue=RGB(ColorTab.rgbRed
    ColorTab.rgbGreenColorTab.rgbBlue);
}
else {
dwValue=RGB((dwValue&0xff0000)>>16
    (dwValue&0xff00)>>8dwValue&0xff);
}
return(dwValue);
}

int   CImage::GetWidth()
{
return(nWidth);
}

int   CImage::GetHeight()
{
return(nHeight);
}

int   CImage::GetBPP()
{
return(nBitCount);
}

int   CImage::GetPitch()
{
return(GetPixelAddress(01)-GetPixelAddress(00));


int   CImage::GetMaxColorTableEntries()
{
if (nNumColors>256) return(256);
return(nNumColors);
}

void  CImage::GetColorTable(int m int n RGBQUAD* ColorTab)
{
HDC hMemDC;

    hMemDC =CreateCompatibleDC(NULL); 
    Selectobject(hMemDChBitmap);
  GetDIBColorTable(hMemDCmnColorTab);
    Delete

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      28672  2012-11-13 22:22  程序\111\111.aps

     文件       2311  2012-11-13 22:22  程序\111\111.clw

     文件       4183  2012-11-13 22:22  程序\111\111.cpp

     文件       5389  2012-11-13 22:22  程序\111\111.dsp

     文件        512  2012-11-13 22:22  程序\111\111.dsw

     文件       1333  2012-11-13 22:22  程序\111\111.h

     文件     123904  2012-11-13 22:22  程序\111\111.ncb

     文件      54784  2012-11-13 22:22  程序\111\111.opt

     文件        240  2012-11-13 22:22  程序\111\111.plg

     文件      11756  2012-11-13 22:22  程序\111\111.rc

     文件       3169  2012-11-13 22:22  程序\111\111Doc.cpp

     文件       1382  2012-11-13 22:22  程序\111\111Doc.h

     文件       3002  2012-11-13 22:22  程序\111\111View.cpp

     文件       1865  2012-11-13 22:22  程序\111\111View.h

     文件     139301  2012-11-13 22:22  程序\111\Debug\111.exe

     文件     357420  2012-11-13 22:22  程序\111\Debug\111.ilk

     文件      22582  2012-11-13 22:22  程序\111\Debug\111.obj

     文件    5505112  2012-11-13 22:26  程序\111\Debug\111.pch

     文件     369664  2012-11-13 22:22  程序\111\Debug\111.pdb

     文件       7236  2012-11-13 22:22  程序\111\Debug\111.res

     文件      29454  2012-11-13 22:22  程序\111\Debug\111Doc.obj

     文件      20121  2012-11-13 22:22  程序\111\Debug\111View.obj

     文件      20897  2012-11-13 22:22  程序\111\Debug\Image.obj

     文件      13832  2012-11-13 22:22  程序\111\Debug\ImageFile.obj

     文件      11436  2012-11-13 22:22  程序\111\Debug\ImageTypeTransfer.obj

     文件      19630  2012-11-13 22:22  程序\111\Debug\MainFrm.obj

     文件     105417  2012-11-13 22:22  程序\111\Debug\StdAfx.obj

     文件     205824  2012-11-13 22:22  程序\111\Debug\vc60.idb

     文件     364544  2012-11-13 22:22  程序\111\Debug\vc60.pdb

     文件       4206  2012-11-13 22:22  程序\111\Image.cpp

............此处省略43个文件信息

评论

共有 条评论