• 大小: 1.4MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-16
  • 语言: 其他
  • 标签: 水印  信息隐藏  

资源简介

水印-信息隐藏

资源截图

代码片段和文件信息

// DIB.cpp


#include “stdafx.h“
#include “DIB.h“

CDib::CDib()
{

m_pDib = NULL;
m_pWordData = NULL;
m_pFile = NULL;
m_pOldDibShow = NULL;
}

CDib::~CDib()
{


if( m_pDib != NULL )
delete [] m_pDib;
if( m_pWordData != NULL )
delete [] m_pWordData;
if (m_pFile != NULL)
delete [] m_pFile;
if (m_pOldDibShow != NULL)
delete [] m_pOldDibShow;

}

BOOL CDib::Load( const char *pszFilename )
{

CFile cf;

if( !cf.Open( pszFilename CFile::modeRead ) )
return( FALSE );


DWORD dwDibSize;
dwDibSize =
cf.GetLength() - sizeof( BITMAPFILEHEADER );

unsigned char *pDib;
pDib = new unsigned char [dwDibSize];
if( pDib == NULL )
return( FALSE );

BITMAPFILEHEADER BFH;

try{

if( cf.Read( &BFH sizeof( BITMAPFILEHEADER ) )
!= sizeof( BITMAPFILEHEADER ) ||

BFH.bfType != ‘MB‘ ||

cf.Read( pDib dwDibSize ) != dwDibSize ){

delete [] pDib;
return( FALSE );
}
}


catch( CFileException *e ){
e->Delete();
delete [] pDib;
return( FALSE );
}

cf.Close();

if( m_pDib != NULL )
delete m_pDib;


 
if (BFH.bfReserved1 != 0)          //含有隐藏信息,保存其大小
{
if (BFH.bfReserved2 == 0)
embfile_size = BFH.bfReserved1;
else
embfile_size = BFH.bfReserved1 + 65535;
}

m_pDib = pDib;
m_dwDibSize = dwDibSize;


m_pBIH = (BITMAPINFOHEADER *) m_pDib;
m_pPalette =
(RGBQUAD *) &m_pDib[sizeof(BITMAPINFOHEADER)];


m_nPaletteEntries = 1 << m_pBIH->biBitCount;
if( m_pBIH->biBitCount > 8 )         
m_nPaletteEntries = 0;
else if( m_pBIH->biClrUsed != 0 )
m_nPaletteEntries = m_pBIH->biClrUsed;


m_pDibBits =                     
&m_pDib[sizeof(BITMAPINFOHEADER)+
m_nPaletteEntries*sizeof(RGBQUAD)];



if( m_Palette.GetSafeHandle() != NULL )
m_Palette.Deleteobject();

if( m_nPaletteEntries != 0 ){      

LOGPALETTE *pLogPal = (LOGPALETTE *) new char
[sizeof(LOGPALETTE)+
m_nPaletteEntries*sizeof(PALETTEENTRY)];

if( pLogPal != NULL ){

pLogPal->palVersion = 0x300;
pLogPal->palNumEntries = m_nPaletteEntries;

for( int i=0; i pLogPal->palPalEntry[i].peRed =
m_pPalette[i].rgbRed;
pLogPal->palPalEntry[i].peGreen =
m_pPalette[i].rgbGreen;
pLogPal->palPalEntry[i].peBlue =
m_pPalette[i].rgbBlue;
}

m_Palette.CreatePalette( pLogPal );
delete [] pLogPal;
}
}

m_BitCount = 24;             //24位位图
p = m_pDibBits;              //指向位图数据的指针,用来执行处理操作用
bitmap_size = m_dwDibSize - (m_pDibBits - m_pDib);//真正的位图数据的大小(即除头结构外)

tag = BFH.bfReserved1;
return( TRUE );

}

