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

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

?? filtermirrorview.cpp

?? 這是樹上的代碼
?? CPP
字號:
// FilterMirrorView.cpp : implementation of the CFilterMirrorView class
//

#include "stdafx.h"
#include "FilterMirror.h"

#include "FilterMirrorDoc.h"
#include "FilterMirrorView.h"

#include "math.h"

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

/////////////////////////////////////////////////////////////////////////////
// CFilterMirrorView

IMPLEMENT_DYNCREATE(CFilterMirrorView, CView)

BEGIN_MESSAGE_MAP(CFilterMirrorView, CView)
	//{{AFX_MSG_MAP(CFilterMirrorView)
	ON_COMMAND(ID_PICTURE_YOUHUA, OnPictureYouhua)
	ON_COMMAND(ID_PICTURE_RETURN, OnPictureReturn)
	ON_COMMAND(ID_PICTURE_MUKE, OnPictureMuke)
	ON_COMMAND(ID_PICTURE_LIGHT, OnPictureLight)
	ON_COMMAND(ID_PICTURE_FUDIAO, OnPictureFudiao)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFilterMirrorView construction/destruction

CFilterMirrorView::CFilterMirrorView()
{
	// TODO: add construction code here

}

CFilterMirrorView::~CFilterMirrorView()
{
	//***************************************
	//***************************************
      delete m_bmp;//撤消位圖指針對象以釋放內存空間
	//***************************************
	//***************************************

}

BOOL CFilterMirrorView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CFilterMirrorView drawing
void CFilterMirrorView::OnDraw(CDC* pDC)
{
	CFilterMirrorDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	//***************************************
	//***************************************
     CDC* MemDC=new CDC;//創建一個新的內存用于存放要做處理的位圖資源
     MemDC->CreateCompatibleDC(pDC);
     MemDC->SelectObject(m_bmp);//將要做處理的位圖資源選入新建的內存當中
	 pDC->BitBlt(0,0,299,221,MemDC,0,0,SRCCOPY);//將新建內存中的位圖拷貝到顯示屏幕上
	 delete MemDC;
	//***************************************
	//***************************************

}

void CFilterMirrorView::OnInitialUpdate() 
{
	CView::OnInitialUpdate();
	//***************************************
	//***************************************
	 m_bmp=new CBitmap;//建立新的位圖指針對象
	 m_bmp->LoadBitmap(IDB_BITMAP);//裝載一個ID號為IDB_BITMAP的位圖資源
	//***************************************
	//***************************************

	
}

/////////////////////////////////////////////////////////////////////////////
// CFilterMirrorView printing

BOOL CFilterMirrorView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CFilterMirrorView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CFilterMirrorView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CFilterMirrorView diagnostics

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

