91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

利用LSB算法,完成的數字水印的嵌入和提取程序,VC++代碼。 用VC6.0編譯。如果轉化為vs會報錯,需要自己修改調試。 這個程序也是從CSDN上得到的,會有其他不同名字但是同內容的下載源存在。 當初花了好多積分下的都是一樣的東西心疼我的積分淚。 希望能給需要的朋友提供到幫助。

資源截圖

代碼片段和文件信息

//?Dib.cpp:?implementation?of?the?CDib?class.
//
//////////////////////////////////////////////////////////////////////

#include?“StdAfx.h“
#include?“Dib.h“

#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDib::CDib()
{
m_hDrawDib=NULL;
m_pDib=NULL;
}

CDib::~CDib()
{
Close();
}

void?CDib::Draw(CDC?*pDCint?nWidth?int?nHeight)
{
if(m_pDib!=NULL)
{
ASSERT(IsValid());
DrawDibRealize(m_hDrawDibpDC->GetSafeHdc()TRUE);
DrawDibDraw(m_hDrawDibpDC->GetSafeHdc()
0??//desktop?left
0??//desktop?top
nWidth
nHeight
(BITMAPINFOHEADER?*)m_pDib
(LPVOID)?GetBits()
0??//source?left
0??//source?top
((BITMAPINFOHEADER?*)m_pDib)->biWidth
((BITMAPINFOHEADER?*)m_pDib)->biHeight
DDF_BACKGROUNDPAL);
}
}

CSize?CDib::GetSize()
{
return?CSize(((BITMAPINFOHEADER?*)m_pDib)->biWidth
?((BITMAPINFOHEADER?*)m_pDib)->biHeight);
}

LONG?CDib::GetWidth()
{
return?((BITMAPINFOHEADER?*)m_pDib)->biWidth;
}

LONG?CDib::GetHeight()
{
return ((BITMAPINFOHEADER?*)m_pDib)->biHeight;
}

void?CDib::Close()
{
if(m_hDrawDib!=NULL)
{
DrawDibClose(m_hDrawDib);
m_hDrawDib=NULL;
}

if(m_pDib!=NULL)
{
delete?m_pDib;
m_pDib=NULL;
}
}

BOOL?CDib::Open(const?char?*?pzFileName)
{
// BITMAPFILEHEADER?bmpFileHeader;
CFile?file;
int?nBmpFileHeaderSize;

Close();

//drawdibopen?initialize?the?diradib?library?and?
//returns?a?handle?for?all?drawdib?operations
if(!(m_hDrawDib=DrawDibOpen()))
goto?exit;

? //open?and?read?the?DIB?file?header
nBmpFileHeaderSize=sizeof(BITMAPFILEHEADER);

if(!file.Open(pzFileNameCFile::modeRead?|?CFile::typeBinary))
goto?exit;

if(file.Read((void?*)&bmpFileHeadernBmpFileHeaderSize)!=(UINT)nBmpFileHeaderSize)
goto?failure;

//validate?the?DIB?file?header?by?checking?the?first
//two?characters?for?the?signature?“BM“
if(bmpFileHeader.bfType!=*((WORD?*)“BM“))
goto?failure;

//allocate?a?big?chuck?of?global?memory?to?store?the?DIB
m_pDib=(BYTE?*)new?char?[bmpFileHeader.bfSize-nBmpFileHeaderSize];

//allocate?memory?fail
if(!m_pDib)
goto?failure;

//read?the?dib?into?the?buffer?at?a?time?using?ReadHuge
file.ReadHuge(m_pDibbmpFileHeader.bfSize-nBmpFileHeaderSize);

if(((BITMAPINFOHEADER?*)m_pDib)->biSizeImage==0)
{
//the?application?that?create?this?bitmap?didn‘t?fill
//in?the?biSizeImage?field.?Let‘s?fill?it
//in?even?though?the?DrawDib?*?functions?don‘t?need?it.
BITMAPINFOHEADER?*pDib=(BITMAPINFOHEADER?*)m_pDib;

//scan?lines?must?be?DWord?aligned?hence?the?strange?bit?stuff
pDib->biSizeImage=((((pDib->biWidth*pDib->biBitCount)+31)&~31)>>3)*pDib->biHeight;
}

m_pDibBits=GetBits();

file.Close();
ret

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????目錄??????????0??2006-08-21?16:59??數字水印的嵌入和提?。╲c)

