📄 imageview.h
字号:
// ImageView.h : interface of the CImageView class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_IMAGEVIEW_H__74264B6E_CD45_4F53_9761_62905104CFEB__INCLUDED_)
#define AFX_IMAGEVIEW_H__74264B6E_CD45_4F53_9761_62905104CFEB__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
struct DIBINFO : public BITMAPINFO
{
RGBQUAD arColors[255]; // Color table info - adds an extra 255 entries to palette
operator LPBITMAPINFO() { return (LPBITMAPINFO) this; }
operator LPBITMAPINFOHEADER() { return &bmiHeader; }
RGBQUAD* ColorTable() { return bmiColors; }
};
struct BGRColor
{
BGRColor() {}
BGRColor(byte R, byte G, byte B) : m_R(R), m_G(G), m_B(B) {}
byte m_B;
byte m_G;
byte m_R;
};
class CImageView : public CScrollView
{
protected: // create from serialization only
CImageView();
DECLARE_DYNCREATE(CImageView)
// Attributes
public:
CImageDoc* GetDocument();
void LoadImage(const CString& strFileName);
void SaveImage(const CString& strFileName);
void CreateBitmap();
void ProcessNegative();
int Width,Height;
CPoint LeftTop;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CImageView)
public:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
virtual void OnInitialUpdate(); // called first time after construct
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CImageView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
HBITMAP m_hBitmap;
// Generated message map functions
protected:
//{{AFX_MSG(CImageView)
afx_msg void OnFileOpen();
afx_msg void OnFileSaveAs();
afx_msg void OnProcessNegative();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
#ifndef _DEBUG // debug version in ImageView.cpp
inline CImageDoc* CImageView::GetDocument()
{ return (CImageDoc*)m_pDocument; }
#endif
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_IMAGEVIEW_H__74264B6E_CD45_4F53_9761_62905104CFEB__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -