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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dip.cpp

?? 幾個FFT算法
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
	for ( i = 255 ; i > 125 ; i-- )
		for ( j = 209 ; j < bmpInfoHeader.biWidth ; j++ ) 
		{    
			t = image[i][j];
			if ( t <= 185 ) image[i][j] = 0;
			else image[i][j] = (t-185)*2.5;
		}
		  
	for ( i = 255 ; i > 125 ; i-- )
		image[i][208]=(image[i][207]+image[i][209])/2;

	for ( j = 209 ; j < bmpInfoHeader.biWidth ; j++ )
		image[125][j]=(image[124][j]+image[126][j])/2;
	  
	for ( i = 160 ; i > 123 ; i--)
		for ( j = 207 ; j < bmpInfoHeader.biWidth ; j++ )
			if ( image[i][j]>50 ) image[i][j]+=35;

	for ( i = 254 ; i > 120 ; i-- )
		for ( j = 200 ; j < bmpInfoHeader.biWidth-1 ; j++ )
		{        
			t = 0;
			for ( i1=-1; i1 <= 1; i1++ )
				for ( i2 = -1; i2 <= 1; i2++ )
				{
					if ( t == 0 )
					{
						buf[t] = image[i+i1][j+i2];
						t++;
					}
					else
					{      
						i3 = t;
						while ( i3 >= 0 && buf[i3] > image[i+i1][j+i2] )
						{
							buf[i3+1] = buf[i3];
							i3--;
						}     
						buf[i3+1] = image[i+i1][j+i2];
						t++;
					}
				}                               
							   
			temp[i][j] = buf[4];                                                              
		}                             
		   
	for ( i = 255 ; i > 120 ; i-- )
		for ( j = 200 ; j < bmpInfoHeader.biWidth ; j++ )
			image[i][j] = temp[i][j];

	for ( i = 0 ; i < bmpInfoHeader.biHeight ; i++ )
		delete temp[i];
	delete temp;

	Show();

	SetCursor(hSaveCursor);
	ReleaseCapture();
	return;
}

void TDipWindow::CMClear()
{
	int i,j,t;

	SetCapture(HWindow);
	hSaveCursor = SetCursor(hHourCursor);

	temp = (unsigned char huge**) new unsigned char * [bmpInfoHeader.biHeight];
	if (!temp)
	{
		MessageBox(HWindow,"Not enough memory","Receive Message",MB_OK);
		SetCursor(hSaveCursor);
		ReleaseCapture();
		return ;
	}

	for ( i = bmpInfoHeader.biHeight - 1 ; i >= 0  ; i-- )
	{
		temp[i] = new unsigned char[bmpInfoHeader.biWidth];
		if (!temp[i])
		{
			MessageBox(HWindow,"Not enough memory","Receive Message",MB_OK);
			SetCursor(hSaveCursor);
			ReleaseCapture();
			return ;
		}
	}

	for ( i = 0 ; i < bmpInfoHeader.biHeight ; i++ )
		for ( j = 0 ; j < bmpInfoHeader.biWidth ; j++ )
			temp[i][j] = image[i][j];

	for ( i = 1 ; i < bmpInfoHeader.biHeight-1 ; i++ )
		for ( j = 0 ; j < bmpInfoHeader.biWidth-1 ; j++ )
		{
			t = 9*temp[i][j] - ( temp[i-1][j-1] + temp[i-1][j]
				+ temp[i-1][j+1] + temp[i][j-1] + temp[i][j+1]
			+ temp[i+1][j-1] + temp[i+1][j] + temp[i+1][j+1] );
			if ( t < 0 ) image[i][j] = 0;
			else if ( t > 255 ) image[i][j] = 255;
			else image[i][j] = t;
	  }

	for ( i = 0 ; i < bmpInfoHeader.biHeight ; i++ )
		delete temp[i];
	delete temp;

	Show();

	SetCursor(hSaveCursor);
	ReleaseCapture();
	return;
}

