Я не могу загрузить растровые изображения на WinCE - PullRequest
1 голос
/ 27 октября 2009

Я написал небольшой проект, который отображает значки на экране на WinCE. Значки представляют собой 16-цветные BMP-файлы размером 28x28, размещенные в главном файле ресурсов (Resources.resx) (проблема с рексом для основной формы такая же, как и у файлов GIF).

При первой попытке получить любое растровое изображение из ресурсов выдается исключение типа Exception с сообщением «Exception» из Microsoft.AGL.Common.MISC.HandleAr, которое вызывается из System.Drawing.Bitmap._InitFromMemoryStream. .

У меня есть два устройства WinCE. Эта ошибка возникает только на одном из них; другой работает нормально. Помимо этой одной проблемы, приложение работает на обоих устройствах. Приложение также использует некоторый нативный код, который включает в себя DIB, и это прекрасно работает. Есть идеи?

Обновление: та же ошибка возникает, если я пытаюсь загрузить растровое изображение из файла. Я также попробовал 1-битные (черно-белые), 8-битные и 24-битные растровые изображения безрезультатно (кадровые буферы WinCE чаще всего 16-разрядные, но у меня нет редактора изображений, который может создавать 16-разрядные растровые изображения.)

1 Ответ

0 голосов
/ 17 декабря 2009

У меня похожая проблема, и я работал над ней в течение нескольких дней. Следующее, что я собираюсь попробовать, это сохранить растровое изображение как DIB в файле ресурсов, загрузить его с помощью LoadResource, преобразовать его в DDB с помощью GetCompatibleDC и «нарисовать» DIB на DC, что должно создать DDB. Я думаю, что ключ должен использовать CreateCompatibleBitmap. Я сообщу о своих выводах.

...