У меня есть система, которая делает снимки экрана из разных систем и по-разному. Эти изображения используются разными клиентами, например, сравнение изображений, распознавание текста, отображение в графическом интерфейсе, ведение журнала и т. д.
В настоящее время я разработал свои интерфейсы для использования BitmapSource
. Но это показало трудности с созданием диспетчера каждый раз, когда BitmapSource
инициализировался в потоке без диспетчера. Описание проблемы
Теперь я ищу простой формат обмена изображениями, который включает в себя основную информацию об изображении. Специальные клиенты в любом случае преобразуют этот формат в свои собственные форматы (BitmapSource
в графическом интерфейсе WPF, Mat
в библиотеке OpenCVSharp, Pix
в распознавании Tesseract ...)
Я обычно использую Bitmap
из System.Drawing
пространства имен, но это также сложно и как-то связано с Windows Forms. Но он уже имеет некоторые функции преобразования и имеет возможности загрузки и сохранения. Кроме того, сторонние библиотеки, как правило, предлагают преобразование из Bitmap
в их собственный формат.
Так что целесообразно использовать Bitmap
из System.Drawing
в качестве формата обмена изображениями в библиотеках классов (работающих и инициализирующих в потоках, отличных от потока GUI), или мне лучше создать собственную реализацию, которая несет необходимую информацию для представлять изображение? Или где-то уже есть простой независимый формат изображения?