Member 13674745 Ответов: 0

Как извлечь коллекцию изображений из контейнера 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"; возможно, вы не.

0 Ответов