unity 点击获取屏幕中图片像素的颜色

本文介绍了一种将屏幕点击坐标转换为图像UV坐标的算法,适用于Unity游戏开发中精确获取点击位置的颜色信息。文章详细解释了如何计算图片的屏幕像素范围,并通过实例展示了如何在不同分辨率下准确获取贴图坐标。
摘要由CSDN通过智能技术生成

 

 /// <summary>
    /// 获取屏幕点击贴图像素位置
    /// 点击屏幕  点击到图片,计算图片的像素坐标(图片的屏幕像素范围(宽高),屏幕坐标到图片像素坐标的转换) 获取颜色
    /// </summary>
    /// <param name="screenPosition">屏幕坐标</param>
    /// <param name="rectT">图片位置</param>
    /// <param name="texture">Image 中的贴图</param>
    /// <returns>贴图像素 uv 值</returns>
    private Vector2 ReadScreenPositionTextureColor(Vector2 screenPosition, RectTransform rectT, Texture2D texture)
    {
        float width = rectT.rect.width * rectT.localScale.x;
        float heigth = rectT.rect.height * rectT.localScale.y;

        //UI空间坐标到屏幕坐标的转换
        //图片范围
        Vector2 v0 = new Vector2(rectT.localPosition.x + (Screen.width - width) / 2
            , rectT.localPosition.y + (Screen.height - heigth) / 2);
        Vector2 v1 = new Vector2(rectT.localPosition.x + (Screen.width + 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值