1

仕事用のミニツールを作成しようとしています。そのために、Visual Studio 2010 で C# を使用しています。ここで、画像を act ファイルにエクスポートする必要があります。

ここに続いて、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 でエクスポートしたときのすべての色の順序と同じではありませんでした。そのため、すべての色を act ファイルに書き込むと、act ファイルが正しくありません。

誰でも私を助けることができます。

多くの感謝

4

1 に答える 1