GreenOpenPaint的实现(二)打开显示图片

简介: 1、DOC中添加,核心图片文件保存在这里。之所以不用Mat,是因为CVVImage有更好的输入输出函数。我这里直接使用了publicpublic:    CvvImage m_image;2、重载打开//将文件的处理集中在DOC中是非常正确的方法BOOL CGreenOpenPa...

1、DOC中添加,核心图片文件保存在这里。之所以不用Mat,是因为CVVImage有更好的输入输出函数。

我这里直接使用了public
public:
    CvvImage m_image;
2、重载打开
//将文件的处理集中在DOC中是非常正确的方法
BOOL CGreenOpenPaintDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
    if (!CDocument::OnOpenDocument(lpszPathName))
        return FALSE;
    m_image.Load(CT2CA(lpszPathName));
    //计算m_fScaleFactor
    m_fScaleFactor = ZOOM_NORMAL;
    return TRUE;
}
3、view中添加变量。主要添加头文件。
private:
    CMainFramem_pParent;
    CGreenOpenPaintDocm_pDoc;
    CRect rectBackground;
4、重构oninitupdate ,onupdate ,onDraw
//初始化
void CGreenOpenPaintView::OnInitialUpdate()
{
    m_pParent = ((CMainFrame*)GetParentFrame());
    m_pDoc =((CGreenOpenPaintDoc*) GetDocument());
    OnUpdate(NULL, 0, NULL);
    CScrollView::OnInitialUpdate();
}
 
void CGreenOpenPaintView::OnUpdate(CViewpSenderLPARAM lHintCObjectpHint)
{
    SetScrollSizes(MM_TEXT,
        CSize(int(m_pDoc->m_image.Width()*m_pDoc->m_fScaleFactor),
        int(m_pDoc->m_image.Height()*m_pDoc->m_fScaleFactor)));
 
    Invalidate();
}
现在已经可以打开图片,并且默认就是支持缩放的。而且支持滚动。
 



 



目前方向:图像拼接融合、图像识别 联系方式:jsxyhelu@foxmail.com
目录
相关文章
|
JavaScript 前端开发
Base64图片页面显示
Data URI scheme 是一种将小容量数据直接嵌入到文档中的技术。将 Base64 编码的图片数据直接嵌入到 img 标签的 src 属性中,如下所示:
183 0
|
Linux
解决办法:gtk_image_menu_item_set_image()菜单图标无法显示
解决办法:gtk_image_menu_item_set_image()菜单图标无法显示
68 0
在Static控件上显示图片
在Static控件上显示图片
72 0
VC中GDI+双缓冲实现Picture控件中显示png图片
VC中GDI+双缓冲实现Picture控件中显示png图片
227 0
VC里如何改变Static,Edit等控件的字体大小
VC里如何改变Static,Edit等控件的字体大小
281 0
|
网络协议 网络安全 C++
Qt | 显示网络图片 QNetworkAccessManager
有事我们需要加载网络图片而非本地图片,文章介绍了qt控件显示网络图片的方法。
865 0
Qt把当前窗口的内容保存为一张图片
Qt把当前窗口的内容保存为一张图片
462 0
VC2005中将Picture控件显示图片保存为BMP,JPG等格式
1.在stdafx.h头文件中加入   #include 2.保存图片   方法一:     HBITMAP hBitmap = NULL; //创建位图段 BITMAPINFO bmi; LPBYTE pBits; ZeroMemory(&bmi,sizeof(bmi)); //m...
998 0