資源簡介
水印-信息隱藏

代碼片段和文件信息
//?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?<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個文件信息
- 上一篇:vfp軟件做的圖書管理系統
- 下一篇:3389全套工具
評論
共有 條評論