Как извлечь коллекцию изображений из контейнера HEIF и наоборот ?
HEIF-это не такой уж новый контейнерный формат, который позволяет сжимать несколько изображений, их цветовые профили и миниатюры. Microsoft недавно добавила поддержку Windows 10 с расширениями изображений HEIF это только декодирует мастер - образ в контейнере.
Другие библиотеки C++ существуют в интернете, например либхейф что позволяет осуществлять больший контроль над этим типом контейнеров.
Мне нужна помощь в упаковке этой библиотеки (или аналогичной с такими функциями) в Компонент Среды Выполнения Windows (C++/WinRT) для повторного использования в других проектах (мой проект-это C# UWP)
Что я уже пробовал:
- Я попытался упаковать исходный код в новый проект компонента Windows Runtime внутри VS 2019, импортировав файлы: я получил сотни ошибок!
- Я попытался использовать инструмент CMake GUI для преобразования leibheif в проект sln: процесс не может быть завершен - все еще пытаюсь выяснить причину!
- попробовал открыть проект Cmake в VS и отредактировать заголовочный файл с помощью:
extern "C" __declspec(dllexport) struct heif_context* heif_context_alloc(void);
затем попытался построить DLL-файл... не смог вызвать ни одной функции в моем проекте при использовании:
[DllImport("ms-appx:///libheif.dll")]
Я уже пробовал этот и этот и этот ..... вот уже почти 6 месяцев у меня до сих пор нет ответа, как подойти к этому ... какая-нибудь помощь ? Я бы очень оценил это, если бы кто-то мог создать библиотеку C# с открытым исходным кодом !
p.s. Я не делаю проекты для получения прибыли. я просто пытаюсь сделать что-то, что другие могут найти полезным .. никаких денег, рекламы или чего-то подобного здесь нет.
Afzaal Ahmad Zeeshan
Если вы хотите получить доступ к кодам и библиотекам C++ в вашем C#, то лучше всего будет использовать C++ COM или... Или вы можете написать машинный код на управляемом языке C++ (C++/WinRT) и получить доступ к библиотекам из проекта C++/WinRT. Затем предоставьте этот проект C++/WinRT в качестве ссылки для вашего проекта C#.
Одна вещь, которую я могу порекомендовать здесь, Если вы хотите разработать приложение, которое в значительной степени зависит от компонентов C++, то лучше всего было бы разработать все приложение на C++; просто предложение!
Gerry Schmitz
У меня есть приложение UWP с более чем 100 изображениями, "встроенными" с использованием встроенных ресурсов.
Возможно, вам нужно "HEIF"; возможно, вы не.