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

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

?? truecolorto8bitview.cpp

?? 圖片轉換工具能實現灰度轉換單片機開發必備工具
?? CPP
字號:
// truecolorto8bitView.cpp : implementation of the CTruecolorto8bitView class
//

#include "stdafx.h"
#include "truecolorto8bit.h"

#include "truecolorto8bitDoc.h"
#include "truecolorto8bitView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTruecolorto8bitView

IMPLEMENT_DYNCREATE(CTruecolorto8bitView, CView)

BEGIN_MESSAGE_MAP(CTruecolorto8bitView, CView)
	//{{AFX_MSG_MAP(CTruecolorto8bitView)
	ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
	ON_COMMAND(ID_M8BITCOLOR, OnM8bitcolor)
	ON_COMMAND(ID_M2COLOR, OnM2color)
	ON_COMMAND(ID_FILE_SAVE, OnFileSave)
	//}}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()

/////////////////////////////////////////////////////////////////////////////
// CTruecolorto8bitView construction/destruction

CTruecolorto8bitView::CTruecolorto8bitView()
{
	// TODO: add construction code here
	bShow=false;
}

CTruecolorto8bitView::~CTruecolorto8bitView()
{
}

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

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CTruecolorto8bitView drawing

//老胡作品
//akiy@eyou.com
void CTruecolorto8bitView::OnDraw(CDC* pDC)
{
	CTruecolorto8bitDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
//	if(bShow!=false)
//	{  
	if(bitmap.m_hObject==NULL) return;
		CBitmap *pOldBitmap;
		CDC tempDC;
		tempDC.CreateCompatibleDC(NULL);
		pOldBitmap = tempDC.SelectObject(&bitmap);
		pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&tempDC,0,0,SRCCOPY);
		tempDC.SelectObject(pOldBitmap);
		tempDC.DeleteDC();
//	}
	// TODO: add draw code for native data here
}

/////////////////////////////////////////////////////////////////////////////
// CTruecolorto8bitView printing

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CTruecolorto8bitView diagnostics

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CTruecolorto8bitView message handlers

void CTruecolorto8bitView::OnFileOpen() 
{
	// TODO: Add your command handler code here
	CFileDialog dlg(TRUE,NULL,NULL,NULL);
	if(dlg.DoModal()!=IDOK) return;	
    str.Empty();
	str=dlg.GetPathName();
	HBITMAP hBitmap=(HBITMAP)LoadImage(NULL,str, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);
//	CDC tempDC;
	if(hBitmap==NULL) return;
	bitmap.DeleteObject();
	bitmap.Attach(hBitmap);
	bitmap.GetObject(sizeof(BITMAP),&bm);
	bShow=true;
	Invalidate();
}

typedef BOOL (*MYPROC)(BITMAPINFO* pBMISrc,LPBYTE pBitsSrc,BITMAPINFO* pBMIDest,LPBYTE pBitsDest); 

