WPF中根据DPI获取准确坐标点啊


public class DPIUtils
{
private static double _dpiX = 1.0;
private static double _dpiY = 1.0;
public static double DPIX
{
get
{
return DPIUtils._dpiX;
}
}
public static double DPIY
{
get
{
return DPIUtils._dpiY;
}
}
public static void Init(System.Windows.Media.Visual visual)
{
Matrix transformToDevice = System.Windows.PresentationSource.FromVisual(visual).CompositionTarget.TransformToDevice;
DPIUtils._dpiX = transformToDevice.M11;
DPIUtils._dpiY = transformToDevice.M22;
}
public static Point DivideByDPI(Point p)
{
return new Point(p.X / DPIUtils.DPIX, p.Y / DPIUtils.DPIY);
}
public static Rect DivideByDPI(Rect r)
{
return new Rect(r.Left / DPIUtils.DPIX, r.Top / DPIUtils.DPIY, r.Width, r.Height);
}
}

WPF中根据DPI获取准确坐标点啊,布布扣,bubuko.com

时间: 2024-10-19 04:24:33

WPF中根据DPI获取准确坐标点啊的相关文章

WPF中DataGrid只获取一次Tab

客户端程序中用到DataGrid,但是在用键盘操作时,DataGrid默认的tab行为是,第一行第一个cell获取焦点,之后按tab键焦点变化顺序是:当前行的一个cell进入到下一个cell,然后进入下一行,如此切换,直到到达DataGrid最后一行的最后一个cell,之后再按一次tab才退出DataGrid. 如此,太繁复,我希望的是第一次Tab进入DataGrid后,再按一次Tab即退出DataGrid. 我是如此实现: 1.设置DataGrid的属性 KeyboardNavigation.

WPF中DPI的问题

先搞清楚一下几个概念: DPI:dots  per  inch ,每英寸的点数.我们常说的鼠标DPI,是指鼠标移动一英寸的距离滑过的点数:打印DPI,每英寸的长度打印的点数:扫描DPI,每英寸扫描了多少个点.(更多请参考百度百科http://baike.baidu.com/view/49853.htm) 像素:pixel,picute和element的缩写.像素可以简单的理解为DPI里面的点.例如,显示器的分辨率为1024像素*768像素,就是说显示器的横向可显示1024个点(像素),纵向科研可

在Google Map中使用地址获取坐标(适用小数据量)

近期手上有个95条数据的地址信息,想把地址转换成经纬度坐标,叠加在底图上.ESRI的online作为专业的云平台,号称提供地理编码服务,可能使用自己的数据制作Web map,于是转成CSV后试了下,结果只有4条记录转换成坐标了,并且都偏离了一个省的范围,基本上不可用.后来想在google earth上试下,使用地址搜索,也不知道是服务器慢,还是什么其他原因,earth的搜索功能简直处于瘫痪状态,打一个地址,10分钟能反应过来,结果基本上是找不到.无奈之下,又试了试google Map,Map上是

android开发之View坐标系(view获取自身坐标的方法和点击事件中坐标的获取)

在做一个view背景特效的时候被坐标的各个获取方法搞晕了,几篇抄来抄去的博客也没弄很清楚. 现在把整个总结一下. 其实只要把下面这张图看明白就没问题了. 涉及到的方法一共有下面几个: view获取自身坐标:getLeft(),getTop(),getRight(),getBottom() view获取自身宽高:getHeight(),getWidth() motionEvent获取坐标:getX(),getY(),getRawX(),getRawY() 首先是view的几个方法, 获取自身的宽高

wpf 在不同DPI下如何在DrawingVisual中画出清晰的图形

环境Win10 VS2017 .Net Framework4.7.1 本文仅讨论在DrawingVisual中进行的画图. WPF单位,系统DPI,显示器DPI三者的定义及关系 WPF单位:一种与设备无关的单位,以1/96逻辑英寸为一个单位,也就是说如果将一个对象的长度设为96,那么在任何设备上WPF都会试图将其显示为1逻辑英寸长. 系统DPI:将多少个显示器的像素点定义为1逻辑英寸,默认是96个点 在win10中,图中所设置的 100%即为96DPI; 125%即为120DPI; 150%即为

在WPF中获取DataGridTemplateColumn模板定义的内容控件

xaml格式描述: <DataGrid Name="dataGrid" Grid.Row="1" ItemsSource="{Binding}"  >            <DataGrid.Columns>              <DataGridTemplateColumn Header="描述">                    <DataGridTemplateCo

IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息

IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息 /**当获取到定位的坐标后,回调函数*/ - (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation{ BMKCoordinateRegion region; region.center.latitude  = userLocation.location.coordinate.latitude; region.center.longitude = userLoca

WPF中通过代码设置控件的坐标

用WPF做贪吃蛇小游戏时,发现了一个问题: 贪吃蛇的移动,我是通过不断刷新Rectangle来实现(贪吃蛇的身体由一组Rectangle组成),因此需要不断调整Rectangle的坐标,但是WPF中没有Location的相关设置 在网上查到可以用Thickness实现 Rectangle Rec = new Rectangle(); Rec.Margin = new Thickness(1, 2, 3, 4); 但总是调不准 其实可以通过Canvas实现 Canvas介绍 用代码实现Canvas

JAVA中经过nginx反向代理获取客户端ip并获取相关坐标等信息

关于搜狐新浪ip库查询接口的使用 直接输出访客ip及所在城市: <script src="http://pv.sohu.com/cityjson?ie=utf-8" ></script> <script type="text/javascript"> document.write('IP:'+returnCitySN.cip+'<br>城市:'+returnCitySN.cname); </script>