unity3d怎么用程序调用调色板
发布网友
发布时间:2022-05-12 15:17
我来回答
共1个回答
热心网友
时间:2023-10-11 14:01
几种思路:
1. 你可以写 Native 插件,调用本地系统的调色板,比如用 PInvoke 调用 Windows 的调色板对话框Comdlg32.dll 中的 ChooseColor 函数。
2. 用 NGUI 系统自己画出调色板界面。
3. 调入一张色块图,取色块图上的像素颜色。示例如下:
System.Drawing.Image img = System.Drawing.Image.FromFile(Application.dataPath + "/1.jpg");
Bitmap bm = new Bitmap(img, 500, 500);
if (Input.mousePosition.x < 500 && Input.mousePosition.y < 500)
{
System.Drawing.Color pc = bm.GetPixel((int)Input.mousePosition.x,500 - (int)Input.mousePosition.y);
UnityEngine.Color nuc = new UnityEngine.Color(pc.R / 255.0f, pc.G / 255.0f, pc.B / 255.0f, 1.0f);
//Debug.Log(pc.R+ "//"+ pc.G+ "//"+ pc.B);
target.renderer.material.color = nuc;
}