• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

画东西的问题!

visual_c 2002-05-10 04:44:40
大家知道画笔的放大镜功能,可以在放大状态下画东西。如何实现这种功能啊。VC的ICON和CURSOR的制作也是这样的。
...全文
6 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pcman1990 2002-05-10
假设(x1, y1)和(x2, y2)
所有满足下列方程的点(x, y):
x = (x2 - x1) / (y2 - y1) * (y - y1) + x1
同时要满足: ((y2 - y) * (y - y1)) >= 0
回复
arttalk 2002-05-10
和网格线求交,如果从网格上半部分穿过则该象素位置为(x,y-1),否则为(x,y+1),如果真好与对角线重合则为(x,y),你可以参考图形学中的直线算法
回复
pcman1990 2002-05-10
(x1, y1)和(x2, y2)
所有满足下列方程的点(x, y):
y = (y2 - y1) / (x2 - x1) * (x - x1) + y1
回复
weahappy 2002-05-10
不难啊,通过坐标变换
一般绘图程序中都有:DPToLP(x,y,&x1,&y1);和LPToDP(x,y,&x1,&y1)两个函数
用来实现设备坐标(即屏幕坐标或打印机坐标)和逻辑坐标的转换,通过设置两个坐标的比例关系可实现无级的放大或缩小功能的实现.
回复
winne_ll 2002-05-10
先开辟一个缓冲区,然后得到所放大的位置(或图标),然后用StretchBlt ,然后设置窗口背景为透明,即可。
回复
visual_c 2002-05-10
我在屏幕上画好一条线,两个端点的象素位置好确定,这两个点之间的其他象素位置如何确定呢?
回复
boyhill 2002-05-10
按象素来操作就可以实现
回复
zzzai 2002-05-10
改变窗口和视口比例
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2002-05-10 04:44
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……