亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? loadbmp.h

?? 圖像處理基礎(chǔ)知識編寫的這些程序?qū)π率址浅S袔椭?) 對圖像進(jìn)行離散余弦變換處理(圖像變換)的源代碼
?? H
字號:
#if ! defined (_LOADBMP_H)
#define _LOADBMP_H

#if ! defined (EXTRA_NAME)
#define EXTRA_NAME "~EX."
#endif

#include <afx.h>
#include <iostream.h>
#include <windows.h>
#include <math.h>

#define pi (double)3.14159265359

int nWidth;
int nHeight;
int nLen;
int nByteWidth;
BYTE *lpBackup;
BYTE *lpBitmap;
BYTE *lpBits;
CString FileName;
CString Front;
CString Rear;

/*復(fù)數(shù)定義*/
typedef struct
{
	double re;
	double im;
}COMPLEX;

/*復(fù)數(shù)加運(yùn)算*/
COMPLEX Add(COMPLEX c1, COMPLEX c2)
{
	COMPLEX c;
	c.re=c1.re+c2.re;
	c.im=c1.im+c2.im;
	return c;
}

/*復(fù)數(shù)減運(yùn)算*/
COMPLEX Sub(COMPLEX c1, COMPLEX c2)
{
	COMPLEX c;
	c.re=c1.re-c2.re;
	c.im=c1.im-c2.im;
	return c;
}

/*復(fù)數(shù)乘運(yùn)算*/
COMPLEX Mul(COMPLEX c1, COMPLEX c2)
{
	COMPLEX c;
	c.re=c1.re*c2.re-c1.im*c2.im;
	c.im=c1.re*c2.im+c2.re*c1.im;
	return c;
}

void GetPoints(BYTE *lpPoints)
{
	int x,y,p;
	for(y=0;y<nHeight;y++)
	{
		for(x=0;x<nWidth;x++)
		{
			p=x*3+y*nByteWidth;
			lpPoints[x+y*nWidth]=(BYTE)(0.299*(float)lpBits[p+2]+0.587*(float)lpBits[p+1]+0.114*(float)lpBits[p]+0.1);
		}
	}
}

void PutPoints(BYTE *lpPoints)
{
	int x,y,p,p1;
	for(y=0;y<nHeight;y++)
	{
		for(x=0;x<nWidth;x++)
		{
			p=x*3+y*nByteWidth;
			p1=x+y*nWidth;
			lpBits[p]=lpPoints[p1];
			lpBits[p+1]=lpPoints[p1];
			lpBits[p+2]=lpPoints[p1];
		}
	}
}

void CuttheName()
{
	int Position;
	Position=FileName.Find('.');
	Front=FileName.Left(Position);
	Rear=FileName.Mid(Position+1);
}

void LoadBitmap()
{
	BITMAPINFOHEADER *pInfo;
	pInfo=(BITMAPINFOHEADER *)(lpBitmap+sizeof(BITMAPFILEHEADER));
	nWidth=pInfo->biWidth;
	nByteWidth=nWidth*3;
	if (nByteWidth%4) nByteWidth+=4-(nByteWidth%4);
	nHeight=pInfo->biHeight;
	if (pInfo->biBitCount!=24)
	{
		if (pInfo->biBitCount!=8)
		{
			cout<<"Invalidation Bitmap";
			delete lpBitmap;
			lpBitmap=0;
			return;
		}
		unsigned int PaletteSize=1<<pInfo->biBitCount;
		if (pInfo->biClrUsed!=0 && pInfo->biClrUsed<PaletteSize) PaletteSize=pInfo->biClrUsed;
		lpBits=lpBitmap+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);
		RGBQUAD *pPalette=(RGBQUAD *)lpBits;
		lpBits+=sizeof(RGBQUAD)*PaletteSize;
		nLen=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+nByteWidth*nHeight;
		BYTE *lpTemp=lpBitmap;
		lpBitmap=new BYTE[nLen];
		BITMAPFILEHEADER bmh;
		BITMAPINFOHEADER bmi;
		bmh.bfType='B'+'M'*256;
		bmh.bfSize=nLen;
		bmh.bfReserved1=0;
		bmh.bfReserved2=0;
		bmh.bfOffBits=54;
		bmi.biSize=sizeof(BITMAPINFOHEADER);
		bmi.biWidth=nWidth;
		bmi.biHeight=nHeight;
		bmi.biPlanes=1;
		bmi.biBitCount=24;
		bmi.biCompression=BI_RGB;
		bmi.biSizeImage=0;
		bmi.biXPelsPerMeter=0;
		bmi.biYPelsPerMeter=0;
		bmi.biClrUsed=0;
		bmi.biClrImportant=0;
		int nBWidth=pInfo->biWidth;
		if (nBWidth%4) nBWidth+=4-(nBWidth%4);
		memset(lpBitmap,0,nLen);
		memcpy(lpBitmap,&bmh,sizeof(BITMAPFILEHEADER));
		memcpy(lpBitmap+sizeof(BITMAPFILEHEADER),&bmi,sizeof(BITMAPINFOHEADER));
		BYTE *lpBits2=lpBitmap+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);
		int x,y,p1,p2,Palette;
		for(y=0;y<nHeight;y++)
		{
			for(x=0;x<nWidth;x++)
			{
				p1=y*nBWidth+x;
				p2=y*nByteWidth+x*3;
				if (lpBits[p1]<PaletteSize) Palette=lpBits[p1];
				else Palette=0;
				lpBits2[p2]=pPalette[Palette].rgbBlue;
				lpBits2[p2+1]=pPalette[Palette].rgbGreen;
				lpBits2[p2+2]=pPalette[Palette].rgbRed;
			}
		}
		delete lpTemp;
	}
	lpBits=lpBitmap+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);
	if (lpBackup) delete lpBackup;
	lpBackup=new BYTE[nLen];
	memcpy(lpBackup,lpBitmap,nLen);
}

