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

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

?? dynsplitview2.cpp

?? VC++圖像處理程序設計課本和代碼.
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
// DynSplitView2.cpp : implementation file
//

#include "stdafx.h"
#include "DSplit.h"
#include "DynSplitView2.h"
 
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDynSplitView2

IMPLEMENT_DYNCREATE(CDynSplitView2, CView)

CDynSplitView2::CDynSplitView2()
{
	state2=0;
}


/*初始化圖像數據*/
void CDynSplitView2::clearmem()
{
	CDSplitDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	pDoc ->statedoc=0;
    state2=1;
	
	CDibNew1=&pDoc->CDibNew;
    CDib1=&pDoc->CDib;
	long int  size=CDib1->GetHeight()*CDib1->GetWidth();
	memcpy(CDibNew1->m_pData,CDib1->m_pData,size);//復制原圖像到處理區
	

}

CPalette * CDynSplitView2::CreateBitmapPalette(TeXiaoXianShiDib * pBitmap)
	{
		struct
		{
			WORD Version;
			WORD NumberOfEntries;
			PALETTEENTRY aEntries[256];
		} palette = { 0x300, 256 };
		
		LPRGBQUAD pRGBTable = pBitmap->GetRGB();
		UINT numberOfColors = pBitmap->GetNumberOfColors();
		
		for(UINT x=0; x<numberOfColors; ++x)
		{
			palette.aEntries[x].peRed =
				pRGBTable[x].rgbRed;
			palette.aEntries[x].peGreen =
				pRGBTable[x].rgbGreen;
			palette.aEntries[x].peBlue =
				pRGBTable[x].rgbBlue;
			palette.aEntries[x].peFlags = 0;
		}
		
			hPalette.CreatePalette((LPLOGPALETTE)&palette);
		//CPalette hPale=&hPalette;
		return &hPalette;
	}

CDynSplitView2::~CDynSplitView2()
{
}
CDSplitDoc* CDynSplitView2::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CDSplitDoc)));
	return (CDSplitDoc*)m_pDocument;
}


