Мне нужно извлечь значения байтов RGB каждого пикселя небольшого GIF, хранящегося на ПК (16x16 пикселей), поскольку мне нужно отправить их на светодиодный дисплей, который принимает цветовой код RGB 6 байтов.извлечение RGB из изображения GIF
После открытия тестового файла и преобразования его в 1-байтовый массив я получаю несколько байтовых значений, но я не уверен, что это декодирует GIF-кадр и в результате вернет мой желаемый массив из 192 байт RGB?
'img = Image.FromFile("mygif.gif");
FrameDimension dimension = new FrameDimension(img.FrameDimensionsList[0]);
int frameCount = img.GetFrameCount(dimension);
img.SelectActiveFrame(dimension, 0);
gifarray = imageToByteArray(img);`
//image to array conversion func.
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
Возможно, существует другой способ для этого?
спасибо, его то, что я делаю, и это работает. Я просто предположил, что не могу рассматривать GIF как растровое изображение. проблема в том, что я теряю возможность цикла кадров прямо сейчас. –
OK Я понимаю, это просто простое отбрасывание из класса Image в Bitmap, и это можно сделать. выпуск закрыт, спасибо за ваши ответы –
@PK Если это правильный ответ, пожалуйста, отметьте его как таковой. :) – Jashaszun