阅读 17

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

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

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

需求:用鼠标单击/按下此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


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