仕事用のミニツールを作成しようとしています。そのために、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 ファイルが正しくありません。
誰でも私を助けることができます。
多くの感謝