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

  • 大小: 23.17MB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2023-08-01
  • 語言: 其他
  • 標簽: VC??TWAIN??C++??

資源簡介

在別人的一個項目基礎上重寫的,不再使用源管理器提供的源選擇對話框和源用戶界面,自定義界面上可以選擇掃描設備,設置單雙面打印,設置黑白或者彩色打印、設置紙張大小、設置分辨率,不過自定義界面是非常粗糙的,只是提供了可以修改幾種常用參數的方法。

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?“math.h“
#include?“DIB.h“

#define?BIG_DISTANCE?10000000L

#define?DIST(r1g1b1r2g2b2)?\
????(long)?(3L*(long)((r1)-(r2))*(long)((r1)-(r2))?+?\
????4L*(long)((g1)-(g2))*(long)((g1)-(g2))?+?\
????2L*(long)((b1)-(b2))*(long)((b1)-(b2)))


static?unsigned?char?masktable[]?=?{?0x800x400x200x100x080x040x020x01?};



CDIB::CDIB(HANDLE?hDibint?nBits)
{
m_pVoid?=?NULL;
m_pLinePtr?=?NULL;
m_bUseGamma=FALSE;
width=height=0;
if(hDib)
{
CreateFromHandle(hDibnBits);
}
}

CDIB::~CDIB()
{
DestroyDIB();
}

void?CDIB::DestroyDIB()
{
if(m_pVoid)?free(m_pVoid);
m_pVoid?=?NULL;
if(m_pLinePtr)?free(m_pLinePtr);
m_pLinePtr?=?NULL;
}


BOOL?CDIB::Create(int?widthint?heightint?bits)
{
/*
Free?existing?image
*/
DestroyDIB();
// ASSERT(bits?==?24?||?bits?==?8);

BITMAPINFOHEADER?bmInfo;

memset(&bmInfo0sizeof(BITMAPINFOHEADER));
bmInfo.biSize?=?sizeof(BITMAPINFOHEADER);
bmInfo.biWidth?=?width;
bmInfo.biHeight?=?height;
bmInfo.biPlanes?=?1;
bmInfo.biBitCount?=?bits;
bmInfo.biCompression?=?BI_RGB;
return?Create(bmInfo);
}