//老胡作品
//akiy@eyou.com 
void CTruecolorto8bitView::OnM8bitcolor() 
{
	// TODO: Add your command handler code here
	//加載位圖文件
	BITMAPFILEHEADER bf;
	BITMAPINFO *binfoin,*binfoout;
	//創建兩個信息頭
	CFile file;
	if(!file.Open(str,CFile::modeRead,NULL)) return;

	binfoin=(BITMAPINFO *)malloc(sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD)+10);
	binfoout=(BITMAPINFO *)malloc(sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD)+10);
	file.Read(&bf,sizeof(BITMAPFILEHEADER));
	file.Read(binfoin,sizeof(BITMAPINFOHEADER));
	int nline=((binfoin->bmiHeader.biWidth* binfoin->bmiHeader.biBitCount+31)/8) /4*4;
	int nsize=nline*(binfoin->bmiHeader.biHeight);
	int nline8=((binfoin->bmiHeader.biWidth* 8+31)/8) /4*4;
	int nsize8=nline8*(binfoin->bmiHeader.biHeight);
	unsigned char *pdata,*pdata8;
	//為源數據開辟緩沖區
	pdata=(unsigned char *)malloc(nsize+nline+10);//注意這里必須申請一塊大一點的空間,不然會益處
	//為目標數據開辟緩沖區
	pdata8=(unsigned char *)malloc(nsize8+10);
	file.Read(pdata,nsize);
	file.Close();
	//調用dll庫中的函數

	HINSTANCE hinstLib; 
    MYPROC ProcAdd; 
    hinstLib = LoadLibrary("demcolordll"); 
    if (hinstLib != NULL) 
    { 
        ProcAdd = (MYPROC) GetProcAddress(hinstLib, "RGB2256HiQuality"); 
        if(ProcAdd !=NULL) 
		{
			ProcAdd(binfoin,pdata,binfoout,pdata8);
			FreeLibrary(hinstLib); 
			//將得到的數據寫進文件中
			if(file.Open("temp.bmp",CFile::modeCreate|CFile::modeWrite,NULL))
			{
				bf.bfOffBits=bf.bfOffBits+1024;
				bf.bfSize=bf.bfOffBits+nsize8;
				file.Write(&bf,sizeof(BITMAPFILEHEADER));
				file.Write(binfoout,sizeof(BITMAPINFOHEADER)+sizeof(RGBQUAD)*256);
				file.Write(pdata8,nsize8);
				file.Close();
			}
		}
	}
	free(binfoin);
	free(binfoout);
	free(pdata);
	free(pdata8);
	HBITMAP hBitmap=(HBITMAP)LoadImage(NULL,"temp.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);
//	CDC tempDC;
	if(hBitmap==NULL) return;
	bitmap.DeleteObject();
	bitmap.Attach(hBitmap);
	bitmap.GetObject(sizeof(BITMAP),&bm);
	bShow=true;
	Invalidate();

	
}
//老胡作品
//akiy@eyou.com
void CTruecolorto8bitView::OnM2color() 
{
  
	//加載位圖文件
	BITMAPFILEHEADER bf;
	BITMAPINFO *binfoin,*binfoout;
	//創建兩個信息頭
	CFile file;
	if(!file.Open(str,CFile::modeRead,NULL)) return;

	binfoin=(BITMAPINFO *)malloc(sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD)+10);
	binfoout=(BITMAPINFO *)malloc(sizeof(BITMAPINFOHEADER)+2*sizeof(RGBQUAD)+10);
	file.Read(&bf,sizeof(BITMAPFILEHEADER));
	file.Read(binfoin,sizeof(BITMAPINFOHEADER));
	int nline=((binfoin->bmiHeader.biWidth* binfoin->bmiHeader.biBitCount+31)/8) /4*4;
	int nsize=nline*(binfoin->bmiHeader.biHeight);
	int nline1=((binfoin->bmiHeader.biWidth+31)/8) /4*4;
	int nsize1=nline1*(binfoin->bmiHeader.biHeight);
	unsigned char *pdata,*pdata1;
	//為源數據開辟緩沖區
	pdata=(unsigned char *)malloc(nsize+nline+10);//注意這里必須申請一塊大一點的空間,不然會益處
	//為目標數據開辟緩沖區
	pdata1=(unsigned char *)malloc(nsize1+10);
	file.Read(pdata,nsize);
	file.Close();
	//調用dll庫中的函數

	HINSTANCE hinstLib; 
    MYPROC ProcAdd; 
    hinstLib = LoadLibrary("demcolordll"); 
    if (hinstLib != NULL) 
    { 
        ProcAdd = (MYPROC) GetProcAddress(hinstLib, "RGB21HiQuality"); 
        if(ProcAdd !=NULL) 
		{
			ProcAdd(binfoin,pdata,binfoout,pdata1);
			FreeLibrary(hinstLib); 
			//將得到的數據寫進文件中
			if(file.Open("temp.bmp",CFile::modeCreate|CFile::modeWrite,NULL))
			{
				bf.bfOffBits=bf.bfOffBits+sizeof(RGBQUAD)*2;
				bf.bfSize=bf.bfOffBits+nsize1;
				file.Write(&bf,sizeof(BITMAPFILEHEADER));
				file.Write(binfoout,sizeof(BITMAPINFOHEADER)+sizeof(RGBQUAD)*2);
				file.Write(pdata1,nsize1);
				file.Close();
			}
		}
	}
	free(binfoin);
	free(binfoout);
	free(pdata);
	free(pdata1);
	HBITMAP hBitmap=(HBITMAP)LoadImage(NULL,"temp.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);
//	CDC tempDC;
	if(hBitmap==NULL) return;
	bitmap.DeleteObject();
	bitmap.Attach(hBitmap);
	bitmap.GetObject(sizeof(BITMAP),&bm);
	bShow=true;
	Invalidate();

	
}