void CFilterMirrorView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CFilterMirrorDoc* CFilterMirrorView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CFilterMirrorDoc)));
	return (CFilterMirrorDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CFilterMirrorView message handlers

//**油畫效果處理代碼
void CFilterMirrorView::OnPictureYouhua() 
{
	CClientDC dc(this);
	dc.SetMapMode(MM_TEXT);//設置屏幕邏輯坐標的映射方式
    for(int i=0;i<299;i++)
	  {
		  for(int j=0;j<221;j++)
		  {
	 m_pxiel[i+2][j+2]=dc.GetPixel(i+2,j+2);//得到次相鄰像素的RGB顏色值
	 red=m_pxiel[i+2][j+2]&RGB(255,0,0);//得到次相鄰像素的紅色元素的值
     green=(m_pxiel[i+2][j+2]>>8)&RGB(255,0,0);//得到次相鄰像素的綠色元素的值
	 blue=(m_pxiel[i+2][j+2]>>16)&RGB(255,0,0);//得到次相鄰像素的藍色元素的值
	 dc.SetPixel(i,j,RGB(red,green,blue));//設置當前點像素的顏色值
		  }
	  }
	
}

//**燈光效果處理代碼
void CFilterMirrorView::OnPictureLight() 
{
	CClientDC dc(this);
	dc.SetMapMode(MM_TEXT);//設置屏幕邏輯坐標的映射方式
	static a=130,b=60;//分別代表燈光光源的橫坐標和縱坐標值
    for(int i=0;i<299;i++)
	  {
		  for(int j=0;j<221;j++)
		  {
	m_pxiel[i][j]=dc.GetPixel(i,j); //得到當前像素的RGB顏色值
	if((sqrt((a-i)*(a-i)+(b-j)*(b-j))-60)<0)
			{
    //當前像素紅色元素的新值
	red=((m_pxiel[i][j]&RGB(255,0,0))+(int)(200*(1-(sqrt((a-i)*(a-i)+(b-j)*(b-j))+1)/60)));
    //當前像素綠色元素的新值
	green=(((m_pxiel[i][j]>>8)&RGB(255,0,0))+(int)(200*(1-(sqrt((a-i)*(a-i)+(b-j)*(b-j))+1)/60)));
    //當前像素藍色元素的新值
	blue=(((m_pxiel[i][j]>>16)&RGB(255,0,0))+(int)(200*(1-(sqrt((a-i)*(a-i)+(b-j)*(b-j))+1)/60)));;
			  if(red<0)  red=0;
			  if(red>255) red=255;
			  if(green<0) green=0;
			  if(green>255) green=255;
			  if(blue<0) blue=0;
			  if(blue>255) blue=255;
			  dc.SetPixel(i,j,RGB(red,green,blue));//設置當前點像素的顏色值
			}
		  }
	  }
	
}

//**木刻濾鏡效果的處理代碼
void CFilterMirrorView::OnPictureMuke() 
{
	CClientDC dc(this);
	dc.SetMapMode(MM_TEXT);//設置屏幕邏輯坐標的映射方式
    for(int i=0;i<299;i++)
	  {
		  for(int j=0;j<221;j++)
		  {
		m_pxiel[i][j]=dc.GetPixel(i,j);//得到當前像素的RGB顏色值
	    red=m_pxiel[i][j]&RGB(255,0,0);//得到當前像素的紅色元素的值
		green=(m_pxiel[i][j]>>8)&RGB(255,0,0);//得到當前像素的綠色元素的值
	 	blue=(m_pxiel[i][j]>>16)&RGB(255,0,0);//得到當前像素的藍色元素的值
	    if((red+blue+green)/3>128)
		dc.SetPixel(i,j,RGB(0,0,0));//如果是深色,則用黑色代替該點像素的顏色值
		if((red+blue+green)/3<128)        
		dc.SetPixel(i,j,RGB(255,255,255));//如果是淺色,則用黑色代替該點像素的顏色值  
		  }
	  }
	
}

//**浮雕濾鏡效果處理代碼
void CFilterMirrorView::OnPictureFudiao() 
{
	CClientDC dc(this);
	dc.SetMapMode(MM_TEXT);//設置屏幕邏輯坐標的映射方式
    for(int i=0;i<299;i=i+1)
	  {
		  for(int j=0;j<221;j=j+1)
		  {
	m_pxiel[i][j]=dc.GetPixel(i,j);//得到當前像素的RGB顏色值
	m_pxiel[i+1][j+1]=dc.GetPixel(i+1,j+1);//得到相鄰像素的RGB顏色值
    //當前像素紅色元素的新值
	red=abs((m_pxiel[i][j]&RGB(255,0,0))-(m_pxiel[i+1][j+1]&RGB(255,0,0))+128);
    //當前像素綠色元素的新值
	green=abs(((m_pxiel[i][j]>>8)&RGB(255,0,0))-((m_pxiel[i+1][j+1]>>8)&RGB(255,0,0))+128);
    //當前像素藍色元素的新值
	blue=abs(((m_pxiel[i][j]>>16)&RGB(255,0,0))-((m_pxiel[i+1][j+1]>>16)&RGB(255,0,0))+128);
	dc.SetPixel(i,j,RGB(red,green,blue));//設置當前點像素的顏色值
		  }
	  }
	
}

void CFilterMirrorView::OnPictureReturn() 
{
	Invalidate(TRUE);	//使圖像還原
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区91| 一区二区三区日本| 美国欧美日韩国产在线播放| 97久久精品人人爽人人爽蜜臀 | 欧美高清一级片在线观看| 麻豆精品视频在线| 日韩欧美亚洲另类制服综合在线| 成人网在线免费视频| 精品国产一区二区亚洲人成毛片 | 秋霞成人午夜伦在线观看| 丰满白嫩尤物一区二区| 国产成人激情av| 亚洲不卡在线观看| 欧美一区二区三区婷婷月色| 欧美唯美清纯偷拍| 一区二区三区日韩欧美| 在线欧美日韩精品| 蜜臀av一区二区三区| 欧美一区二区久久| 麻豆freexxxx性91精品| 精品国内二区三区| 国内精品免费在线观看| 欧美日韩精品欧美日韩精品一 | 亚洲欧美在线aaa| 久久久久久一二三区| 欧美一级精品在线| 日韩欧美你懂的| 欧美亚洲精品一区| 99re66热这里只有精品3直播| 国产精品一区不卡| 另类专区欧美蜜桃臀第一页| 久久99国产精品麻豆| 午夜影视日本亚洲欧洲精品| 日本中文字幕不卡| 中文字幕亚洲在| 国内外成人在线| 久久精品免视看| 91免费视频观看| 亚洲不卡av一区二区三区| 欧美一区二区精品在线| 豆国产96在线|亚洲| 国产日韩欧美精品综合| 欧美日本视频在线| 国产成人在线观看| 一区二区在线观看不卡| 91精品国产欧美日韩| 岛国一区二区在线观看| 亚洲1区2区3区4区| 欧美成人免费网站| 成人av资源站| 日本aⅴ精品一区二区三区| 国产欧美一区二区三区在线看蜜臀 | 理论片日本一区| 欧美韩国日本一区| 日韩一区二区三区免费看| 色综合天天综合狠狠| 国产一区美女在线| 日韩不卡免费视频| 亚洲综合久久久久| 亚洲日本欧美天堂| 国产日韩v精品一区二区| 日韩一卡二卡三卡四卡| 色美美综合视频| av激情亚洲男人天堂| 国产乱子伦一区二区三区国色天香| 一区二区成人在线观看| 亚洲欧美怡红院| 欧美国产综合一区二区| 国产亚洲短视频| 久久精品一区八戒影视| 精品久久免费看| 精品成人a区在线观看| 91精品国产综合久久久久| 91视频精品在这里| 久久国产精品区| 精品在线免费视频| 亚洲品质自拍视频| 欧美理论电影在线| 成人爽a毛片一区二区免费| 亚洲欧美国产77777| 欧美一区二区三区啪啪| 免费日本视频一区| 亚洲精品视频在线观看网站| 国产欧美日韩视频在线观看| 成人一区在线观看| 美国av一区二区| 精品在线一区二区| 国产在线精品一区二区夜色 | 自拍偷拍国产亚洲| 亚洲欧美日韩系列| 亚洲精品国产第一综合99久久 | 成人免费视频播放| 91欧美激情一区二区三区成人| 91亚洲精品久久久蜜桃网站| 色又黄又爽网站www久久| 91国在线观看| 91精品国产综合久久香蕉的特点| 911精品国产一区二区在线| 欧美一级国产精品| 久久综合色鬼综合色| 国产女主播一区| 亚洲精品免费一二三区| 亚洲国产成人91porn| 另类欧美日韩国产在线| 丁香亚洲综合激情啪啪综合| 色视频成人在线观看免| 这里只有精品视频在线观看| 久久综合九色综合97婷婷| 中文字幕在线一区免费| 亚洲国产精品久久久久婷婷884 | 精品久久99ma| 国产精品免费视频观看| 亚洲小说欧美激情另类| 看片的网站亚洲| 99精品欧美一区二区三区小说 | 久久午夜电影网| 中文字幕亚洲视频| 天堂va蜜桃一区二区三区漫画版| 国内偷窥港台综合视频在线播放| 不卡的av中国片| 色综合色狠狠综合色| 欧美成人vr18sexvr| 亚洲免费观看高清| 在线不卡免费av| 国产免费久久精品| 美日韩一区二区| 大桥未久av一区二区三区中文| 色综合视频一区二区三区高清| 777午夜精品视频在线播放| 日韩精品一区二区三区在线观看 | 1024亚洲合集| 亚洲国产精品一区二区www| 精品中文字幕一区二区| 欧洲生活片亚洲生活在线观看| 欧美精品一区二区三区在线| 伊人夜夜躁av伊人久久| 国产成人免费视频网站| 制服丝袜中文字幕一区| 中文字幕亚洲电影| 国内不卡的二区三区中文字幕| 欧洲人成人精品| 国产精品久久久久久久久晋中| 日本美女视频一区二区| 色嗨嗨av一区二区三区| 国产精品色一区二区三区| 久久精品国产免费看久久精品| 欧美性色黄大片手机版| 国产精品久久三| 国产·精品毛片| 欧美电视剧在线观看完整版| 亚洲成人免费观看| 色哟哟亚洲精品| 亚洲人成网站精品片在线观看| 国产乱人伦偷精品视频免下载| 日韩一区二区电影网| 五月婷婷激情综合| 欧洲亚洲精品在线| 一区二区三区在线视频观看| 波多野结衣精品在线| 国产欧美精品一区二区三区四区| 麻豆精品一二三| 日韩一区二区三区在线观看| 亚洲高清中文字幕| 日本高清视频一区二区| 最新不卡av在线| 91小视频免费看| 亚洲女同一区二区| 96av麻豆蜜桃一区二区| 国产精品免费久久久久| 99久久99精品久久久久久 | 亚洲精品福利视频网站| 91年精品国产| 亚洲成人av在线电影| 欧美日韩精品一区二区| 五月天一区二区| 日韩欧美国产小视频| 麻豆成人91精品二区三区| 精品国产精品一区二区夜夜嗨| 精品亚洲国产成人av制服丝袜| 精品国产一区二区三区av性色| 蜜桃久久av一区| 2024国产精品| 丰满白嫩尤物一区二区| 亚洲天堂福利av| 欧美色成人综合| 精品1区2区3区| 国产乱码字幕精品高清av| 久久国产精品色婷婷| 精品国产91久久久久久久妲己| 在线亚洲欧美专区二区| 国产精品18久久久久久久久 | 狂野欧美性猛交blacked| 精品国产髙清在线看国产毛片 | 丁香婷婷综合色啪| 国产精品欧美久久久久一区二区| bt欧美亚洲午夜电影天堂| 亚洲精品国产精华液| 91精品欧美一区二区三区综合在| 久久激情五月激情| 亚洲国产激情av|