资源简介
水印-信息隐藏

代码片段和文件信息
// 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个文件信息
- 上一篇:vfp软件做的图书管理系统
- 下一篇:3389全套工具
相关资源
- Concurrency in Go(EarlyRelease) 无水印p
- IOS水印
- Origin9.0去水印补丁
- 数据库水印嵌入提取数据库水印数据
- 傻瓜式的图片去水印下载
- Vulkan Cookbook 无水印转化版pdf
- aspose-cells-8.6.1最新完美破解版无水印
- PDF pdfview.ocx 无水印
- 历年考研408真题试卷 2009-2019年 高清
- 408历年真题无水印完美打印版本.zip
- 屏幕录像专家 V2018 Build1028 完全去水印
- 基于神经网络的数字水印
- 水印大师.zip
- 数字水印原理与技术
- Hacking - The Art of Exploitation(2nd)高清
- 济安横断面2.1无水印版支持32位和64位
- 抖音批量无水印 快手 火山 微视 西瓜
- Lodop 6.0.1.2和6.0.1.0 web打印控件 无水印
- Blockchain Enabled Applications Understand the
- Learning Generative Adversarial Networks 无水印
- My_WCP_Watermark_Editor-去win10评估副本水印
- 2009-2019年408真题及答案-无水印版.pd
- 12 More Essential Skills for Software Architec
- 基于混沌序列的LSB水印算法
- CFA 2019 Level 2 Schweser Quicksheet 高清无水
- 视频去水印
- 信息隐藏与数字水印实验指导电子教
- PMBOK最新PDF英文版 第六版 2017 无水印
- 数字水印 好的外文文献
- 阴影图提取算法
评论
共有 条评论