?????文件???????4429??2006-03-29?18:54??數字水印的嵌入和提?。╲c)\Dib.cpp

?????文件????????964??2006-03-29?18:16??數字水印的嵌入和提?。╲c)\Dib.h

?????目錄??????????0??2006-08-21?16:59??數字水印的嵌入和提?。╲c)\Pic

?????文件??????23610??2006-08-10?13:15??數字水印的嵌入和提?。╲c)\Pic\11.bmp

?????文件?????196662??1998-02-03?17:48??數字水印的嵌入和提?。╲c)\Pic\Apple.bmp

?????文件?????447390??1999-03-16?03:57??數字水印的嵌入和提?。╲c)\Pic\BoatCake.BMP

?????文件?????921654??1999-03-16?03:46??數字水印的嵌入和提?。╲c)\Pic\Fruit.BMP

?????文件?????138514??2002-11-29?19:41??數字水印的嵌入和提?。╲c)\Pic\lena.bmp

?????文件??????23610??2006-08-10?13:18??數字水印的嵌入和提?。╲c)\Pic\MarkWater.bmp

?????文件?????177356??2003-04-28?09:46??數字水印的嵌入和提取(vc)\Pic\plane24.bmp

?????文件?????113334??2000-07-09?20:11??數字水印的嵌入和提取(vc)\Pic\street.bmp

????..A.SH.????125952??2006-08-15?11:03??數字水印的嵌入和提?。╲c)\Pic\Thumbs.db

?????目錄??????????0??2006-08-21?16:59??數字水印的嵌入和提?。╲c)\res

?????文件???????1078??2006-04-01?12:48??數字水印的嵌入和提?。╲c)\res\FACE.ICO

????..A.SH.?????10240??2006-08-15?11:03??數字水印的嵌入和提?。╲c)\res\Thumbs.db

?????文件???????1078??2006-03-20?22:23??數字水印的嵌入和提取(vc)\res\WaterMark.ico

?????文件????????401??2006-03-20?22:23??數字水印的嵌入和提取(vc)\res\WaterMark.rc2

?????文件???????1101??2006-04-02?20:34??數字水印的嵌入和提?。╲c)\Resource.h

?????文件????????211??2006-03-20?22:23??數字水印的嵌入和提取(vc)\StdAfx.cpp

?????文件???????1054??2006-03-20?22:23??數字水印的嵌入和提?。╲c)\StdAfx.h

?????文件???????1483??2006-08-12?14:11??數字水印的嵌入和提?。╲c)\WaterMark.clw

?????文件???????2105??2006-03-20?22:23??數字水印的嵌入和提取(vc)\WaterMark.cpp

?????文件???????4421??2006-04-01?14:03??數字水印的嵌入和提取(vc)\WaterMark.dsp

?????文件????????541??2006-03-20?22:23??數字水印的嵌入和提取(vc)\WaterMark.dsw

?????文件???????1357??2006-03-20?22:23??數字水印的嵌入和提取(vc)\WaterMark.h

?????文件???????5971??2006-04-02?20:48??數字水印的嵌入和提取(vc)\WaterMark.rc

?????文件??????21348??2006-04-02?21:58??數字水印的嵌入和提取(vc)\WaterMarkDlg.cpp

?????文件???????2855??2006-04-02?21:33??數字水印的嵌入和提?。╲c)\WaterMarkDlg.h

?????文件??????21304??2006-08-11?15:58??數字水印的嵌入和提取(vc)\WaterMark.aps

............此處省略6個文件信息

評論

共有 條評論