BOOL CDib::Save( const char *pszFilename ) //保存含有隐藏信息的bmp
{


if( m_pDib == NULL )
return( FALSE );

CFile cf;


if( !cf.Open( pszFilename
CFile::modeCreate | CFile::modeWrite ) )
return( FALSE );


try{


BITMAPFILEHEADER BFH;
memset( &BFH 0 sizeof( BITMAPFILEHEADER ) );
BFH.

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

    ..A.SH.      7680  2009-11-30 04:43  水印-信息隐藏\Thumbs.db

     文件    1440054  2006-07-06 17:12  水印-信息隐藏\Water lilies.bmp

     文件       8128  2004-06-05 11:49  水印-信息隐藏\数字水印\MyImageWork\DIB.cpp

     文件       1028  2004-06-05 11:21  水印-信息隐藏\数字水印\MyImageWork\DIB.h

     文件       2553  2004-06-04 14:26  水印-信息隐藏\数字水印\MyImageWork\MainFrm.cpp

     文件       1598  1998-01-01 12:26  水印-信息隐藏\数字水印\MyImageWork\MainFrm.h

     文件     929844  1998-06-17 16:00  水印-信息隐藏\数字水印\MyImageWork\MFC42D.DLL

     文件     798773  1998-06-17 16:00  水印-信息隐藏\数字水印\MyImageWork\MFCO42D.DLL

     文件     516173  1998-06-17 00:00  水印-信息隐藏\数字水印\MyImageWork\MSVCP60D.DLL

     文件     385100  1998-06-17 16:00  水印-信息隐藏\数字水印\MyImageWork\MSVCRTD.DLL

     文件       4334  2004-06-05 09:46  水印-信息隐藏\数字水印\MyImageWork\MyImageWork.cpp

     文件       4843  2004-06-05 11:44  水印-信息隐藏\数字水印\MyImageWork\MyImageWork.dsp

     文件        547  2003-05-08 16:03  水印-信息隐藏\数字水印\MyImageWork\MyImageWork.dsw

     文件     127093  2009-12-14 18:07  水印-信息隐藏\数字水印\MyImageWork\MyImageWork.exe

     文件       1411  2003-05-08 15:42  水印-信息隐藏\数字水印\MyImageWork\MyImageWork.h

     文件     148480  2009-12-14 18:07  水印-信息隐藏\数字水印\MyImageWork\MyImageWork.ncb

     文件      48640  2009-12-14 18:07  水印-信息隐藏\数字水印\MyImageWork\MyImageWork.opt

     文件       2394  2009-12-14 18:07  水印-信息隐藏\数字水印\MyImageWork\MyImageWork.plg

     文件      11425  2009-12-14 18:08  水印-信息隐藏\数字水印\MyImageWork\MyImageWork.rar

     文件      10325  2004-06-05 11:39  水印-信息隐藏\数字水印\MyImageWork\MyImageWork.rc

     文件       1842  2003-05-08 15:42  水印-信息隐藏\数字水印\MyImageWork\MyImageWorkDoc.cpp

     文件       1530  2003-05-08 15:42  水印-信息隐藏\数字水印\MyImageWork\MyImageWorkDoc.h

     文件       6607  2004-06-05 11:32  水印-信息隐藏\数字水印\MyImageWork\MyImageWorkView.cpp

     文件       2224  2004-06-05 11:12  水印-信息隐藏\数字水印\MyImageWork\MyImageWorkView.h

     文件      18902  2009-11-30 04:46  水印-信息隐藏\数字水印\MyImageWork\RCa03728

     文件       4431  2003-05-08 15:42  水印-信息隐藏\数字水印\MyImageWork\ReadMe.txt

     文件       1339  2004-06-05 11:39  水印-信息隐藏\数字水印\MyImageWork\resource.h

     文件        213  2006-06-28 09:23  水印-信息隐藏\数字水印\MyImageWork\StdAfx.cpp

     文件       1054  2003-05-08 15:42  水印-信息隐藏\数字水印\MyImageWork\StdAfx.h

    ..A.SHR         9  2009-02-21 22:27  水印-信息隐藏\数字水印\MyImageWork\res\Desktop__.ini

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

评论

共有 条评论