Извлечение информации об изображении PNG в .NET - PullRequest
2 голосов
/ 05 мая 2010

Я пытаюсь получить информацию о файле PNG, но мне еще предстоит найти всеобъемлющий сайт, чтобы помочь мне.

Вот некоторые из полу полезных фрагментов кода, которые у меня есть:

Bitmap bmp = new Bitmap(pngFileName);
BitmapData bd = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly,PixelFormat.Format48bppRgb);

и

Stream imageStreamSource = new FileStream(pngFileName, FileMode.Open, FileAccess.Read, FileShare.Read);
var decoder = new PngBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);

BitmapSource bitmapSource = decoder.Frames[0];

С их помощью я смог получить высоту и ширину изображения. Однако мне все еще нужно найти следующую информацию:

  • Кодируется ли RLE?
  • Это в родном видеоформате?
  • Это вращается?
  • Использует ли он палитру градаций серого?
  • Есть ли у него прозрачность?
  • Это RGB или BGR?

Я бы очень признателен за некоторые советы о том, как это сделать, или за ссылки на хорошие статьи, посвященные этому. Мы работаем с .NET 4.0

1 Ответ

1 голос
/ 13 февраля 2011

Я не уверен, поможет ли это вам, но лучшее, что я видел до сих пор, - это пошаговое прохождение изображения по пикселям и выполнение ваших различных задач.

См. Эти ответы для примеров:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...