//老胡作品
//akiy@eyou.com
void CTruecolorto8bitView::OnFileSave() 
{
   	CFileDialog dlg(FALSE,NULL,NULL,NULL);
	if(dlg.DoModal()!=IDOK) return;
	CString szname,szextern;
	szname=dlg.GetPathName();
	szextern=szname.Right(4);
	char buf[5];
	memset(buf,0x00,5);
	strcpy(buf,szextern);
	strupr(buf);
	if(strcmp(".BMP",buf)!=0)
		szname=szname+".bmp";
	CopyFile("temp.bmp",szname,TRUE);
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亲子乱子伦xxxx裸| 亚洲宅男天堂在线观看无病毒| 7777精品伊人久久久大香线蕉经典版下载 | 国产欧美一区二区精品性色| 国产精品久久久久久亚洲毛片 | 秋霞午夜av一区二区三区| 国v精品久久久网| 国产婷婷色一区二区三区在线| 国产剧情av麻豆香蕉精品| 久久综合狠狠综合久久激情| 成人免费电影视频| 国产精品免费观看视频| 亚洲黄色av一区| 欧美日韩大陆一区二区| 卡一卡二国产精品| 亚洲天堂网中文字| 欧美刺激午夜性久久久久久久| 日本va欧美va瓶| 亚洲欧洲日韩女同| 欧美一区二区三区免费观看视频| 国产成人午夜片在线观看高清观看| 亚洲人123区| 九九九精品视频| 欧美精品一区二区三区蜜桃| 日韩一级高清毛片| 亚洲第一综合色| 欧美精品一二三| 午夜精彩视频在线观看不卡| 欧美色国产精品| 日本一不卡视频| 精品日韩欧美在线| 国产麻豆91精品| 国产精品三级av在线播放| 99视频超级精品| 男人的j进女人的j一区| 欧美乱妇15p| 高清免费成人av| 国产在线精品免费av| 亚洲一区二区不卡免费| 一区二区三区在线观看视频| 国产专区综合网| 精品日产卡一卡二卡麻豆| 国内精品伊人久久久久av影院 | 午夜不卡av在线| 日韩一区二区影院| 国产在线视频一区二区| 欧美激情在线免费观看| 欧美日韩国产综合草草| 成人一区二区在线观看| 亚洲妇熟xx妇色黄| 欧美激情一区二区| 日韩欧美的一区| 欧美一区二区三区在线电影| 国产精品影音先锋| 久久不见久久见免费视频7| 国产精品久久毛片av大全日韩| 欧美日韩国产a| 色婷婷av一区二区三区软件| 激情亚洲综合在线| 久久精品99国产精品| 亚洲乱码国产乱码精品精小说| 久久久久久免费网| 精品久久一区二区三区| 欧美大片日本大片免费观看| 欧美久久一二区| 欧美一二区视频| 91精品在线观看入口| 日韩欧美在线观看一区二区三区| 日韩久久精品一区| 91精品麻豆日日躁夜夜躁| 欧美精品777| 精品免费国产二区三区| 久久美女高清视频| 国产亚洲一区二区三区在线观看| 久久中文字幕电影| 日韩欧美国产电影| 国产午夜亚洲精品羞羞网站| 中文字幕免费不卡在线| 亚洲综合在线电影| 日本女优在线视频一区二区| 韩国在线一区二区| 91国偷自产一区二区开放时间| 色偷偷久久人人79超碰人人澡| 欧美一区二区三区四区视频| 亚洲综合另类小说| 国产激情视频一区二区在线观看| 97久久超碰国产精品| 精品国产99国产精品| 一区二区三区毛片| 国产成人鲁色资源国产91色综 | 国产精品久久久久久亚洲伦 | 国产色婷婷亚洲99精品小说| 国产精品国产精品国产专区不蜜| 青娱乐精品在线视频| 91麻豆123| 中文字幕一区二区三区在线观看| 蜜桃av一区二区三区电影| 欧美日韩午夜在线视频| 国产精品麻豆99久久久久久| 国产在线一区观看| 精品久久久久久久久久久院品网| 亚洲一区在线视频观看| 欧美网站大全在线观看| 日韩在线卡一卡二| 91视频一区二区三区| 国产婷婷色一区二区三区四区 | 99视频精品在线| 国产精品久久久久一区二区三区共| 国产一区二区在线观看视频| 欧美美女黄视频| 美国三级日本三级久久99 | 亚洲午夜视频在线| 91蝌蚪国产九色| 午夜久久福利影院| 久久精品欧美一区二区三区不卡| 黑人精品欧美一区二区蜜桃| 久久久久久亚洲综合| 色婷婷香蕉在线一区二区| 亚洲激情欧美激情| 欧美一区二区三区免费视频| 不卡区在线中文字幕| 亚洲va在线va天堂| 国产午夜亚洲精品不卡| 91麻豆国产自产在线观看| 美女一区二区视频| 亚洲欧美影音先锋| 日本精品视频一区二区| 日本视频一区二区三区| 国产精品视频一二三区| 日韩一区二区精品| 色综合久久久久久久久| 国产精品水嫩水嫩| 精品黑人一区二区三区久久| 久久久五月婷婷| www.一区二区| 亚洲青青青在线视频| 在线欧美一区二区| 一区二区三区在线视频免费观看| 播五月开心婷婷综合| 中文字幕国产精品一区二区| 成人va在线观看| 日韩成人dvd| 亚洲美女区一区| 国产在线一区二区| 久久久久久久久蜜桃| 国产精品亚洲人在线观看| 中文一区二区在线观看| 国产成人av在线影院| www国产亚洲精品久久麻豆| 亚洲综合免费观看高清完整版| 亚洲免费观看在线观看| 一区二区三区在线免费| 26uuu另类欧美亚洲曰本| 免费高清成人在线| 亚洲最大色网站| 亚洲黄色av一区| 亚洲日本在线视频观看| 成人欧美一区二区三区小说| 欧美一二三区在线| 欧美性xxxxxxxx| 国产传媒一区在线| 日本不卡高清视频| 亚洲丰满少妇videoshd| 日韩一区在线播放| 久久综合中文字幕| 国产婷婷一区二区| 亚洲国产精品久久久久婷婷884| 国产精品久久免费看| 亚洲欧美日韩久久| 亚洲一区二区三区中文字幕在线 | 欧美日韩一区三区四区| 91精品久久久久久久91蜜桃| 久久精品无码一区二区三区| 亚洲狠狠爱一区二区三区| av午夜精品一区二区三区| 亚洲一区二区黄色| 久久综合九色综合97婷婷女人| 精品福利二区三区| 国产精品天天看| 欧美激情一区不卡| 国产肉丝袜一区二区| 亚洲精品综合在线| 91精品国产91久久综合桃花| 日本亚洲一区二区| 欧美精品一区二区三区一线天视频| 久久久久99精品国产片| 一级中文字幕一区二区| 国产91高潮流白浆在线麻豆| 这里是久久伊人| 日韩av在线免费观看不卡| 国产网站一区二区| 日韩欧美国产系列| 日韩美女主播在线视频一区二区三区| 91免费视频观看| 日本一不卡视频| 欧美mv日韩mv国产网站app| 九色porny丨国产精品| 日韩视频在线观看一区二区| 日一区二区三区| 91麻豆精品91久久久久同性|