Click here to Skip to main content
15,894,017 members
Articles / Desktop Programming / MFC

ImageStone - A Powerful C++ Class Library for Image Manipulation

Rate me:
Please Sign up or sign in to vote.
4.81/5 (250 votes)
6 Dec 2011Zlib3 min read 1.1M   51.5K   405  
An article on a library for image manipulation
#pragma once

//=============================================================================
// image effect dialog
//=============================================================================
class DlgEffect : public CDialog
{
public:
	DlgEffect (const FCObjImage& img, UINT nIDTemplate, CWnd* pParent = NULL) ;
    ~DlgEffect () ;

	int		m_nScroll_1 ;
	int		m_nScroll_2 ;
	int		m_nScroll_3 ;

	int		m_nRadio_1 ;

	BOOL	m_bCheck_1 ;

    int     m_nCombo_1 ;

    int     m_nEdit1 ;
    int     m_nEdit2 ;

    std::deque<FCObjImage*>   m_listTexture ; // �����洢����Ի����е�����

	RGBQUAD m_crTone ;
    static RGBQUAD m_crBlind ;

	IMAGE_CHANNEL  GetColorChannel() ;

    // convolute
	int		m_nElement[25] ;
	int		m_nFilterScale ;
	int		m_nFilterOffset ;

    CPoint  m_pt ;

protected :
// Dialog Data
	//{{AFX_DATA(DlgEffect)
	CStatic		m_Preview;
    CSliderCtrl m_Slide_1 ;
    CSliderCtrl m_Slide_2 ;
    CSliderCtrl m_Slide_3 ;
	//}}AFX_DATA

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(DlgEffect)
protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

protected :
    FCObjImage      m_Thumb ;
    FCObjImage      m_Curr ;

	double			m_fScale ; // ����ͼ��ԭͼ�ı���

    UINT            m_nDlgID ; // ��dialog ID

    RECT            m_rcThumb ; // thumbλͼ�ڴ����е�λ��

    bool LoadPhotoshopACF (LPCTSTR szFileName, std::deque<int>& listElem) ;
    bool SavePhotoshopACF (LPCTSTR szFileName, const std::deque<int> & listElem) ;

protected:
    virtual void OnOK();
	// Generated message map functions
	//{{AFX_MSG(DlgEffect)
	virtual BOOL OnInitDialog();
	afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
    afx_msg void OnPaint();
    afx_msg void OnDataChanged();
    afx_msg void OnClickButton1();
    afx_msg void OnClickButton2();
    afx_msg void OnClickButton3();
    afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
    afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
} ;
//=============================================================================

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The zlib/libpng License


Written By
Team Leader PhoXo
China China
graduate from University of Science and Technology of China at 2002.

Now I work at www.phoxo.com.

Comments and Discussions