void OpenFile() 
{
	CFile File=0;
	if (!File.Open(FileName,CFile::modeRead)) return;
	CuttheName();
	if (lpBitmap) delete lpBitmap;
	nLen=File.GetLength();
	lpBitmap=new BYTE[nLen];
	File.Read(lpBitmap,nLen);
	LoadBitmap(); 
}

void SaveAs()
{
	CFile file;
	if (lpBitmap==0) return;
	if (!file.Open(Front+EXTRA_NAME+Rear,CFile::modeWrite|CFile::modeCreate))
	{
		cout<<"ERROR~~\n";
		return;
	}
	int nLen=nByteWidth*nHeight;
	BYTE *pMem=new BYTE[nLen+sizeof(BITMAPINFOHEADER)];
	BITMAPINFOHEADER *bmi=(BITMAPINFOHEADER *)pMem;
	bmi->biSize=sizeof(BITMAPINFOHEADER);
	bmi->biWidth=nWidth;
	bmi->biHeight=nHeight;
	bmi->biPlanes=1;
	bmi->biBitCount=24;
	bmi->biCompression=BI_RGB;
	bmi->biSizeImage=0;
	bmi->biXPelsPerMeter=0;
	bmi->biYPelsPerMeter=0;
	bmi->biClrUsed=0;
	bmi->biClrImportant=0;
	BITMAPFILEHEADER bmh;
	bmh.bfType='B'+'M'*256;
	bmh.bfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+nLen;
	bmh.bfReserved1=0;
	bmh.bfReserved2=0;
	bmh.bfOffBits=54;
	memcpy(pMem+sizeof(BITMAPINFOHEADER),lpBits,nLen);
	file.Write(&bmh,sizeof(BITMAPFILEHEADER));
	file.Write(pMem,nLen+sizeof(BITMAPINFOHEADER));
	file.Close();
}

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产三级国产普通话三级 | 91麻豆精品国产91久久久资源速度| 精品99久久久久久| 极品少妇xxxx精品少妇| 精品免费国产一区二区三区四区| 久久精品国产精品青草| 久久久91精品国产一区二区三区| 国产91清纯白嫩初高中在线观看| 中文字幕在线不卡国产视频| 91国偷自产一区二区三区成为亚洲经典| 亚洲男人天堂av| 欧美日韩国产精选| 久久国产精品无码网站| 欧美极品xxx| 91成人国产精品| 日韩精品成人一区二区三区| 欧美成人一级视频| 成人av在线资源| 亚洲一二三四在线| 精品国产一区a| 91丨九色丨尤物| 免费久久99精品国产| 国产日本欧洲亚洲| 精品1区2区3区| 国产精品综合二区| 亚洲综合激情小说| 久久久精品免费观看| 91黄视频在线观看| 久久69国产一区二区蜜臀| 中文字幕一区二区三区在线观看| 欧美日韩1区2区| 国产东北露脸精品视频| 亚洲va韩国va欧美va| 欧美极品xxx| 91精品国产入口在线| 91精品福利在线一区二区三区| 国产乱码精品一区二区三区忘忧草| 亚洲精品视频在线观看免费| 精品国产乱码久久久久久闺蜜| 92国产精品观看| 国产在线一区观看| 日韩电影在线观看一区| 专区另类欧美日韩| 久久亚洲精品小早川怜子| 欧美三级日本三级少妇99| 成人动漫精品一区二区| 美女爽到高潮91| 亚洲一区二区av在线| 国产精品福利影院| 久久久久久久久久久电影| 在线不卡中文字幕| 91久久奴性调教| 成人av在线一区二区三区| 久久电影网电视剧免费观看| 亚洲国产精品综合小说图片区| 国产亚洲精久久久久久| 欧美一级二级三级乱码| 色综合色狠狠综合色| 日本国产一区二区| 豆国产96在线|亚洲| 亚洲高清视频在线| 亚洲精品视频在线看| 国产精品免费久久| 精品久久人人做人人爽| 91麻豆精品国产91久久久久| 日本乱人伦aⅴ精品| 99国产精品久久久| 欧美一区二区三区在线| 欧美日韩色一区| 欧美在线观看一二区| 一本大道综合伊人精品热热| 不卡高清视频专区| 99这里只有久久精品视频| 99这里只有精品| 97se亚洲国产综合自在线不卡| eeuss影院一区二区三区| www..com久久爱| av在线不卡免费看| 94-欧美-setu| 在线免费视频一区二区| 欧美伊人久久久久久午夜久久久久| 91丨九色丨国产丨porny| 色婷婷亚洲精品| 精品视频一区三区九区| 欧美三级电影网| 欧美一区二区三区人| 欧美大片顶级少妇| 久久精品一区二区三区四区| 国产欧美日韩一区二区三区在线观看 | 亚洲一二三四区不卡| 一区二区国产视频| 日韩久久一区二区| 一区二区三区不卡在线观看| 一区二区三区资源| 舔着乳尖日韩一区| 久久国产精品色婷婷| 国产精品性做久久久久久| 丁香一区二区三区| 色激情天天射综合网| 6080国产精品一区二区| 久久日韩精品一区二区五区| 中文幕一区二区三区久久蜜桃| 亚洲精品国产精华液| 91小视频在线观看| 51精品国自产在线| 国产午夜精品美女毛片视频| 亚洲免费观看高清在线观看| 午夜欧美在线一二页| 麻豆91在线看| 99久久国产综合精品女不卡| 欧美日韩精品一区视频| 久久久www免费人成精品| 亚洲蜜桃精久久久久久久| 日韩电影在线看| 成人ar影院免费观看视频| 欧美精品色一区二区三区| 国产亚洲精品资源在线26u| 伊人开心综合网| 国模一区二区三区白浆| 91国内精品野花午夜精品| 久久这里只有精品视频网| 亚洲精品国产品国语在线app| 美女网站色91| 91极品美女在线| 国产午夜精品在线观看| 天堂在线一区二区| 懂色av一区二区三区免费看| 欧美高清视频一二三区 | 国产成人h网站| 欧美日韩日日夜夜| 国产精品电影一区二区三区| 免费观看30秒视频久久| 色综合久久综合| 久久久久久久综合狠狠综合| 五月激情六月综合| bt7086福利一区国产| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲国产一区二区三区| 成人av资源在线观看| 久久综合av免费| 日本中文字幕不卡| 欧美影院午夜播放| 亚洲婷婷在线视频| 丁香一区二区三区| 国产亚洲欧美日韩在线一区| 免费高清视频精品| 91精品国产免费| 亚洲动漫第一页| 91国产成人在线| 亚洲欧美一区二区三区久本道91| 极品美女销魂一区二区三区免费| 欧美精品99久久久**| 亚洲综合无码一区二区| 91浏览器在线视频| 国产精品久久久久影院亚瑟| 国产成人在线观看免费网站| 精品欧美黑人一区二区三区| 日精品一区二区三区| 欧美日韩成人高清| 成人免费视频免费观看| 国产亚洲成aⅴ人片在线观看 | 在线亚洲欧美专区二区| 国产精品传媒入口麻豆| 成人av资源网站| 亚洲欧美综合色| 97se亚洲国产综合自在线不卡| 中文字幕一区二区三区不卡在线| 成人av动漫在线| 国产精品福利影院| 99久久综合色| 亚洲精品中文在线| 欧美性xxxxx极品少妇| 亚洲资源在线观看| 欧美日本一道本| 免费精品视频最新在线| 精品国产三级电影在线观看| 狠狠色丁香九九婷婷综合五月| 精品成a人在线观看| 国产精品香蕉一区二区三区| 国产嫩草影院久久久久| av在线播放不卡| 亚洲精品中文字幕在线观看| 欧洲精品一区二区三区在线观看| 午夜成人在线视频| 精品成人一区二区三区| 成人精品视频一区二区三区| 中文字幕一区二区三区不卡在线 | 国产91在线观看| 中文字幕欧美一区| 在线观看日韩一区| 香蕉久久一区二区不卡无毒影院| 欧美高清一级片在线| 极品少妇xxxx精品少妇| 中文字幕亚洲不卡| 欧美日韩aaaaa| 国产成人aaa| 亚洲国产另类精品专区| 精品国产1区2区3区| 99久久亚洲一区二区三区青草| 亚洲综合色网站|