BOOL?CDIB::Create(BITMAPINFOHEADER&?bmInfo)
{
bytes?=?(bmInfo.biBitCount*bmInfo.biWidth)>>3;
height?=?bmInfo.biHeight;
width?=?bmInfo.biWidth;
// bmInfo.biHeight?*=?-1;
while(bytes%4)?bytes++;

int?size;
size?=?sizeof(BITMAPINFOHEADER)?+?sizeof(RGBQUAD)*GetPaletteSize(bmInfo)?+?bytes*height;
m_pVoid?=?(void?*)malloc(size);
if(!m_pVoid)?return?FALSE;

m_pInfo?=?(PBITMAPINFO?)m_pVoid;
memcpy((void?*)&m_pInfo->bmiHeader(void?*)&bmInfosizeof(BITMAPINFOHEADER));
m_pRGB?=?(RGBQUAD?*)((unsigned?char?*)m_pVoid?+?sizeof(BITMAPINFOHEADER))?;
m_pBits?=?(unsigned?char?*)(m_pVoid)?+?sizeof(BITMAPINFOHEADER)?+?sizeof(RGBQUAD)*GetPaletteSize();

int?i;
BYTE?**ptr;
m_pLinePtr?=?(BYTE?**)malloc(sizeof(BYTE?*)*height);
if(!m_pLinePtr)?return?FALSE;
for(i=0ptr=m_pLinePtr;?i? {
//*ptr?=?(int)(m_pBits)+(i*bytes);
//*ptr?=?(int)GetLinePtr(i);
*ptr?=?m_pBits?+?(height-i-1)*bytes;
}
m_nFlags?=?0;
return?TRUE;
}

void?CDIB::SetPalette(unsigned?char?*palette)
{
int?isize;
RGBQUAD?*rgb;
if(!palette)?return;
size?=?GetPaletteSize();
for(i=0rgb?=?m_pRGB;?i? {
if(m_bUseGamma)
{
rgb->rgbRed?=?Gamma[palette[0]];
rgb->rgbGreen?=?Gamma[palette[1]];
rgb->rgbBlue?=?Gamma[palette[2]];
}
else
{
rgb->rgbRed?=?palette[0];
rgb->rgbGreen?=?palette[1];
rgb->rgbBlue?=?palette[2];
}
rgb->rgbReserved?=?(BYTE)0;
}
}

void?CDIB::SetPalette(RGBQUAD?*pRGB)
{
int?size;
if(!pRGB)?return;
size?=?GetPaletteSize();
memcpy(m_pRGBpRGBsize*sizeof(RGBQUAD));
}


int?CDIB::GetPaletteSize()
{
return?GetPaletteSize(m_pInfo->bmiHeader);
}


int?CDIB::GetPaletteSize(BITMAPINFOHEADER&?bmInfo)
{
switch(bmInfo.biBitCount)
{
case?1:
return?2;
case?4:
return?16;
case?8:
re

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

?????文件?????193536??2014-08-14?15:37??MyTwain\Debug\MyTwain.exe

?????文件????1429528??2014-08-14?15:37??MyTwain\Debug\MyTwain.ilk

?????文件????5204992??2014-08-14?15:37??MyTwain\Debug\MyTwain.pdb

?????文件???????3758??2014-08-14?15:37??MyTwain\MyTwain\Debug\cl.command.1.tlog

?????文件??????73452??2014-08-14?15:37??MyTwain\MyTwain\Debug\CL.read.1.tlog

?????文件???????4594??2014-08-14?15:37??MyTwain\MyTwain\Debug\CL.write.1.tlog

?????文件??????73420??2014-08-13?11:06??MyTwain\MyTwain\Debug\DIB.obj

?????文件??????????2??2014-08-14?15:37??MyTwain\MyTwain\Debug\link-cvtres.read.1.tlog

?????文件??????????2??2014-08-14?15:37??MyTwain\MyTwain\Debug\link-cvtres.write.1.tlog

?????文件??????????2??2014-08-14?15:37??MyTwain\MyTwain\Debug\link.3628-cvtres.read.1.tlog

?????文件??????????2??2014-08-14?15:37??MyTwain\MyTwain\Debug\link.3628-cvtres.write.1.tlog

?????文件??????????2??2014-08-14?15:37??MyTwain\MyTwain\Debug\link.3628.read.1.tlog

?????文件??????????2??2014-08-14?15:37??MyTwain\MyTwain\Debug\link.3628.write.1.tlog

?????文件??????????2??2014-08-14?15:37??MyTwain\MyTwain\Debug\link.4280-cvtres.read.1.tlog

?????文件??????????2??2014-08-14?15:37??MyTwain\MyTwain\Debug\link.4280-cvtres.write.1.tlog

?????文件??????????2??2014-08-14?15:37??MyTwain\MyTwain\Debug\link.4280.read.1.tlog

?????文件??????????2??2014-08-14?15:37??MyTwain\MyTwain\Debug\link.4280.write.1.tlog

?????文件???????2100??2014-08-14?15:37??MyTwain\MyTwain\Debug\link.command.1.tlog

?????文件???????5944??2014-08-14?15:37??MyTwain\MyTwain\Debug\link.read.1.tlog

?????文件???????1476??2014-08-14?15:37??MyTwain\MyTwain\Debug\link.write.1.tlog

?????文件????????760??2014-08-14?15:37??MyTwain\MyTwain\Debug\mt.command.1.tlog

?????文件????????704??2014-08-14?15:37??MyTwain\MyTwain\Debug\mt.read.1.tlog

?????文件????????522??2014-08-14?15:37??MyTwain\MyTwain\Debug\mt.write.1.tlog

?????文件???????2173??2014-08-13?11:06??MyTwain\MyTwain\Debug\MyTwain.Build.CppClean.log

?????文件????????667??2014-08-13?11:06??MyTwain\MyTwain\Debug\MyTwain.exe.embed.manifest

?????文件????????732??2014-08-13?11:06??MyTwain\MyTwain\Debug\MyTwain.exe.embed.manifest.res

?????文件????????381??2014-08-14?15:37??MyTwain\MyTwain\Debug\MyTwain.exe.intermediate.manifest

?????文件?????????66??2014-08-14?15:37??MyTwain\MyTwain\Debug\MyTwain.lastbuildstate

?????文件???????4299??2014-08-14?15:37??MyTwain\MyTwain\Debug\MyTwain.log

?????文件??????51522??2014-08-14?15:35??MyTwain\MyTwain\Debug\MyTwain.obj

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

評論

共有 條評論