void TDipWindow::CM3D_Transfer()
{
	const float pi = 3.1415926;
	int i,j;
	int fai = 30,sita = 30;
	long d = 100000,f = 100000;
	float x0,y0,u,v;
	float s1,s2,c1,c2,sc,cc,ss,cs,a11,a12,a21,a22,det;

	DlgBuf * buffer = new DlgBuf();
	PTSetDialog PSet = new TSetDialog(this,DIPDIALOG,buffer);

	if ( GetApplication()->ExecDialog(PSet) == IDOK )
	{
		d = atol(buffer->s1);
		sita = atoi(buffer->s2);
        fai = atoi(buffer->s3);
    }

	SetCapture(HWindow);
	hSaveCursor = SetCursor(hHourCursor);

	temp = (unsigned char huge**) new unsigned char * [bmpInfoHeader.biHeight];
	if (!temp)
	{
		MessageBox(HWindow,"Not enough memory","Receive Message",MB_OK);
		SetCursor(hSaveCursor);
		ReleaseCapture();
		return ;
	}

	for ( i = bmpInfoHeader.biHeight - 1 ; i >= 0  ; i-- )
	{
		temp[i] = new unsigned char[bmpInfoHeader.biWidth];
		if (!temp[i])
		{
			MessageBox(HWindow,"Not enough memory","Receive Message",MB_OK);
			SetCursor(hSaveCursor);
			ReleaseCapture();
			return ;
		}
	}

	s1 = sin(fai*pi/180);
	s2 = sin(sita*pi/180);
	c1 = cos(fai*pi/180);
	c2 = cos(sita*pi/180);
	sc = s1*c2;
	cc = c1*c2;
	ss = s1*s2;
	cs = c1*s2;

	for ( i = 0 ; i < bmpInfoHeader.biHeight ; i++ )
		for ( j = 0 ; j < bmpInfoHeader.biWidth ; j++ )
			temp[i][j] = image[i][j];

	for ( i = 0 ; i < bmpInfoHeader.biHeight ; i++ )
		for ( j = 0 ; j < bmpInfoHeader.biWidth ; j++ )
		{
			x0 = j - bmpInfoHeader.biWidth/2;
			y0 = i - bmpInfoHeader.biHeight/2;
			a22 = f*c1-x0*sc;
			a12 = f*s1+y0*cc;
			a21 = -f*ss+x0*sc;
			a11 = f*cs+y0*cc;
			det = a11*a22-a21*a12;
			u = (a11*x0*d+a12*y0*d)/det;
			v = (a21*x0*d+a22*y0*d)/det;

			if ( u < -bmpInfoHeader.biHeight/2 || u >= 256-bmpInfoHeader.biHeight/2
				|| v < -bmpInfoHeader.biWidth/2 || v >= 256-bmpInfoHeader.biWidth/2 )
				image[i][j] = 0;
			else image[i][j]
				= temp[(int)(v+bmpInfoHeader.biWidth/2)][(int)(u+bmpInfoHeader.biHeight/2)]; 
		}

	for ( i = 0 ; i < bmpInfoHeader.biHeight ; i++ )
		delete temp[i];
	delete temp;

	Show();

	SetCursor(hSaveCursor);
	ReleaseCapture();
	return;
}

void TDipWindow::CMEdge()
{
	int i,j;

	SetCapture(HWindow);
	hSaveCursor = SetCursor(hHourCursor);

	temp = (unsigned char huge**) new unsigned char * [bmpInfoHeader.biHeight];
	if (!temp)
	{
		MessageBox(HWindow,"Not enough memory","Receive Message",MB_OK);
		SetCursor(hSaveCursor);
		ReleaseCapture();
		return ;
	}

	for ( i = bmpInfoHeader.biHeight - 1 ; i >= 0  ; i-- )
	{
		temp[i] = new unsigned char[bmpInfoHeader.biWidth];
		if (!temp[i])
		{
			MessageBox(HWindow,"Not enough memory","Receive Message",MB_OK);
			SetCursor(hSaveCursor);
			ReleaseCapture();
			return ;
		}
	}

	Edge();
	for ( i = 0 ; i < bmpInfoHeader.biHeight ; i++ )
		for ( j = 0 ; j < bmpInfoHeader.biWidth ; j++ )
			if ( temp[i][j] > 135 ) image[i][j] = 0xff;
			else image[i][j] = 0;

	for ( i = 0 ; i < bmpInfoHeader.biHeight ; i++ )
		delete temp[i];
	delete temp;

	Show();

	SetCursor(hSaveCursor);
	ReleaseCapture();
	return;
}

