精华内容
下载资源
问答
  • 工具小巧,双击即可运行,会自动获取屏幕坐标,自己用着感觉挺好。
  • 屏幕坐标获取工具

    2018-06-07 13:46:43
    方便获取系统屏幕坐标的工具,轻量级,解压即用.非常方便
  • 主要为大家详细介绍了Android获取点击屏幕的位置坐标,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 查看屏幕上某一点的坐标,鼠标指向改点即可 摘要必须大于50个字!
  • 屏幕坐标获取器

    2019-04-26 11:53:52
    此软件课用于获取桌面的实时坐标,方便定点抓取坐标信息。
  • 获取屏幕坐标和RGB

    2019-01-24 09:51:29
    用python写的获取屏幕坐标和RGB的小程序,源码比较简单没上传,只上传了工具
  • 点击Android屏幕坐标,在相应的点击位置生成一个用OpenGL ES绘制的三角形,
  • 然后转世界坐标。如果pointsize过大,精度会有一定损失。为1时精度在小数点后两位。当鼠标move到点上时,控制台输出原始点 x y z的坐标信息。窗口不要改动,resizeGL函数中没有对纹理进行处理。
  • 实现原理:创建一个背景透明的Activity, 点击屏幕时获取坐标信息并显示。在悬浮窗中调用该Activity,可以获取所有界面的坐标信息。 package sc.tool.screen; import sc.tool.component.ActivityComponent; ...

    工具下载:


    实现原理:创建一个背景透明的Activity, 点击屏幕时获取坐标信息并显示。在悬浮窗中调用该Activity,可以获取所有界面的坐标信息。

    
    package sc.tool.screen;
    
    import sc.tool.component.ActivityComponent;
    import android.content.Context;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Looper;
    import android.view.MotionEvent;
    import android.view.View;
    
    
    /** 获取屏幕点击处的坐标 */
    public class GetClickPostion extends ActivityComponent
    {
    	/** 显示当前Activity */
    	public static void Show(Context context)
    	{
    //		context.finish();	// 关闭context对应的Activity
    		
    //		final Class cls = GetClickPostion.class;
    //		new Handler(Looper.getMainLooper()).post(new Runnable()
    //		{
    //			@Override
    //			public void run()
    //			{
    //				
    //			}
    //		});
    		
    		Intent intent = new Intent(context, GetClickPostion.class);
    		intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    		context.startActivity(intent);
    		
    		
    		// context.startActivityForResult(intent, CODE_ClickPostion);
    	}
    	
    	// ----------------
    	
    	@Override
    	public void Init(Bundle savedInstanceState)
    	{
    		this.setContentView("screen_postion");
    		Click("buttonReset");
    	}
    	
    	@Override
    	public void Click(String viewId)
    	{
    		if (viewId.equals("buttonReset"))
    		{
    			this.LinearLayout("linear1").setVisibility(View.INVISIBLE);
    			this.LinearLayout("linear2").setVisibility(View.INVISIBLE);
    			isSet = false;
    		}
    		else if (viewId.equals("buttonFinish"))
    		{
    			Intent data = new Intent();
    			data.putExtra("x", x + "");
    			data.putExtra("y", y + "");
    			this.setResult(CODE_ClickPostion, data);	// 返回选取的坐标
    			this.finish();
    		}
    	}
    	
    	public boolean dispatchTouchEvent(MotionEvent event)
    	{
    		switch (event.getAction())
    		{
    			case MotionEvent.ACTION_DOWN:
    				setPosition((int) event.getX(), (int) event.getY());
    				break;
    			
    			case MotionEvent.ACTION_UP:
    				break;
    		}
    		return super.dispatchTouchEvent(event);
    		
    	}
    	
    	boolean isSet = false;
    	int x;
    	int y;
    	public static final int CODE_ClickPostion = 50001;
    	
    	public void setPosition(int x, int y)
    	{
    		if (!isSet)
    		{
    			isSet = true;
    			LinearLayout("linear1").setVisibility(View.VISIBLE);
    			LinearLayout("linear2").setVisibility(View.VISIBLE);
    			this.EditText("editText1").setText("" + x + ", " + y);
    		}
    	}
    	
    }
    

    AndroidManifest.xml添加配置:

    <activity
                android:name="sc.tool.screen.GetClickPostion"
                android:configChanges="orientation|keyboardHidden|screenSize"
                android:theme="@style/AppTheme2" />

    styles.xml配置:

    <resources>
    
        <style name="AppTheme2" parent="android:Theme.Translucent.NoTitleBar.Fullscreen">
            <item name="android:windowFullscreen">false</item>
        </style>
        
    </resources>

    完整源码下载

    展开全文
  • 屏幕坐标工具v1.5,非常好用,自带放大镜,用过的最好的工具。
  • Android 屏幕坐标

    2015-10-26 17:14:48
    http://blog.csdn.net/csdnyuandaimaxuexi/article/details/49425861 博客地址:http://blog.csdn.net/csdnyuandaimaxuexi/article/details/49425861
  • arcgis js地理坐标与屏幕坐标互转换
  • 地理坐标和屏幕坐标相互转换,代码详细,使用
  • 屏幕坐标系统与地理坐标系统 转换方法 屏幕坐标 地理坐标 转换方法
  • C#取屏幕坐标

    2016-06-10 16:48:38
    you are welcome to ask, I am happy to share with you
  • 屏幕坐标和客户区坐标的相互转换

    热门讨论 2012-06-19 11:35:06
    此VC程序实现了获得控件的相对坐标,包括控件左上角相对于屏幕坐标和相对于客户区的坐标,以及两者之间的转换,还可以实时显示鼠标坐标。对于理解客户区相对坐标有很大用处。
  • 屏幕坐标到世界坐标

    2017-06-14 22:17:25
    屏幕坐标到世界坐标
  • 墨卡托投影坐标、手机屏幕像素坐标转换
  • VC++在屏幕坐标和窗口坐标之间转换
  • 此范例主要是实现跟踪图层中线对象之间的屏幕距离不变。
  • 主要介绍了Cocos2d-x学习笔记之世界坐标系、本地坐标系、opengl坐标系、屏幕坐标系,本文用代码和注释讲解了Cocos2d-x中的坐标体系,需要的朋友可以参考下
  • 1.QQ:513187410 2.保证无毒 3.简单,方便,实用 4.实例可以自行改用 5.如有非法,本人无法律责任,由改动代码人负责! 6.需要更多本人作品,查找标签“朱建强” 7.请下载,杀毒后再使用!
  • 3D 模型坐标和屏幕坐标之间转换.txt
  • 一个获取当前鼠标相对于电脑屏幕坐标数值的简单实现方法C#
  • 该Demo是为unity3d中画线案例,可以将世界坐标转换为屏幕坐标屏幕坐标画线。
  • CESIUM获取世界坐标转为屏幕坐标

    千次阅读 2019-06-14 09:58:27
    方法将返回转换成在画布的位置坐标。 这个方法支持传入两个值,一个是需要获取坐标的世界三维坐标。 第二个值为可选,可以指定一个Cartesian2对象,cesium将自动填充对象内的值为画布上的坐标。 例子: var scene = ...

    我们可以通过场景对象scene的cartesianToCanvasCoordinates 方法进行获取。方法将返回转换成在画布的位置坐标。
    这个方法支持传入两个值,一个是需要获取坐标的世界三维坐标。
    第二个值为可选,可以指定一个Cartesian2对象,cesium将自动填充对象内的值为画布上的坐标。
    例子:

    var scene = widget.scene;
    var ellipsoid = scene.globe.ellipsoid;
    var position = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
    var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
    handler.setInputAction(function(movement) {
        console.log(scene.cartesianToCanvasCoordinates(position));
    }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
    
    展开全文
  • 获取屏幕像素坐标工具,用于研究其他应用,调试程序
  • Unity3D 世界坐标转屏幕坐标的坑

    千次阅读 2019-10-26 17:59:56
    【Unity3D】世界坐标转屏幕坐标的坑 本菜鸟是今年2019年毕业,正式走向游戏开发岗位三个月的大萌新。每天忙着和策划各种撕逼,实现各种脑残设计,其中就遇到不少值得罗缕纪存的坑,现在就开始写下了供后来的学习者...

    【Unity3D】世界坐标转屏幕坐标的坑

    本菜鸟是今年2019年毕业,正式走向游戏开发岗位三个月的大萌新。每天忙着和策划各种撕逼,实现各种脑残设计,其中就遇到不少值得罗缕纪存的坑,现在就开始写下了供后来的学习者跳坑。
    策划之前提了一个玩家目标指示器需求,箭头始终指向玩家点击的目标在屏幕上的位置。接到需求第一个想法是直接将目标单位的世界坐标转换成ugui的屏幕坐标,使用unity自带的坐标转换函数转换就行了。
    ugui以左下角为坐标原点(0,0),向上为y轴正半轴,向右为x轴正半轴。所以先计算目标的屏幕坐标和玩家摄像机屏幕中心坐标的两点之间的角度angle,通过判断目标屏幕坐标相对于摄像机屏幕中心位于哪个象限,处理之前计算的angle差值(ugui图片的角度是逆时针从0到360)。

    //将目标世界坐标转换成ugui屏幕坐标
    Vector3 target_ScreenPoint = Camera.main.WorldToScreenPoint(m_target.position);
    //计算target_ScreenPoint和屏幕中心点的绝对值角度
    
    float angle = Mathf.Atan(Mathf.Abs(target_ScreenPoint.y - Screen.height / 2)
        / Mathf.Abs(target_ScreenPoint.x - Screen.width / 2)) * 180 / Mathf.PI;
    
    //通过判断target_ScreenPoint相对屏幕中心点所在象限处理angle的差值
    if (target_ScreenPoint.x <= Screen.width / 2)
        angle = target_ScreenPoint.y >= Screen.height / 2 ? 90 - angle : 90 + angle;
    else
        angle = target_ScreenPoint.y >= Screen.height / 2 ? 270 + angle : 270 - angle;
    
    Vector3 euler = m_arrow.eulerAngles;
    euler.z = angle;
    //设置箭头的角度
    m_arrow.eulerAngles = euler;
    

    下面是效果图

    在这里插入图片描述
    箭头指示器始终指向目标在屏幕显示的位置,是不是很完美无缺。但狗策划测试发现个问题,当目标不在屏幕内,玩家转动到某些角度时候,箭头指示器会指向相反方向。如下图所示

    在这里插入图片描述
    此时目标不在屏幕范围内,在人物左边,转换成的屏幕坐标x值为负也正常,但当人物继续向右转动后出现下图问题了。
    在这里插入图片描述
    指向箭头刚才还指向左边,现在指向右边相反方向了,目标转换成的屏幕左边x值也变成正的了,所以这时候需要把箭头角度改成对角相反的方向。至于什么时候改了,需要通过判断当目标在摄像头左边但指示箭头角度大于180度和当目标在摄像头右边但指示箭头角度小于180时候转换即可,最后达到了真正完美的效果图如下。

    在这里插入图片描述
    这回即使旋转一周箭头位置都没任何问题,最后上完整代码

    using UnityEngine;
    
    public class GuideUICtl : MonoBehaviour
    {
        public Transform m_target;                  //指向目标
        public RectTransform m_arrow;               //UI箭头
        Vector3 m_Screen_Center;
    
        private void Start()
        {
            m_Screen_Center = new Vector3(Screen.width / 2, Screen.height / 2, 0);
        }
        
        void Update() {
            //将目标的世界坐标转换成屏幕坐标
            Vector3 target_ScreenPoint = Camera.main.WorldToScreenPoint(m_target.position);
    
            //计算target_ScreenPoint和屏幕中心点的绝对值角度
            float angle = Mathf.Atan(Mathf.Abs(target_ScreenPoint.y - Screen.height / 2)
                / Mathf.Abs(target_ScreenPoint.x - Screen.width / 2)) * 180 / Mathf.PI;
    
            //通过判断target_ScreenPoint相对屏幕中心点所在象限处理angle的差值
            if (target_ScreenPoint.x <= Screen.width / 2)
                angle = target_ScreenPoint.y >= Screen.height / 2 ? 90 - angle : 90 + angle;
            else
                angle = target_ScreenPoint.y >= Screen.height / 2 ? 270 + angle : 270 - angle;
    
            #region  计算摄像机和目标的叉乘
    
            //以屏幕中心所在的单位向量为起始向量from,并将from的y值设成和目标y值保持一致
            Vector3 from = Camera.main.transform.forward;
            from.y = m_target.forward.y;
            //将屏幕中心坐标转换成世界坐标
            Vector3 cameraPos = Camera.main.ScreenToWorldPoint(m_Screen_Center);
            cameraPos.y = m_target.position.y;
            
            //求出目标点与摄像机之间的向量
            Vector3 to = m_target.position - cameraPos;
            //求出两向量之间的叉乘
            Vector3 cross = Vector3.Cross(from, to);
            #endregion
    
            //根据叉乘求出带符号的角度
            //cross.y > 0:目标向量位于起始向量右侧
            //cross.y < 0:目标向量位于起始向量左侧
            if (cross.y > 0 && angle < 180)
                angle += 180;
            else if (cross.y < 0 && angle > 180)
                angle -= 180;
            Vector3 euler = m_arrow.eulerAngles;
            euler.z = angle;
            
            //设置箭头的角度
            m_arrow.eulerAngles = euler;
        }
    }
    
    
    展开全文
  • 屏幕坐标

    千次阅读 2019-09-17 08:34:54
    from PyQt5.QtWidgets import QApplication,QWidget,QPushButton,QMainWindow app = QApplication(sys.argv) ... print('显示坐标系-方法一:') print(f"widget.x():{widget.x()}:窗口左上角横坐标") ...
    
    from PyQt5.QtWidgets import QApplication,QWidget,QPushButton,QMainWindow
    
    app = QApplication(sys.argv)
    
    def onClickButton():
        print('显示坐标系-方法一:')
        print(f"widget.x():{widget.x()}:窗口左上角横坐标")
        print(f"widget.y():{widget.y()}:窗口左上角纵坐标")
        print(f"widget.width():{widget.width()}:客户区宽度")
        print(f"widget.height():{widget.height()}:客户区高度")
    
        print('显示坐标系-方法二:')
        print(f"widget.geometry().x():{widget.geometry().x()}:客户区左上角横坐标")
        print(f"widget.geometry().y():{widget.geometry().y()}:客户区左上角纵坐标")
        print(f"widget.geometry().width():{widget.geometry().width()}:客户区宽度")
        print(f"widget.geometry().height():{widget.geometry().height()}:客户区宽度")
    
        print('显示坐标系-方法三:')
        print(f"widget.frameGeometry().x():{widget.frameGeometry().x()}:窗口左上角横坐标")
        print(f"widget.frameGeometry().y():{widget.frameGeometry().y()}:窗口左上角纵坐标")
        print(f"widget.frameGeometry().width():{widget.frameGeometry().width()}:窗口区宽度")
        print(f"widget.frameGeometry().height():{widget.frameGeometry().height()}:窗口区宽度")
    
    # 生成Qwidget对象,作为顶层窗口
    widget = QWidget()
    # 生成QPushButton对象,widget作为父类
    button = QPushButton(widget)
    button.setText('按钮')
    # 连接信号与槽
    button.clicked.connect(onClickButton)
    
    button.move(50,50)
    # 将窗口的工作区宽度和高度分别设置为300像素和240像素
    widget.resize(300,240)
    # 将窗口的左上角坐标移动到(250,200)位置
    widget.move(250,200)
    
    widget.setWindowTitle('屏幕坐标系')
    widget.show()
    
    sys.exit(app.exec_())
    

    在这里插入图片描述
    运行结果:

    显示坐标系-方法一:
    widget.x():250:窗口左上角横坐标
    widget.y():200:窗口左上角纵坐标
    widget.width():300:客户区宽度
    widget.height():240:客户区高度
    显示坐标系-方法二:
    widget.geometry().x():250:客户区左上角横坐标
    widget.geometry().y():222:客户区左上角纵坐标
    widget.geometry().width():300:客户区宽度
    widget.geometry().height():240:客户区宽度
    显示坐标系-方法三:
    widget.frameGeometry().x():250:窗口左上角横坐标
    widget.frameGeometry().y():200:窗口左上角纵坐标
    widget.frameGeometry().width():300:窗口区宽度
    widget.frameGeometry().height():262:窗口区宽度
    

    参考文章:
    https://blog.csdn.net/qq_37764129/article/details/81407544

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 181,081
精华内容 72,432
关键字:

屏幕坐标查看