Что мне нужно сделать, чтобы преобразовать DIB в BMP?Что мне нужно сделать, чтобы преобразовать DIB в BMP?
ответ
Проверьте API GdipCreateBitmapFromGdiDib
Пример: http://www.codeproject.com/KB/GDI-plus/DIBtoBitmap.aspx
Imagemagick's функция преобразования будет делать это (и многие другие преобразования) для вас в командной строке. Свободный, с открытым исходным кодом, доступный на всех основных платформах. Это отличный инструмент, который должен быть в чьей-либо панели инструментов.
Документация типов заголовков растровых изображений находится на http://msdn.microsoft.com/en-us/library/dd183386%28VS.85%29.aspx.
В коде разница между файлом bmp и представлением памяти DIB заключается в наличии структуры BITMAPFILEHEADER в начале (http://msdn.microsoft.com/en-us/library/dd183374(v=vs.85).aspx). Таким образом, буквальный ответ для преобразования bmp в dib - это пропустить BITMAPFILEHEADER и начать с адреса памяти заголовка DIB (сразу после заголовка файла растрового изображения), который всегда находится в 14 байтах от начала адреса памяти bmp.
BITMAPFILEHEADER *bmp = ...;
char * bmpBytes = reinterpret_cast<char *>(bmp);
void * myDib = (void *)bmpBytes + BMP_HEADER_LENGTH; /* (14 bytes) */
/* cast and do something with myDib */
...
НТН
- 1. Что мне нужно сделать, чтобы использовать Guice?
- 2. Что мне нужно сделать, чтобы решить «java.lang.IllegalArgumentException»?
- 3. Что мне нужно сделать, чтобы сделать поле в SOLR отсортированным?
- 4. мне нужно, чтобы преобразовать строку в андроид
- 5. чтобы преобразовать javascript в разные языки программирования, что мне нужно?
- 6. Этот код делает то, что мне нужно, чтобы сделать
- 7. Что мне нужно сделать сейчас?
- 8. Что мне нужно здесь сделать?
- 9. Что нужно сделать, чтобы преобразовать программу в надежную версию OpenMP?
- 10. Что нужно сделать, чтобы преобразовать приложение бутстрапа в угловое
- 11. Что мне нужно сделать, чтобы блог работал в рельсах 4.2?
- 12. Что мне нужно сделать, чтобы использовать com.jprofiler.agent.Controller в моем коде?
- 13. Что мне нужно сделать, чтобы хранить объекты в RavenDB?
- 14. Что мне нужно сделать, чтобы функция isspace работала в C
- 15. Что мне нужно сделать, чтобы преобразовать представления в мое приложение Rails из HAML в ERB?
- 16. Что мне нужно сделать, чтобы заплатить за Схему?
- 17. Что мне нужно знать, чтобы сделать такую анимацию?
- 18. Что мне нужно импортировать, чтобы сделать `SparkConf` разрешимым?
- 19. Что мне нужно сделать, чтобы установить ограничение на UICollectionView
- 20. Что мне нужно сделать, чтобы заставить Fandjango работать?
- 21. Runescape Tracker - Что мне нужно знать, чтобы сделать его?
- 22. Что мне нужно сделать, чтобы получить libegl.lib на windows7?
- 23. Что мне нужно сделать, чтобы подготовить приложение к «производственной» среде?
- 24. Что мне нужно сделать, чтобы автоматически настроить камеру iPhone?
- 25. Что мне нужно сделать, чтобы портировать приложение администратора на интерфейс?
- 26. Что мне нужно сделать, чтобы отобразить это как изображение?
- 27. Что мне нужно сделать, чтобы отобразить все пользовательские ввод/выбор?
- 28. Что мне нужно сделать, чтобы применить `sort` к этому типу?
- 29. Что мне нужно сделать, чтобы связаться с xlib?
- 30. Что мне нужно сделать, чтобы этот метод обрезки работал?
Где именно команду утилиты DOS. Кажется, он не находит его, только полный исходный код. – Rick 2011-05-12 16:06:53