资源描述:
《实现图形滚动显示的Windows程序设计方法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、3第洛阳工业高等专科学校学报0123∋1卷第期!!∀#∃%455567582!!年月&∋()∃∗)%∃+(∋,−./∋∃)∃,+/∃)).,.实现图形滚动显示的9:;1<=程序设计方法卢秉娟杨磊>电气自动化系?>武汉工业大学?、3摘要本文阐述了9≅:;1<=的,6技术的特点坐标系和映射方式提出了实3=程序≅万十方法和图形的缩放技术现图形滚动显示的9≅:;1<关键词9≅:;1<=,4Α图形显示滚动显示视口窗口引言一由于,。受物理输出设备的制约弃加Β环境下滚动显示大幅面图形还不是一件很容易的事,,近年来在这方≅:;1<=提供了丰富的与设备无关的图形处理功能<≅:;洲=应
2、用程序并不直两,Φ5Φ5接访问图形显示设备而是通过其图形程序又叫图形设备接口即,4Α>,8ΧΔΕ≅4卜Γ≅。:=、Α:Η58ΙΧΦ5?来实现图形输出的<≅;1<的,4Α技术使得对图形显示滚动和缩放变得非常容易。∀与设备无关的图形接口:。<≅;1<=在图形处理上提出了一种称为与设备无关的图形接口>,4Α?,4Α的主要目标之。一就是支持在不同的输出设备上输出图形它包含了9≅:;1<=应用溜字中执行与设备无关的图,。,形操作所需的各类函数是彭月不到字与图形设备硬件之间的高级接口在编程过程中不到字员,,不必关自输出设备的控制代码只要不拥,4Α提供的函数获取输出设备的设备描述句柄>ϑ况?
3、,就可树礼42提供的函数操作设备驱动程序会自动士也将这些多4Α函数操作翻译成输出设备可执,。,行的各种控布狱码完吻左用朽梦节指定的任务这种处理方式的益处是明显的用户可在不受,而。控制的逻辑空间进布到绘图不必考虑具体的物理设备Κ坐标系与映射方式逻辑坐标系中至矫;了与设备无关的图形后,还必须利用逻辑坐标与实际物理设备之间的关系进行转换方可得到在实际设备上的输出。为了便于描刘梦月户图形,>逻辑坐标系?与设备输出图形>物理坐标系?之间的相互关系:。<≅;>〕<=中提出了有关视口>0≅5<2Λ〕8Η?不Μ2窗日><≅:;1
4、的逻辑空间称为窗口逻辑坐标系是用户逻辑空间>即窗口?,“”,采用的坐标显示区坐标是视口采用的坐标逻辑坐标由,4Α函数自动转换成设备坐标。逻辑空间的窗口原点,总是被映射成显示区原点,并按同样的映射算法变换其余的点。逻Ν辑坐标与显示区坐标之间的关系公式为第期卢秉娟实现图形滚动显示的9≅:;1<=程序设计方法Ο9一Ο··Ο一一>Λ一,瓮一一。··+Γ>、+<,瑞瓷,,,,Π>ΟΓΠΠ式中>Λ5+蝙场?为窗口原点>Ο。,。,Π>Π场?为显示区原点际幼为窗口范围>从+矽为视口范围在绝大多数蝴寸方式中,,坐标空间的范围是由昭寸方式决定的每个范围本身并没有
5、什么实际意义但视口范围与窗口昵。范围之比玩ΘΟ不「9泥Θ玩则表示逻辑图形物理输出显示时的缩小或放大比例:。Ρ〕9≅;1<=提供的种映射方式构成了对图形尺寸的约束在这种方式中唯有川Α岌用刃Α/Ρ,,一和枷胡≅=价&∃ΣΑ/允许用户改变窗口和视区的范围其它Τ种的范围是固定的例如枷。,一Ρ)∃.限Π)ΑΒϑ方式将Υ逻辑单位映射为Α2:所以当采用了枷ΑΒ%8&∃ΣΑ/或朋酬璐伽限印ΑΦ方,,式并通过Β5Η<≅:;1<.ΛΗ和Β5ΗΓ≅59Α刀8Η.ΛΗ设置范围可实现图形磺向和纵向的缩小或放,。大这就为处理大巾面面图形提供了技术保证,9≅:;=1<中图形滚动缩放显示输出的实现方法,
6、、=口口9≅:;=由于在9≅:;1<环境中窗视的原点及范围均可由应用才到字通过截取1<所发送,一的9ς2叭Α盯消息由用户来改变这样可以通过不断改变逻辑坐标原点以达到图形在视白中的滚。,,动一般图形的滚动是由用户利用鼠标点击滚动杆来驱动的此时<≅:;1<=问应用不卿茅发送,,,,”ς22Β/&∃))域沁Ι书口刃))消息当应用柳字截取这一消息后旦重新设定逻辑空间的原点使图形在显示输出的视口中移动。Ν应用溜字的消息处理过程如下ΝΦΧ=5枷/Α蓬认花8Ω二ΥΠ刃只扮Ω二氏=8Ξ=5二ΥΠΔ1Ε58122=Γ58Η=Φ8122二ΥΠΔ1,,,Β5Η=522Σ1=>Ε<:;ΒΨ卜幻&Ζ闪=
7、Ε18Ξ=5[。−&比?Π815=,∴,,ΠΒΗ=5822Σ1>Ε物;ΒΨ0.&−Δ1=Γ58Η=58122积咙?∴,,,ΝΒ5Η=58122&Χ:Ω5>Ε<:;ΒΨϑ∃Α论Υ印&虹另.?55∴,,,ΒΗ=58122凡川Ω>Ε<:;ΒΨ0&Α汀Υ>Ο?.灿另.?Π785Χ]ΠΦΧ=5∴Ν[[枷Α侣/&∃))Θ水平滚动Θ,,,#,Β522<≅:;衅>Ε<:;加8『>因=Ε18Ζ=5[ΥΥ∋%%ς几)?Π818122北8Ω二=Ε18Ξ=58122[ΥΝΔ1ϑ;5⊥,5Η戊>Ε枷;?ΠΒ5Η<≅: