首页 > 编程知识 正文

黑茶色褪色后什么颜色,RGB颜色模型

时间:2023-05-05 11:16:59 阅读:148566 作者:4294

颜色样本是图。 你不需要在意形状和颜色的分布。 根据业务的需要让美工制作这张图就可以了。

在这里,我们将使用这样的图作为调色板图。

需求:用鼠标单击/按下此UI图时,为模型分配与该位置对应的颜色值。 模型的变色请看这篇博文。 https://blog.csdn.net/itsxwz/article/details/89376498

可以看出,此图不是均匀的全色分布,而是由许多小的同色块组成。 用颜色值(0~255 )和半径处理不好。

用别的想法吧。 获取与鼠标点对应的图像像素点的颜色值。

API:texture2d.getpixel(intx,int y ); 帮助我们达到上述目的。

我们是Input.mousePosition; 获取鼠标点的位置。

那么,如何将mousePos转换为pixelPos呢?

调色板在Canvas上的位置是任意的,因此可以确定中心点centerPos,即上图的中心点。 我们用两种方法取得中心点。 1 ) Input.mousePosition; 但人眼定位、人工点击的方式必然存在误差,所以采用方式2; 2 )从色盘物体的RectTransform的PosX和PosY计算,画面的中心点(0,0 )位于画面的左中央时,色盘的中心点为) PosX,Screen.height/2 PosY。

pixel pos=mouse pos-centerpostex/2; 的转换可以获取该像素点的颜色。

注意判断mousePos是否在托盘内。 否则,无法读取像素点的色值。

代码实现如下。

privatevoidchoosecolorbyclickcolorwheel ((if ) input.getmousebuttondown(0)|input.getmousebutton ) vec toon intx=() inty=(int ) ) mousePos.y - centerPos.y ); if (x * xy * y=mathf.pow (tex.width/2,2 ) ) {//tex为色盘图pixelcolor=tex.getpixel ) xtex.width/2,ytex.htex ? 不限于“色盘”。

最后,我想谈谈坐标问题:

【20190713】

以上可以先获取图像的Pixel点,并根据坐标将其转换为色度值。

3359 me.csdn.net/QQ _ 29487981 masaka _ yogi

上面的大人物可以找到api直接取得像素点坐标:

publicstaticboolscreenpointtolocalpointinrectangle (recttransformrect,Vector2 screenPoint,Camera cam,out Vector2 localPoint )

ps:namespace UnityEngine

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。