我正在尝试为我的工作创建一个迷你工具。我正在使用 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 导出时所有颜色的顺序不同。因此,当我将所有颜色写入行为文件时,行为文件不正确。
任何人都可以帮助我。
多谢