取图View.cpp
上传用户:jindun001
上传日期:2021-02-02
资源大小:13780k
文件大小:4k
源码类别:

射击游戏

开发平台:

Visual C++

  1. // 取图View.cpp : implementation of the CMyView class
  2. //
  3. #include "stdafx.h"
  4. #include "取图.h"
  5. #include "取图Doc.h"
  6. #include "取图View.h"
  7. #pragma comment(lib,"ReadPicture_dll.lib")
  8. extern "C" _declspec(dllexport)void ReadFilePicture(int *arr ,int point ,int Wide,int High);
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. int a[300][300];
  15. /////////////////////////////////////////////////////////////////////////////
  16. // CMyView
  17. IMPLEMENT_DYNCREATE(CMyView, CView)
  18. BEGIN_MESSAGE_MAP(CMyView, CView)
  19. //{{AFX_MSG_MAP(CMyView)
  20. // NOTE - the ClassWizard will add and remove mapping macros here.
  21. //    DO NOT EDIT what you see in these blocks of generated code!
  22. //}}AFX_MSG_MAP
  23. // Standard printing commands
  24. ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
  25. ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
  26. ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
  27. END_MESSAGE_MAP()
  28. /////////////////////////////////////////////////////////////////////////////
  29. // CMyView construction/destruction
  30. CMyView::CMyView()
  31. {
  32. // TODO: add construction code here
  33. }
  34. CMyView::~CMyView()
  35. {
  36. }
  37. BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)
  38. {
  39. // TODO: Modify the Window class or styles here by modifying
  40. //  the CREATESTRUCT cs
  41. return CView::PreCreateWindow(cs);
  42. }
  43. /////////////////////////////////////////////////////////////////////////////
  44. // CMyView drawing
  45. void CMyView::OnDraw(CDC* pDC)
  46. {
  47. CMyDoc* pDoc = GetDocument();
  48. ASSERT_VALID(pDoc);
  49. // TODO: add draw code for native data here
  50. CBitmap bm;
  51. bm.LoadBitmap(IDB_BITMAP2);
  52. CDC dcMem;
  53. dcMem.CreateCompatibleDC(pDC);
  54.     CBitmap*pOldbmp=dcMem.SelectObject(&bm);
  55.     pDC->BitBlt(0,0,112,112,&dcMem,0,0,SRCCOPY);
  56. dcMem.SelectObject(pOldbmp);
  57. CDC*pDC1=GetDC();
  58. FILE *fp;
  59.      fp=fopen("player.dat","wb");
  60. if(!fp)
  61. MessageBox("失败");
  62. }
  63. for(int i=0;i<112;i++)
  64.   for(int j=0;j<112;j++)
  65.   {
  66.   a[i][j]=pDC1->GetPixel(i,j);
  67.    fwrite(&a[i][j],4,1,fp); 
  68. // flag=1;
  69.   }   
  70. fclose(fp);
  71.  ReleaseDC(pDC1);
  72. // CDC*pDC=GetDC();
  73. /* FILE *fp;
  74.     fp=fopen("emery.dat","rb");
  75. if(!fp)
  76. MessageBox("失败");
  77. }
  78. for(int i=0;i<112;i++)
  79.   for(int j=0;j<112;j++)
  80.   {
  81.   fread(&a[i][j],4,1,fp);
  82.     if(a[i][j]!=RGB(4,4,4))
  83.    pDC->SetPixel(i,j,a[i][j]);
  84.   }
  85. for(i=0;i<28;i++)
  86. for(int j=0;j<28;j++)
  87. {
  88. if(a[i][j]!=RGB(4,4,4))
  89. pDC->SetPixel(300+i,200+j,a[i][j]);
  90. }
  91.       
  92. fclose(fp);*/
  93. // int b[112*112];
  94. /*  ReadFilePicture(a[0],1,112,112);
  95.  
  96.  
  97.     for(int i=0;i<112;i++)
  98.     for(int j=0;j<112;j++)
  99. {
  100.     if(a[i][j]!=RGB(0,0,0))
  101.     pDC->SetPixel(i,j,a[i][j]);
  102. }*/
  103. /* int Wide=112,High=112;
  104. //int b[112*112];
  105. FILE *fp;
  106.     fp=fopen("emery.dat","rb");
  107. if(!fp)
  108. return;
  109. }
  110. for(int i=0;i<Wide;i++)
  111.     for(int j=0;j<High;j++)
  112.         fread(&a[i*112+j],4,1,fp);
  113.       fclose(fp);
  114.      for( i=0;i<112;i++)
  115.     for(int j=0;j<112;j++)
  116. {
  117.     if(a[i][j]!=RGB(4,4,4))
  118.     pDC->SetPixel(i,j,a[i][j]);
  119. }*/
  120. //void PutPicture(int flag,int countx,int county,CDC* pDC)
  121. //{
  122. /* int flag=1;int countx=1;int county=2;int sizetangke=28;
  123. if(1==flag)
  124. {
  125. for(int i=sizetangke*(countx-1);i<sizetangke*countx;i++)
  126. for(int j=sizetangke*(county-1);j<sizetangke*county;j++)
  127. {
  128.  if(a[i][j]!=RGB(0,0,0))
  129.          pDC->SetPixel(300+i,j,a[i][j]);
  130. }
  131. }
  132. //}
  133. */
  134. }
  135. /////////////////////////////////////////////////////////////////////////////
  136. // CMyView printing
  137. BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo)
  138. {
  139. // default preparation
  140. return DoPreparePrinting(pInfo);
  141. }
  142. void CMyView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
  143. {
  144. // TODO: add extra initialization before printing
  145. }
  146. void CMyView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
  147. {
  148. // TODO: add cleanup after printing
  149. }
  150. /////////////////////////////////////////////////////////////////////////////
  151. // CMyView diagnostics
  152. #ifdef _DEBUG
  153. void CMyView::AssertValid() const
  154. {
  155. CView::AssertValid();
  156. }
  157. void CMyView::Dump(CDumpContext& dc) const
  158. {
  159. CView::Dump(dc);
  160. }
  161. CMyDoc* CMyView::GetDocument() // non-debug version is inline
  162. {
  163. ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));
  164. return (CMyDoc*)m_pDocument;
  165. }
  166. #endif //_DEBUG
  167. /////////////////////////////////////////////////////////////////////////////
  168. // CMyView message handlers