画东西的问题!

visual_c 2002-05-10 04:44:40
大家知道画笔的放大镜功能,可以在放大状态下画东西。如何实现这种功能啊。VC的ICON和CURSOR的制作也是这样的。
...全文
38 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
改变窗口和视口比例

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

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