IDisplayTransformation

IDisplayTransformation

Bounds Full extent in world coordinates.

The Bounds property controls the full extent of the display.  IActiveView::FullExtent really stores its full extent here and it has two uses for this property.  In data view, IActiveView calculates the full extent of all the layers and automatically recalculates it whenever the spatial reference changes and when layers are added or removed from the Map.  In layout view, IActiveView stores in FullExtent, the page size (expanded some) and it recalculates this property whenever the page size changes.

Setting the Bounds also sets the VisibleBounds to the same envelope and fires the ITransformEvents::BoundsUpdated and ITransformEvents::VisibleBoundsUpdated events.

DeviceFrame Visible extent in device coordinates.
FittedBounds Device frame in world coordinates.

 

Resolution Resolution of the device in dots (pixels) per inch.
ScaleRatio Scale between FittedBounds and DeviceFrame.

 

VisibleBounds Visible extent in world coordinates.

In layout view, when the Page is zoomed 1:1, the resolution equals the device resolution.  When the Page is zoomed to > 100%, the resolution is set higher so that graphics are magnified.

In data view, the Map object always has its resolution set to that of the display.  Graphics are not magnified in this view when you zoom in.

The units are always in pixels per inch.

After setting the resolution, the ITransformEvents::ResolutionUpdated event is fired.

 

IScreenDisplay

PanMoveTo pans the display by calculating an offset distance between the start point supplied to PanStart and the destination point provided to this method.  The recording cache is automatically redrawn each time PanMoveTo is called. Use the envelope PanStop returns to truly refresh the display.

The typical sequence for using the pan methods is as follows:

  • OnMouseDown - PanStart
  • OnMouseMove - PanMoveTo
  • OnMouseUp - PanStop

 

posted @   太一吾鱼水  阅读(576)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
历史上的今天:
2013-05-07 EA正向工程
点击右上角即可分享
微信分享提示