Как открыть GDI + Bitmap в режиме только для чтения? - PullRequest
2 голосов
/ 13 июня 2010

Я хочу открыть изображение (jpeg, bmp), используя GDI + в режиме только для чтения, в c ++。 Как я могу это сделать? Большое спасибо 100

Ответы [ 2 ]

1 голос
/ 13 июня 2010

В аспекте файла изображения он всегда только для чтения.MSDN Gdiplus :: Image :: Save :

GDI + не позволяет сохранять изображение в том же файле, который использовался для его создания.

В аспекте изображения в памяти оно никогда только для чтения.Когда загружено как Gdiplus :: Bitmap или Gdiplus :: Image, изображение всегда можно изменить - вы не можете предотвратить создание Gdiplus :: Graphics, который манипулирует им.

0 голосов
/ 13 июня 2010

Файловый ввод / вывод в стандартах C и C ++ не имеет понятия файла только для чтения. Вы просто открываете файл для чтения, а не для записи. Использование iostreams:

#include <fstream>
std::ifstream f( "jgeg.bmp", std::ios::binary );

Использование потоков в стиле C:

#include <cstdio>
FILE * f = fopen( "jpeg.bmp", "rb" );
...