如图像查看器外观,各种元素的imageview控件参与视图布局系统,视图转换和项目的大小和属性,以放置和呈现每个项目在其位置。
imageview包含许多属性和方法来获得一个元素的变换矩阵和边界矩形。
项目最重要的任务是确定渲染图像所需的变换矩阵。这可以很容易地使用GetItemImageTransform。此方法返回LeadMatrix它包含将图像放置在相对于查看器左上角(客户区像素0,0)的查看器表面上所需的所有转换值。
自定义渲染图像:
订阅查看器的一个呈现事件。指图像查看器渲染了解更多信息
获取图像大小ImageViewerItem。图象尺寸或imageview。GetItemImageSize。设置此值图象尺寸
类型变量LeadSizeD
通常情况下,需要渲染整个图像。因此,将目标矩形创建为类型为LeadRectD与价值观0, 0 imageSize.Width imageSize.Height
获取该项目图像的变换矩阵GetItemImageTransform,将其设置在一个变量中imageTransform
类型的LeadMatrix
将这个矩阵设置到渲染上下文中
使用目标矩形渲染图像
除了图像变换之外,您还可以使用以下命令获得项目任何其他部分的变换矩阵:
成员 | 描述 |
---|---|
GetItemTransform | 返回项本身的转换。用于绘制项目边框,例如在添加项目填充后 |
GetItemContentTransform | 返回内容区域的转换 |
GetItemFloaterTransform | 返回浮动图像的变换(如果有的话)。使用GetItemFloaterSize以上述用于自定义渲染图像的相同方式自定义渲染浮动 |
查看器包含许多方法和属性,用于在物理(控件)和逻辑(视图内)坐标中获取项目(或其任何部分)的边界矩形:
成员 | 描述 |
---|---|
GetItemViewBounds | 获取包含图像的项的任何部分的当前物理(在控制像素坐标中)边界 |
GetItemBounds | 获取项目的任何部分(包括图像)的当前逻辑边界(不包括当前转换) |
GetItemViewBounds可用于获取包括图像在内的项目任何部分的当前物理(在控制像素坐标中)边界。此方法可用于执行手动命中测试或针对剪切矩形进行测试。GetItemBounds在逻辑坐标中返回相同的值(不包括当前转换)。
的ImageViewerItemPart枚举可以在方法和属性中使用,以捐赠我们感兴趣的项目的一部分。
所获得的矩阵来渲染视图ViewTransform。视图边界可以使用GetViewBounds。自定义渲染视图可以用与上面描述的自定义渲染图像相同的方式执行,用视图值替换图像变换和边界。
从鼠标点击等事件获得的点处于物理(像素)坐标中,而图像或视图中的点处于逻辑坐标中。将一个点从一个坐标转换到另一个坐标需要应用正确的变换矩阵。这可以通过获取所涉及的矩阵并变换点来手动完成,也可以使用以下任何一种方法自动完成imageview辅助方法:
成员 | 描述 |
---|---|
ConvertPoint | 将一个点从任意坐标转换为另一个坐标 |
ConvertPoints | 将点数组从任意坐标转换为另一个坐标 |
ConvertRect | 将矩形从任意坐标转换为另一个坐标 |
ConvertTransform | 将一个变换矩阵相对于一个项目转换为相对于不同的项目 |
ConvertBoundsToView | 将矩形从逻辑视图坐标转换为物理视图坐标 |
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网页查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已经发送到支持!应该有人保持联系!如果你有急事,请回来再谈。
聊天时间:
周一至周五,上午8:30至下午6点
感谢您的反馈!
请重新填写表格以开始新的聊天。
所有代理当前都处于离线状态。
聊天时间:
星期一至星期五
上午8:30 -下午6点
要联系我们,请填写此表格,我们将通过电子邮件与您联系。