社区
图形处理/算法
帖子详情
200分求救,怎样用鼠标拖动大于客户区的位图,怎样实现放大图片的中心点
jackwuwei
2004-08-05 02:00:34
我用StretchDIBits,在没有滚动条的情况下实现,我直接在CWnd里显示,没有在View里显示,用StretchDIBits能不能放大客户区中心区域的图片,就像ACDSee那样,谢谢!
...全文
147
8
打赏
收藏
200分求救,怎样用鼠标拖动大于客户区的位图,怎样实现放大图片的中心点
我用StretchDIBits,在没有滚动条的情况下实现,我直接在CWnd里显示,没有在View里显示,用StretchDIBits能不能放大客户区中心区域的图片,就像ACDSee那样,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jackwuwei
2004-08-19
打赏
举报
回复
这么长时间都没人来了,结贴!
lanstar200
2004-08-06
打赏
举报
回复
mark
jackwuwei
2004-08-06
打赏
举报
回复
各位,有什么好的办法啊
快乐鹦鹉
2004-08-06
打赏
举报
回复
肯定没有问题
wrcluomo
2004-08-06
打赏
举报
回复
用这个方法你看可不可以,放大后的图像显示在窗口中,窗口跟着树标移动.在MOUSEMOVE中
//以下放大镜开始
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
if(m_nDrawType==DRAW_MAGNIFIER)
{
//INT
if(MovePoint.x>XWIDTH/2&&MovePoint.x<m_lWidth-XWIDTH/2&&MovePoint.y>YHEIGHT/2&&MovePoint.y<m_lHeight-YHEIGHT/2)
{
char * pcImage,*pcImageData;
pcImage=(char *)::GlobalLock(m_hbmpMagnifier);
::GlobalUnlock(m_hbmpMagnifier);
pcImageData=::FindDIBBits(pcImage);
int i,j;
unsigned char *pucSource,*pucDest;
long lLineBytes=WIDTHBYTES(XWIDTH*24);
int m,n;
for(j=MovePoint.y-YHEIGHT/2,n=0;n<YHEIGHT;j++,n++)
{
for(i=3*(MovePoint.x-XWIDTH/2),m=0;m<3*XWIDTH;i++,m++)
{
pucSource=(unsigned char *)m_pcImageData+m_lLineBytes*(m_lHeight-1-j)+i;
pucDest=(unsigned char *)pcImageData+lLineBytes*(YHEIGHT-1-n)+m;
*pucDest=*pucSource;
}
}
memcpy( m_pMannifier, pcImageData, XWIDTH*YHEIGHT*3 );
m_pdiaMagnifier->ShowWindow(SW_SHOW);
CRect rectView;
GetClientRect(&rectView);
ClientToScreen(&rectView);
CDC * pdc=m_pdiaMagnifier->GetDC();
m_pdiaMagnifier->MoveWindow(point.x+XWIDTH/3*2+rectView.left-5,point.y+YHEIGHT/3-111+ rectView.top,3*XWIDTH,3*YHEIGHT,true);
pdc->StretchBlt(0,0,3*XWIDTH,3*YHEIGHT,m_pMemMagnifierDC,0,0,XWIDTH,YHEIGHT,SRCCOPY);
ReleaseDC(pdc);
}
else
{
m_pdiaMagnifier->ShowWindow(SW_HIDE);
}
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//以上放大镜结束
virtualfunction
2004-08-06
打赏
举报
回复
CDC中有四个函数专门干这事:
virtual CSize SetWindowExt( SIZE size );
CPoint SetWindowOrg( POINT point );
virtual CSize SetViewportExt( SIZE size );
virtual CPoint SetViewportOrg( POINT point );
当Viewport的size大于Window的size时为缩小,反之放大;这和有没有在View里无关;只要是Window就行。
酒红绿叶
2004-08-06
打赏
举报
回复
应该可以,,
是不是指放大的时候,图片的中心在屏幕的中心,
在cwnd里面也可以,
把要求在说清楚一些!
microyzy
2004-08-05
打赏
举报
回复
需要局部画图了吧,使用gdi+也许好实现一点
gz
基于微震监测的煤矿
求救
信号监测系统
设计并
实现
了基于微震信号检测的煤矿
求救
信号监测系统,该系统由信号发生装置和信号接收装置2部
分
组成。信号发生装置将需要发送的信息进行波形编码,通过单片机控制电磁阀,以气动敲击器作为执行单元,从而将数据信息转变为振动波形;信号接收装置使用微震传感器接收到微震信号,进行滤波
放大
之后,通过编译码规则将振动波形转换成原始数据信息,并在LCD上进行显示,同时声光提示。试验证明,该装置能够有效接收到金属管道上传递的震动信号。
java 扫雷源代码 带有详细的注释
菜鸟练习~~ 加入了“
求救
”按钮,在无法继续通过计算扫雷时,可以点出此获知随机的一个未标记雷的位置; 加入了计时器; 加入了作弊功能……嘿嘿,按下键盘上的某键,可以知道所有雷的位置,吼吼
求救
怎样用java
拖动
鼠标
画图形 求具体代码
(Arduino)蓝牙和 APPinventor
实现
一键SOS
求救
(一)
蓝牙和 APPinventor
实现
一键SOS
求救
(Arduino) 大家好,最近准备参加学校的比赛,做了一个项目,需要用到一键SOS
求救
,可
实现
手机自动拨打电话。中途遇到一些问题,所以想记录下来。希望可以帮到大家。 Arduino板和蓝牙还有按键的连接 蓝牙--------------------------------------Arduino--------------------------...
求救
啊~~zedgraph
鼠标
移动并显示相应的X轴和Y轴值
鼠标
移动的时候,有一条纵轴线跟随
鼠标
移动,同时显示
[问题点数:100
分
,结帖人mdjs198] mdjs198 等级 结帖率 100% 好痛苦啊 ,自己做出来的效果太坑了。。。
求救
啊 zedgraph
鼠标
移动并显示相应的X轴和Y轴值
鼠标
移动的时候,有一条纵轴线跟随
鼠标
移动,同时显示对应的X轴和Y轴值。 2014-07-23 12:11:11楼主 wangnaisheng 等级 勋章Blank Blank Blank http://blog.csdn.net/ljf_1314520/article/details/8561483 2014-07-23 1
图形处理/算法
19,473
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章