BEGIN_MESSAGE_MAP(CDynSplitView2, CView)
	//{{AFX_MSG_MAP(CDynSplitView2)
	ON_WM_ERASEBKGND()
	ON_COMMAND(ID_FILESAVE, OnFilesave)
	ON_COMMAND(ID_Xiangxia, OnXiangxia)
	ON_COMMAND(ID_Xiangshang, OnXiangshang)
	ON_COMMAND(ID_Xiangyou, OnXiangyou)
	ON_COMMAND(ID_Xiangzuo, OnXiangzuo)
	ON_COMMAND(ID_Shuiping, OnShuiping)
	ON_COMMAND(ID_Chuizhi, OnChuizhi)
	ON_COMMAND(ID_Masaike, OnMasaike)
	ON_COMMAND(ID_Shuipingshantiao, OnShuipingshantiao)
	ON_COMMAND(ID_Chuizhishantiao, OnChuizhishantiao)
	ON_COMMAND(ID_Jianxian, OnJianxian)
	ON_COMMAND(ID_Youyi, OnYouyi)
	ON_COMMAND(ID_ZhongJianKuoZhang, OnZhongJianKuoZhang)
	ON_COMMAND(ID_Shangyi, OnShangyi)
	ON_COMMAND(ID_JiaoChaFeiRu, OnJiaoChaFeiRu)
	ON_COMMAND(ID_ZhongJianShouSuo, OnZhongJianShouSuo)
	ON_COMMAND(ID_paint1, Onpaint1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDynSplitView2 drawing

void CDynSplitView2::OnDraw(CDC* pDC)
{ 
	CDSplitDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	
	if(!pDoc ->statedoc&&state2==1)
	{
        BYTE* pBitmapData = CDibNew1->GetData();
        LPBITMAPINFO pBitmapInfo = CDibNew1->GetInfo();
        int bitmapHeight = CDibNew1->GetHeight();
        int bitmapWidth = CDibNew1->GetWidth();
		int scaledWidth = (int)(bitmapWidth * 1);
		int scaledHeight = (int)(bitmapHeight * 1);
		if (CDibNew1->GetRGB()) // Has a color table
		{
			CPalette * hPalette1=CreateBitmapPalette(CDibNew1);
            CPalette * hOldPalette =
                pDC->SelectPalette(hPalette1, true);
            pDC->RealizePalette();
			::StretchDIBits(pDC->GetSafeHdc(),0,0, bitmapWidth, bitmapHeight,
				0, 0, bitmapWidth , bitmapHeight ,
				pBitmapData, pBitmapInfo,
				DIB_RGB_COLORS, SRCCOPY);
            pDC->SelectPalette(hOldPalette, true);
            hPalette.DeleteObject();

		}
		else
		{
            ::StretchDIBits(pDC->GetSafeHdc(),
                0, 0, scaledWidth, scaledHeight,
                0, 0, bitmapWidth, bitmapHeight,
				pBitmapData, pBitmapInfo,
				DIB_RGB_COLORS, SRCCOPY);
		}
	}
}


/////////////////////////////////////////////////////////////////////////////
// CDynSplitView2 diagnostics

#ifdef _DEBUG
void CDynSplitView2::AssertValid() const
{
	CView::AssertValid();
}

void CDynSplitView2::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CDynSplitView2 message handlers

BOOL CDynSplitView2::OnEraseBkgnd(CDC* pDC) 
{
	CRect rect;
	GetClientRect(&rect);
	pDC->FillSolidRect(&rect,::GetSysColor(COLOR_WINDOW));
	return TRUE;
}

void CDynSplitView2::OnFilesave() 
{
	// TODO: Add your command handler code here
	CFileDialog dlg(FALSE,_T("BMP"),_T("*.BMP"),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("位圖文件(*.BMP)|*.BMP|"));	
    if(IDOK==dlg.DoModal())
		CString  filename;
    filename.Format ("%s",dlg.GetPathName() );    
    CDibNew1->SaveFile(filename);
	state2=1;
	Invalidate();
}

/*向下掃描特效顯示*/
void CDynSplitView2::OnXiangxia() 
{	 
	//刷新屏幕
	CDC *pDC=GetDC();
	CRect rect(0,0,1000,1000);
	CBrush brush(RGB(255,255,255));		
	pDC->FillRect(&rect,&brush);
	//復制圖像數據
	clearmem();	 
	CDSplitDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if(!pDoc ->statedoc&&state2==1)
	{
        BYTE* pBitmapData = CDibNew1->GetData();
        LPBITMAPINFO pBitmapInfo = CDibNew1->GetInfo();
        int bitmapHeight = CDibNew1->GetHeight();
        int bitmapWidth = CDibNew1->GetWidth();
		if (CDibNew1->GetRGB()) // Has a color table
		{
			CPalette * hPalette=CreateBitmapPalette(CDibNew1);
            CPalette * hOldPalette =
                pDC->SelectPalette(hPalette, true);
            pDC->RealizePalette();
			for(int j=0;j<bitmapHeight;j++)
			{
				::StretchDIBits(pDC->GetSafeHdc(),0, j, bitmapWidth, 1,
					0, bitmapHeight-j, bitmapWidth, 1,
					pBitmapData, pBitmapInfo,
					DIB_RGB_COLORS, SRCCOPY);
				Sleep(5);
			}
            pDC->SelectPalette(hOldPalette, true);
            ::DeleteObject(hPalette);
		}
		else
		{
			for(int j=0;j<bitmapWidth;j++)
			{
				::StretchDIBits(pDC->GetSafeHdc(),0, j, bitmapWidth, 1,
					0, bitmapHeight-j, bitmapWidth, 1,
					pBitmapData, pBitmapInfo,
					DIB_RGB_COLORS, SRCCOPY);
				Sleep(5);
			}
		}
	}
	Invalidate(); 	
}


/*向上掃描特效顯示*/
void CDynSplitView2::OnXiangshang() 
{
	//刷新屏幕
	CDC *pDC=GetDC();
	CRect rect(0,0,1000,1000);
	CBrush brush(RGB(255,255,255));	
	pDC->FillRect(&rect,&brush);
	//復制圖像數據
	clearmem();
	CDSplitDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	//向上掃描處理
	if(!pDoc ->statedoc&&state2==1)
	{
        BYTE* pBitmapData = CDibNew1->GetData();
        LPBITMAPINFO pBitmapInfo = CDibNew1->GetInfo();
        int bitmapHeight = CDibNew1->GetHeight();
        int bitmapWidth = CDibNew1->GetWidth();
		if (CDibNew1->GetRGB()) // Has a color table
		{
			CPalette * hPalette=CreateBitmapPalette(CDibNew1);
            CPalette * hOldPalette =
                pDC->SelectPalette(hPalette, true);
            pDC->RealizePalette();
			for(int j=0;j<bitmapHeight;j++)
			{
				::StretchDIBits(pDC->GetSafeHdc(),0, bitmapHeight-j, bitmapWidth, 1,
					0,  j, bitmapWidth, 1,
					pBitmapData, pBitmapInfo,
					DIB_RGB_COLORS, SRCCOPY);
				Sleep(5);
			}
            pDC->SelectPalette(hOldPalette, true);
            ::DeleteObject(hPalette);
		}
		else
		{
			for(int j=0;j<bitmapHeight;j++)
			{
				::StretchDIBits(pDC->GetSafeHdc(),0, bitmapHeight-j, bitmapWidth, 1,
					0,  j, bitmapWidth, 1,
					pBitmapData, pBitmapInfo,
					DIB_RGB_COLORS, SRCCOPY);
				Sleep(5);
			}
		}
	}
    Invalidate();
}

/*向右掃描特效顯示*/
void CDynSplitView2::OnXiangyou() 
{
	//刷新屏幕
	CDC *pDC=GetDC();
	CRect rect(0,0,1000,1000);
	CBrush brush(RGB(255,255,255));
	pDC->FillRect(&rect,&brush);
    //復制圖像數據
	clearmem();
	CDSplitDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if(!pDoc ->statedoc&&state2==1)
	{
        BYTE* pBitmapData = CDibNew1->GetData();
        LPBITMAPINFO pBitmapInfo = CDibNew1->GetInfo();
        int bitmapHeight = CDibNew1->GetHeight();
        int bitmapWidth = CDibNew1->GetWidth();
		if (CDibNew1->GetRGB()) // Has a color table
		{
			CPalette * hPalette=CreateBitmapPalette(CDibNew1);
            CPalette * hOldPalette =
                pDC->SelectPalette(hPalette, true);
            pDC->RealizePalette();
			for(int i=0;i<bitmapWidth;i++)
			{
				::StretchDIBits(pDC->GetSafeHdc(),   i, 0, 1, bitmapHeight,
					i,  0, 1, bitmapHeight,
					pBitmapData, pBitmapInfo,
					DIB_RGB_COLORS, SRCCOPY);
				Sleep(5);
			}
            pDC->SelectPalette(hOldPalette, true);
            ::DeleteObject(hPalette);
		}
		else
		{
			for(int i=0;i<bitmapWidth;i++)
			{
				::StretchDIBits(pDC->GetSafeHdc(),   i, 0, 1, bitmapHeight,
					i,  0, 1, bitmapHeight,
					pBitmapData, pBitmapInfo,
					DIB_RGB_COLORS, SRCCOPY);
				Sleep(5);
			}
		}
	}
	Invalidate();
}

/*向左掃描特效顯示*/
void CDynSplitView2::OnXiangzuo() 
{
	//刷新屏幕
	CDC *pDC=GetDC();
	CRect rect(0,0,1000,1000);
	CBrush brush(RGB(255,255,255));	
	pDC->FillRect(&rect,&brush);
    //復制圖像數據
	clearmem();
	CDSplitDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if(!pDoc ->statedoc&&state2==1)
	{
        BYTE* pBitmapData = CDibNew1->GetData();
        LPBITMAPINFO pBitmapInfo = CDibNew1->GetInfo();
        int bitmapHeight = CDibNew1->GetHeight();
        int bitmapWidth = CDibNew1->GetWidth();
		if (CDibNew1->GetRGB()) // Has a color table
		{
			CPalette * hPalette=CreateBitmapPalette(CDibNew1);
            CPalette * hOldPalette =
                pDC->SelectPalette(hPalette, true);
            pDC->RealizePalette();
			for(int i=0;i<bitmapWidth;i++)
			{
				::StretchDIBits(pDC->GetSafeHdc(),  bitmapWidth-i, 0, 1, bitmapHeight,
					bitmapWidth-i,  0, 1, bitmapHeight,
					pBitmapData, pBitmapInfo,
					DIB_RGB_COLORS, SRCCOPY);
				Sleep(5);
			}
            pDC->SelectPalette(hOldPalette, true);
            ::DeleteObject(hPalette);			
		}
		else
		{
			for(int i=0;i<bitmapWidth;i++)
			{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩激情| 国产精品一二三四五| 亚洲同性gay激情无套| 久久精品国产澳门| 91蜜桃传媒精品久久久一区二区 | 欧美高清在线视频| 亚洲一区二区成人在线观看| 成人永久看片免费视频天堂| 欧美日韩午夜在线| 一区二区三区 在线观看视频| 欧美日韩国产精选| 国产精品456| 精品视频在线免费看| 国产精品免费久久| 蜜臀国产一区二区三区在线播放| 在线国产电影不卡| 国产精品亲子伦对白| 亚洲精品免费看| 在线观看av一区二区| 美国欧美日韩国产在线播放| 精品国产一区二区三区忘忧草 | 日本欧美在线看| 亚洲欧美另类久久久精品| 国产精品资源网| 中文字幕在线免费不卡| 午夜不卡在线视频| 日韩午夜av电影| 国产乱码精品一区二区三| 国产精品国产三级国产aⅴ原创 | 亚洲欧美日韩一区二区三区在线观看| 蜜桃av一区二区在线观看| 欧美日韩免费观看一区三区| 午夜电影久久久| 精品成a人在线观看| 欧美日韩亚洲另类| 日韩电影在线免费看| 日韩一区二区三区电影在线观看| 国产麻豆视频精品| 国产精品久久久久一区| 欧美伊人精品成人久久综合97| 日韩高清中文字幕一区| 亚洲网友自拍偷拍| 夜夜嗨av一区二区三区中文字幕| 亚洲久本草在线中文字幕| 久久人人爽爽爽人久久久| 欧亚洲嫩模精品一区三区| 日韩国产一区二| 精品少妇一区二区三区日产乱码 | 日韩av成人高清| 国产丶欧美丶日本不卡视频| 亚洲高清在线精品| 亚洲国产另类精品专区| 成人欧美一区二区三区黑人麻豆| 中文字幕一区日韩精品欧美| 久久精品一区蜜桃臀影院| 久久视频一区二区| 国产精品传媒视频| 中文字幕视频一区| 天堂成人国产精品一区| 亚洲一区免费视频| 午夜精品影院在线观看| 亚洲国产美国国产综合一区二区| 天天做天天摸天天爽国产一区| 日韩av中文字幕一区二区 | eeuss鲁片一区二区三区| 欧美性受xxxx黑人xyx| 久久久一区二区| 国产精品女主播在线观看| 精品播放一区二区| 日韩激情视频在线观看| 黑人巨大精品欧美一区| 95精品视频在线| 欧美日韩高清一区二区三区| 久久综合给合久久狠狠狠97色69| 国产欧美视频一区二区| 成人欧美一区二区三区在线播放| 亚洲成在线观看| 国产成人99久久亚洲综合精品| 91在线精品一区二区| 日韩精品一区在线观看| 国产中文字幕一区| 色先锋aa成人| 北条麻妃一区二区三区| 色综合天天做天天爱| 91亚洲精品乱码久久久久久蜜桃| 亚洲图片欧美视频| 日韩视频一区二区三区| 日本一区二区动态图| 理论片日本一区| 日韩欧美在线123| 一区二区三区在线视频免费观看| 99久久国产综合精品麻豆| 91国内精品野花午夜精品| 国产精品第五页| 欧美在线你懂得| 亚洲欧美综合在线精品| 色综合久久综合| 亚洲欧美综合色| 欧美日韩aaa| 日本免费新一区视频| 国产婷婷色一区二区三区四区| 久久久亚洲精品石原莉奈| 琪琪久久久久日韩精品| 久久久久久97三级| 日韩精品视频网| 亚洲九九爱视频| 欧美日本一道本| 国产精品系列在线播放| 五月天激情综合网| 在线欧美日韩国产| 亚洲麻豆国产自偷在线| 欧美视频在线一区二区三区 | 欧美mv日韩mv亚洲| 丁香啪啪综合成人亚洲小说 | 亚洲综合色噜噜狠狠| 综合在线观看色| 欧美日本视频在线| 成人av在线影院| 亚洲线精品一区二区三区八戒| 欧美一区二区三区成人| 国产一区二区三区日韩| 亚洲国产乱码最新视频| 亚洲欧美激情插| 亚洲美女视频在线观看| 成人国产精品免费观看动漫| 性做久久久久久久久| 激情综合色播激情啊| 欧美一区二区三区视频在线观看| 精品视频999| 国产精品主播直播| 不卡的av电影| 成人av在线资源网站| 懂色av中文字幕一区二区三区| 国产一区二区三区黄视频 | 欧美一区二区三区视频在线| 日本国产一区二区| 99国产精品久久| 日本高清成人免费播放| 欧美亚洲国产一卡| 99精品久久只有精品| 色就色 综合激情| 亚洲一线二线三线久久久| 国产精品全国免费观看高清| 国产精品视频在线看| 成人免费视频在线观看| 色国产综合视频| 日韩制服丝袜av| 青青草国产成人av片免费| 国产一区二区三区综合| 国产精品综合视频| 99精品黄色片免费大全| 欧美日韩另类一区| 五月婷婷久久丁香| 婷婷国产在线综合| 国产高清精品在线| 欧美性色欧美a在线播放| 国产欧美视频在线观看| 丝袜美腿亚洲色图| 色综合久久久久| 4438x成人网最大色成网站| 久久久欧美精品sm网站| 欧美激情一二三区| av综合在线播放| 欧美喷潮久久久xxxxx| 日韩不卡免费视频| 欧美午夜一区二区| 国产欧美日韩三区| 九九九久久久精品| 精品国产一区二区三区久久影院| 日韩国产精品久久久| 欧美日韩一级片在线观看| 中文字幕亚洲区| 成人av电影在线| 最好看的中文字幕久久| 国产成人午夜电影网| 精品国产一区二区三区av性色| 国模无码大尺度一区二区三区| 在线成人av网站| 蜜臀av性久久久久蜜臀aⅴ流畅| 91免费国产在线| 一区二区三区欧美日| 欧美一区二区精品在线| 国产精品中文字幕欧美| 国产日韩欧美一区二区三区综合 | 日韩亚洲电影在线| 日精品一区二区| 欧美人与性动xxxx| 激情欧美一区二区| 丝袜脚交一区二区| 久久综合视频网| 精品国产一二三| 色呦呦国产精品| 在线观看国产精品网站| 久久精品国产秦先生| 日韩免费观看2025年上映的电影| 欧美一区二区免费视频| 国模娜娜一区二区三区| 亚洲国产精品精华液ab| 精品欧美一区二区久久| 精品视频全国免费看|