Алгоритм C# для генерации изображения (2048x2048) из некоторых изображений

То, что я хотел бы сделать, это создать изображение (2048x2048 в моем случае) Алгоритм должен работать следующим образом:

-Пользователь выбирает несколько изображений из папки и говорит моей программе "создать изображение"

-Программа проверки, если можно поместить все изображения в одно изображение (проблема с размером), в противном случае возвращает сообщение об ошибке

-Программа находит правильный способ размещения всех изображений внутри изображения, а затем предлагает пользователю выбрать путь сохранения (очевидно, старые изображения не должны быть изменены / вырезаны)

Проблема, очевидно, является последним шагом, я на самом деле не имею понятия, как это сделать, также есть еще одна вещь, которую программа должна проверить, если имя файла изображения myimage_1 и есть "myimage_2", эти изображения должны быть помещены рядом друг с другом. (одинаково для 3,4 и т. д.)

Может кто-то помочь мне с этим?

1 ответ

Решение

Для меня это выглядит как многомерная проблема с рюкзаком. Больше информации здесь. Конечно, могут быть простые решения, так как я не эксперт в области, и мои классы алгоритмов далеко позади меня! Возможно, в любом случае это поможет запустить поток:)

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

Другие вопросы по тегам