Получите ImageFormat от расширения файла

Если Вы объявляете это в mytest.c файл:

static int my_variable;

Тогда эта переменная может только быть замечена из этого файла. Переменная не может быть экспортирована больше никуда.

, Если Вы объявляете в функции, значение переменной сохранит свое значение каждым разом, когда функция вызвана.

А статическая функция не может быть экспортирована снаружи файла. Таким образом в *.c файл, Вы скрываете функции и переменные, если Вы объявляете их статичный.

26
задан Chris Dwyer 26 August 2009 в 21:58
поделиться

2 ответа

Вот какой-то старый код, который, как я обнаружил, должен помочь:

 string InputSource = "mypic.png";
 System.Drawing.Image imgInput = System.Drawing.Image.FromFile(InputSource);
 Graphics gInput = Graphics.fromimage(imgInput);
 Imaging.ImageFormat thisFormat = imgInput.RawFormat;

Это требует фактического открытия и тестирования изображения - расширение файла игнорируется. Предполагая, что вы все равно открываете файл, это намного надежнее, чем доверять расширению файла.

Если вы не открываете файлы, нет ничего «быстрее» (с точки зрения производительности), чем сравнение строк - конечно, нет вызов в ОС для получения сопоставлений расширений файлов.

33
ответ дан 28 November 2019 в 06:33
поделиться

см. Статью CodeProject о файловых ассоциациях http://www.codeproject.com/KB/dotnet/System_File_Association.aspx

1
ответ дан 28 November 2019 в 06:33
поделиться