gpt4 book ai didi

c# - 从 Unity 3D 中按比例缩小的 UI 图像上的相对 x、y 位置获取像素

转载 作者:太空宇宙 更新时间:2023-11-03 22:56:43 29 4
gpt4 key购买 nike

我试图在相对位置 Vector2(50,60) 的图像对象上找到一个像素。但是,虽然对象只有 100x100,但我的图像是 1200x1200(用于分辨率缩放目的)。当我尝试这样做时:

Color color = mask.sprite.texture.GetPixel(x, y);

它返回图像上 (50,60) 的像素,而不是游戏对象上的像素(图像上的 50,60 始终是空白像素)

我的问题:如何找出所需游戏对象位置处缩小的游戏对象 UI 图像上的像素颜色。

最佳答案

您需要根据缩放计算位置。

Vector2 originalResolution = new Vector2(1200, 1200);
Vector2 scaledResolution = new Vector2(100, 100);
Vector2 colorPixelPos = new Vector2(50, 60);
Vector2 actualPixelPos = new Vector2(colorPixelPos.x * scaledResolution.x / originalResolution.x, colorPixelPos.y * scaledResolution.y / originalResolution.y);
Color color = mask.sprite.texture.GetPixel((int)actualPixelPos.x, (int)actualPixelPos.y);

关于c# - 从 Unity 3D 中按比例缩小的 UI 图像上的相对 x、y 位置获取像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45041494/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com