void TDipWindow::CMThin()
{
	int i,j,flag,index,min,max;
	int change1,change2,change3,change4;
	unsigned char sum1[512],sum2[512],sum3[512];
	unsigned char total1[512],total2[512],total3[512];

	rd[0] = 0;
	rd[1] = -1;
	rd[2] = -1;
	rd[3] = -1;
	rd[4] = 0;
	rd[5] = 1;
	rd[6] = 1;
	rd[7] = 1;
	rd[8] = 0;

	cd[0] = 1;
	cd[1] = 1;
	cd[2] = 0;
	cd[3] = -1;
	cd[4] = -1;
	cd[5] = -1;
	cd[6] = 0;
	cd[7] = 1;
	cd[8] = 1;

	SetCapture(HWindow);
	hSaveCursor = SetCursor(hHourCursor);

	temp = (unsigned char huge**) new unsigned char * [bmpInfoHeader.biHeight];
	if (!temp)
	{
		MessageBox(HWindow,"Not enough memory","Receive Message",MB_OK);
		SetCursor(hSaveCursor);
		ReleaseCapture();
		return ;
	}

	for ( i = bmpInfoHeader.biHeight - 1 ; i >= 0  ; i-- )
	{
		temp[i] = new unsigned char[bmpInfoHeader.biWidth];
		if (!temp[i])
		{
			MessageBox(HWindow,"Not enough memory","Receive Message",MB_OK);
			SetCursor(hSaveCursor);
			ReleaseCapture();
			return;
	  	}
	}

	for ( i = 0 ; i < bmpInfoHeader.biHeight ; i++ )
		for ( j = 0 ; j < bmpInfoHeader.biWidth ; j++ )
			if ( image[i][j] > 0x80 ) image[i][j] = 0;
			else image[i][j] = 1;

	for ( j = 0 ; j < bmpInfoHeader.biWidth ; j++ )
	{
		sum1[j] = 0;
		for ( i = 30 ; i < 94 ; i++ )
		{
			flag = 0;
			flag = ( image[i-1][j-1]+image[i][j-1]+image[i+1][j-1] != 0 )
				&& ( image[i-1][j-1]+image[i][j-1]+image[i+1][j-1] != 0 );
			if ( flag && image[i][j] == 1 ) sum1[j]++;
            }
	}

	for ( j = 0 ; j < bmpInfoHeader.biWidth ; j++ )
	{
		sum2[j] = 0;
		for ( i = 94 ; i < 155 ; i++ )
            {
			flag = 0;
			flag = ( image[i-1][j-1]+image[i][j-1]+image[i+1][j-1] != 0 )
				&& ( image[i-1][j-1]+image[i][j-1]+image[i+1][j-1] != 0 );
			if ( flag && image[i][j] == 1 ) sum2[j]++;
            }
	}

	for ( j = 0 ; j < bmpInfoHeader.biWidth ; j++ )
	{
		sum3[j] = 0;
		for ( i = 155 ; i < 231 ; i++ )
            {
			flag = 0;
			flag = ( image[i-1][j-1]+image[i][j-1]+image[i+1][j-1] != 0 )
				&& ( image[i-1][j-1]+image[i][j-1]+image[i+1][j-1] != 0 );
			if ( flag && image[i][j] == 1 ) sum3[j]++;
            }
	}

	do
	{
		change1 = ThinLeft();
		change2 = ThinRight();
		change3 = ThinTop();
		change4 = ThinBottom();
	} while( change1 || change2 || change3 || change4 );

	for ( j = 0 ; j < bmpInfoHeader.biWidth ; j++ )
	{
		total1[j] = 0;
		for ( i = 30 ; i < 94 ; i++ )
			if ( image[i][j] == 1 ) total1[j]++;
	}

	for ( j = 0 ; j < bmpInfoHeader.biWidth ; j++ )
	{
		total2[j] = 0;
		for ( i = 94 ; i < 155 ; i++ )
			if ( image[i][j] == 1 ) total2[j]++;
	}

	for ( j = 0 ; j < bmpInfoHeader.biWidth ; j++ )
	{
		total3[j] = 0;
		for ( i = 155 ; i < 231 ; i++ )
			if ( image[i][j] == 1 ) total3[j]++;
	}

	for ( j = 40 ; j < 380 ; j++ )
		if ( j % 5 < 3 ) image[30][j] = 1;
	for ( j = 40 ; j < 400 ; j++ )
		if ( j % 5 < 3 ) image[94][j] = 1;
	for ( j = 40 ; j < 472 ; j++ )
		if ( j % 5 < 3 ) image[155][j] = 1;
	for ( j = 40 ; j < 472 ; j++ )
		if ( j % 5 < 3 ) image[231][j] = 1;

	for ( i = 30 ; i < 231 ; i++ )
		if ( i % 5 < 3 ) image[i][40] = 1;
	for ( i = 30 ; i < 94 ; i++ )
		if ( i % 5 < 3 ) image[i][380] = 1;
	for ( i = 94 ; i < 155 ; i++ )
		if ( i % 5 < 3 ) image[i][400] = 1;
	for ( i = 155 ; i < 231 ; i++ )
		if ( i % 5 < 3 ) image[i][472] = 1;

	flag = 0;
	for ( j = 57 ; j < 372 ; j++ )
		if ( flag == 0 )
		{
			if ( sum1[j] < 3 )
			{
				min = j;
				flag = 1;
			}
		}
		else
		{
			if ( sum1[j] > 2 )
			{
				max = j - 1;
				flag = 0;
				index = (min+max)/2;
                if ( total1[index] < 2 )
					for ( i = 30 ; i < 94 ; i++ )
						if ( i % 5 < 3 ) image[i][index] = 1;
			}
		}

	flag = 0;
	for ( j = 57 ; j < 390 ; j++ )
		if ( flag == 0 )
		{
			if ( sum2[j] < 3 )
			{
				min = j;
				flag = 1;
			}
		}
		else
		{
			if ( sum2[j] > 2 )
			{
				max = j - 1;
				flag = 0;
				index = (min+max)/2;
                		if ( total2[index] < 2 )
					for ( i = 94 ; i < 155 ; i++ )
						if ( i % 5 < 3 ) image[i][index] = 1;
			}
		}

	flag = 0;
	for ( j = 57 ; j < 466 ; j++ )
		if ( flag == 0 )
		{
			if ( sum3[j] < 3 )
			{
				min = j;
				flag = 1;
			}
		}
		else
		{
			if ( sum3[j] > 4 )
			{
				max = j - 1;
				flag = 0;
				index = (min+max)/2;
				if ( total3[index] < 2 )
					for ( i = 155 ; i < 231 ; i++ )
						if ( i % 5 < 3 ) image[i][index] = 1;
			}
		}

	flag = 0;
	for ( j = 57 ; j < 372 ; j++ )
		if ( flag == 0 )
		{
			if ( total1[j] < 1 )
			{
				min = j;
				flag = 1;
			}
		}
		else
		{
			if ( total1[j] > 0 )
			{
				max = j - 1;
				flag = 0;
				index = (min+max)/2;
                	if ( sum1[index] > 4 )
					for ( i = 30 ; i < 94 ; i++ )
						if ( i % 5 < 3 ) image[i][index] = 1;
			}
		}

	flag = 0;
	for ( j = 57 ; j < 390 ; j++ )
		if ( flag == 0 )
		{
			if ( total2[j] < 1 )
			{
				min = j;
				flag = 1;
			}
		}
		else
		{
			if ( total2[j] > 0 )
			{
				max = j - 1;
				flag = 0;
				index = (min+max)/2;
                		if ( sum2[index] > 3 )
					for ( i = 94 ; i < 155 ; i++ )
						if ( i % 5 < 3 ) image[i][index] = 1;
			}
		}

	flag = 0;
	for ( j = 57 ; j < 466 ; j++ )
		if ( flag == 0 )
		{
			if ( total3[j] < 1 )
			{
				min = j;
				flag = 1;
			}
		}
		else
		{
			if ( total3[j] > 0 )
			{
				max = j - 1;
				flag = 0;
				index = (min+max)/2;
				if ( sum3[index] > 4 )
					for ( i = 155 ; i < 231 ; i++ )
						if ( i % 5 < 3 ) image[i][index] = 1;
			}
		}

	for ( i = 0 ; i < bmpInfoHeader.biHeight ; i++ )
		for ( j = 0 ; j < bmpInfoHeader.biWidth ; j++ )
			if ( image[i][j] == 0 ) image[i][j] = 0xff;
		 else image[i][j] = 0;

	for ( i = 0 ; i < bmpInfoHeader.biHeight ; i++ )
		delete temp[i];
	delete temp;

	Show();

	SetCursor(hSaveCursor);
	ReleaseCapture();
   	return;
}

