急!急!急!像素问题

sun2000way 2003-11-03 04:38:33
Delphi中怎样设置一英寸300点或者1000点,不但Canvas以这个为单位,控件也要以这个为单位???
...全文
58 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dlwxn 2003-11-03
  • 打赏
  • 举报
回复
《Delphi5开发人员指南》第八章中有关于这方面的东西,正在研究。
Dlwxn 2003-11-03
  • 打赏
  • 举报
回复
是不是用坐标映射后,在某个控件的鼠标事件的时候,显示的X、Y还是屏幕的坐标?
如果是这样我也遇到这种现象,现在解决的不是很好。
我的方法是这样的:
映射模式是MM_ISOTROPIC
SetMapMode(Canvas.Handle,MM_ISOTROPIC);
SetWindowExtEx(Canvas.Handle,300,300,nil);
SetViewportExtEX(Canvas.Handle,600,600,nil);
这段代码意味着300个逻辑单位需要600个设备单位,那么两者的逻辑与设备单位的比为1:2
这样的话,在鼠标事件中如果用到坐标X、Y的时候都乘以这个比例2,就能得到变换后的坐标。当然这个比例是自己动态算出来的。在我这个软件中有一定的缺陷,正在想法解决,我的MSN:Dlwxn@hotmail.com,希望和你交流。
sun2000way 2003-11-03
  • 打赏
  • 举报
回复
如果象VB一样有Twips的单位也可以,大不了转换一下,不然用Delphi的Pixel精度不够
xiaoxiao197821 2003-11-03
  • 打赏
  • 举报
回复
改分辨率应该可以变那个数,你要做什么用?
aiirii 2003-11-03
  • 打赏
  • 举报
回复
up

5,387

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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