帮忙搞定个程序,送100分

绿豆蛙2013 2008-11-30 11:42:54
是关于图像放大拖动的问题,有意者请留下邮箱,我把程序发给你
...全文
199 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
lcdsda 2008-12-03
  • 打赏
  • 举报
回复
帮顶
ccpaishi 2008-12-02
  • 打赏
  • 举报
回复
图的缩放有很多种办法,关键看你想用什么办法。directdraw可以实现,GDI也可以的。
ccpaishi 2008-12-02
  • 打赏
  • 举报
回复
图的缩放有很多种办法,关键看你想用什么办法。directdraw可以实现,GDI也可以的。
绿豆蛙2013 2008-12-02
  • 打赏
  • 举报
回复
寻找高人。。。。。。
roadblossom 2008-12-01
  • 打赏
  • 举报
回复
帮顶!
oskycar 2008-12-01
  • 打赏
  • 举报
回复
http://bbs.xmu.edu.cn/bbsanc.php?path=%2Fgroups%2FGROUP_3%2FProgram%2FD6ADAFBA8%2FMinearticl%2Fzmlm%2FM.986718771.A

鼓浪听涛论坛的精华区文章里面有.你去看看吧.很详细的..有英文注释

部分内容:::
标 题: 实现视图缩放(上)
发信站: 鼓浪听涛 (Sun Apr 8 16:35:14 2001), 转信

实现视图缩放(上)

zmlm

许多设计软件都具有视图缩放的功能,如photoshop, firework, flash等等。
一般是一个放大镜的图标。选中图标后,编辑区的鼠标变成放大镜形状,点
击编辑区可以放大或缩小视图。如何实现这样的功能呢?类似的参考资料非
常少,我花了好几天的功夫终于找到了一些英文资料,呵呵,好辛苦的说,
在这里实现一个简单的视图缩放例程,希望能对需要在这方面编程的朋友有
所帮助。

具体的实现步骤如下:

一、首先用MFC AppWizard建立一个SDI程序,取名叫MyZoom,按finish接受默
认选项。

二、本历程需要用到CZoomView这个类,它是从CScroolView继承。是一个可以
自动缩放的视图类。
yu3350360 2008-12-01
  • 打赏
  • 举报
回复
這里有一段程序 也是csdn上 提問出來的
沒有完善的,不知道對你有沒有幫助啊:
void CMainDialog::OnPaint()
{
CPaintDC dc(this); // device context for painting
RECT rc = {0,0,img->Width(),img->Height()} ;
this->Actual_to_Scaled (rc) ; //用于放大或缩小图像,将原图像的矩形改变为放大或缩小后的矩形

CDC* pDC =m_pic1.GetWindowDC(); //picture控件的cdc
img->DrawToHDC (pDC->m_hDC, &rc) ;//将自己定义的图像对象img画到pdc上面,
ReleaseDC(pDC);
}

void CMainDialog::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
switch (nSBCode)
{
case SB_TOP:
m_ImgVScrollPos = 0; //滚动条的位置保存在m_ImgVScrollPos 中
break;
case SB_BOTTOM:
m_ImgVScrollPos = INT_MAX;
break;
case SB_THUMBTRACK:
m_ImgVScrollPos = nPos;
break;
}
//在这里我就不知道如何去实现放大后的滚动了
.....................................
Invalidate()
this->SetScrollPos(SB_VERT,m_ImgVScrollPos);
CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}

void CMainDialog::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
switch (nSBCode)
{
case SB_TOP:
m_ImgHScrollPos = 0;
break;
case SB_BOTTOM:
m_ImgHScrollPos = INT_MAX;
break;
case SB_THUMBTRACK:
m_ImgHScrollPos= nPos;
break;
}
//................................................
this->SetScrollPos(SB_HORZ,m_ImgHScrollPos);
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
walkbywind 2008-12-01
  • 打赏
  • 举报
回复
up...
绿豆蛙2013 2008-12-01
  • 打赏
  • 举报
回复
不好贴,太多了
sunyim 2008-12-01
  • 打赏
  • 举报
回复
贴出来看看
一条晚起的虫 2008-11-30
  • 打赏
  • 举报
回复
lfchen@mail.csdn.net
一条晚起的虫 2008-11-30
  • 打赏
  • 举报
回复
没有发现lz所说的问题,倒是CMyStatic在zoom或者move后,没有重新绘制
Tinary3v0 2008-11-30
  • 打赏
  • 举报
回复
87484749@qq.com
ilovedrv 2008-11-30
  • 打赏
  • 举报
回复
什么问题?

参考这个,实现zoom和pan功能很容易

http://www.codeproject.com/KB/docview/McCZoomView.aspx
绿豆蛙2013 2008-11-30
  • 打赏
  • 举报
回复
邮件已发出,注意查收

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