TSetDialog::TSetDialog(PTWindowsObject AParent,int ResourceID,
	DlgBuf *buffer):TDialog(AParent,ResourceID)
{
	TransferBuffer = (void *)buffer;
}


int PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
	LPSTR lpCmdLine,int nCmdShow)
{
	TDipApp DipApp("Simple Draw Tool",hInstance,
		hPrevInstance,lpCmdLine,nCmdShow);
	DipApp.Run();
	return DipApp.Status;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一卡在线观看| 欧美激情资源网| 久久蜜桃av一区二区天堂| 亚洲欧洲日韩av| 麻豆精品视频在线观看免费| 91成人国产精品| 久久久精品欧美丰满| 天堂资源在线中文精品| 成人免费福利片| 精品国产1区二区| 亚洲国产综合视频在线观看| 成人免费视频caoporn| 日韩欧美一卡二卡| 日韩精品电影在线| 一本到三区不卡视频| 国产情人综合久久777777| 日韩成人dvd| 欧美色欧美亚洲另类二区| 国产精品国产三级国产专播品爱网| 精品一区二区三区影院在线午夜| 欧美精三区欧美精三区| 亚洲午夜一区二区| 色综合久久久久久久久久久| 中文字幕精品一区二区精品绿巨人| 另类小说欧美激情| 91精品国产91久久综合桃花| 亚洲一区二区三区四区不卡| 在线免费观看日本欧美| 亚洲乱码国产乱码精品精小说 | 国产精品正在播放| 欧美一区二区三区电影| 日韩精品免费专区| 亚洲美女免费在线| 91视频91自| 亚洲三级免费观看| 色成人在线视频| 一二三四区精品视频| 色系网站成人免费| 亚洲一线二线三线久久久| 在线区一区二视频| 天天综合色天天综合色h| 制服.丝袜.亚洲.中文.综合| 亚洲bt欧美bt精品| 欧美一级理论片| 麻豆91免费观看| 久久婷婷色综合| 国产成人综合亚洲91猫咪| 中文一区在线播放| 91老师片黄在线观看| 亚洲国产另类精品专区| 91精品久久久久久蜜臀| 日本欧美一区二区三区| 欧美v日韩v国产v| 国产一区视频在线看| 中文字幕一区二| 欧美日韩电影一区| 另类小说一区二区三区| 欧美激情在线一区二区三区| 日本久久电影网| 秋霞影院一区二区| 精品免费视频.| 久久蜜臀中文字幕| 91亚洲精品久久久蜜桃| 天天av天天翘天天综合网色鬼国产 | 麻豆91精品91久久久的内涵| 精品成人一区二区三区| 91啪亚洲精品| 美美哒免费高清在线观看视频一区二区 | 久久综合九色综合欧美就去吻| 国产伦精品一区二区三区视频青涩 | 欧美日韩在线免费视频| 麻豆精品在线观看| 亚洲日本一区二区三区| 欧美一区二区免费视频| 91亚洲精华国产精华精华液| 日产国产高清一区二区三区| 国产清纯白嫩初高生在线观看91| 欧美天堂一区二区三区| 国产精品一线二线三线精华| 亚洲综合色噜噜狠狠| 久久精品一区二区| 欧美一区二区在线免费观看| 91在线视频观看| 精品亚洲免费视频| 同产精品九九九| 亚洲少妇屁股交4| 精品国产露脸精彩对白| 欧美性生交片4| 9人人澡人人爽人人精品| 久久电影网站中文字幕| 亚洲综合无码一区二区| 中文字幕高清不卡| 欧美不卡一区二区| 欧美男人的天堂一二区| 91美女片黄在线| 国产精品888| 狠狠色狠狠色综合系列| 亚洲已满18点击进入久久| 综合久久久久久| 国产精品久久久99| 欧美激情一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 91精品国产综合久久精品app| 日本道精品一区二区三区| 成人听书哪个软件好| 国产精品亚洲午夜一区二区三区| 美女爽到高潮91| 蜜桃久久久久久久| 青青草原综合久久大伊人精品| 一区二区三区日韩精品| 亚洲六月丁香色婷婷综合久久| 国产精品亲子乱子伦xxxx裸| 国产亚洲午夜高清国产拍精品 | 在线观看亚洲一区| 91小视频免费观看| 91欧美激情一区二区三区成人| 国产成人av影院| 国产麻豆视频精品| 国产成人av一区| 波多野结衣亚洲一区| 成人99免费视频| yourporn久久国产精品| 一本久久精品一区二区| 日本韩国欧美在线| 欧美日韩专区在线| 91麻豆精品久久久久蜜臀| 91麻豆精品国产91久久久久久久久| 欧美二区在线观看| 欧美变态tickle挠乳网站| 久久亚洲精品小早川怜子| 国产拍欧美日韩视频二区| 中文字幕日本不卡| 一区二区三区精品在线| 首页国产欧美久久| 狠狠色综合日日| 99久久精品免费看国产免费软件| 色综合久久久久久久久| 欧美一区二区三区影视| 久久综合九色综合97_久久久 | 国产成人午夜电影网| 成人精品视频一区| 欧美亚洲动漫精品| 日韩一级片在线观看| 日本一区二区三区国色天香| 亚洲人成精品久久久久| 日本三级亚洲精品| 懂色av一区二区在线播放| 欧美影院午夜播放| 精品福利av导航| 日韩毛片精品高清免费| 欧美96一区二区免费视频| 波多野洁衣一区| 欧美精品成人一区二区三区四区| 国产亚洲欧美一区在线观看| 一区二区三区日韩精品| 国产一区二区视频在线播放| 色久综合一二码| 26uuu色噜噜精品一区二区| 一区二区三区在线影院| 成人av免费观看| 成人午夜精品在线| 色噜噜偷拍精品综合在线| 成人高清视频在线| 亚洲444eee在线观看| 亚洲国产成人va在线观看天堂| 蜜桃精品视频在线观看| 91精品国产综合久久蜜臀| 亚洲成人av在线电影| 欧美日本在线播放| 午夜精品一区二区三区电影天堂| 欧美综合视频在线观看| 亚洲高清在线视频| 欧美日韩精品欧美日韩精品一| 亚洲综合视频在线观看| 欧美日韩成人一区二区| 视频一区免费在线观看| 欧美高清视频不卡网| 美女一区二区视频| 久久这里只精品最新地址| 国产一区二区伦理片| 国产精品久久二区二区| 国产精品一卡二| 亚洲天堂免费在线观看视频| 色综合天天综合色综合av| 美美哒免费高清在线观看视频一区二区| 欧美视频日韩视频在线观看| 洋洋成人永久网站入口| 欧美剧在线免费观看网站| 美女看a上一区| 日本一区二区视频在线观看| 色狠狠桃花综合| 婷婷成人激情在线网| 精品成人佐山爱一区二区| 成人avav影音| 午夜伊人狠狠久久| 91精品国产色综合久久久蜜香臀| 极品美女销魂一区二区三区| 国产精品亲子乱子伦xxxx裸| 欧美性生活一区| 国产福利一区在线观看|