1

我正在尝试为我的工作创建一个迷你工具。我正在使用 C# 和 Visual Studio 2010 来做到这一点。现在我需要将图像导出到行为文件。

跟随这里, http: //msdn.microsoft.com/en-us/library/system.windows.media.imaging.bitmappalette.aspx

我写

class Palette : List<Color>
{
    public static Palette GetFromImage(String PathToImage)
    {
        //Load imgae
        BitmapImage image = new BitmapImage();
        image.BeginInit();
        image.UriSource = new Uri(PathToImage, UriKind.RelativeOrAbsolute);
        image.EndInit();

        //Load palette
        BitmapPalette BitmapPalette = new BitmapPalette(image, 256);


        //Convert it to list of Color
        Palette pal = new Palette();
        for (int i = 0; i < BitmapPalette.Colors.Count; i++)
        {
            pal.Add(Color.FromArgb(BitmapPalette.Colors[i].R, BitmapPalette.Colors[i].G, BitmapPalette.Colors[i].B));
        }
        //Return the palette has been creatted
        return pal;
    }

此代码已生效,但结果中所有颜色的顺序与我通过 photoshop 导出时所有颜色的顺序不同。因此,当我将所有颜色写入行为文件时,行为文件不正确。

任何人都可以帮助我。

多谢

4

1 回答 1

-1

动作文件是编译后的二进制文件。

您不能对行为文件进行编码。

也许 Photoshop 可以导入一个 css 文件(就像调色板一样)

于 2020-05-02T11:39:11.297 回答