Всем привет! Давно я не брал в руки шашки (С)
Собственно, вопрос в названии темы. Расшифрую: имеется две картинки (1 и 2). Нужно создать третью, содержащую 1 и 2, склеенные, допустим, по горизонтали.
Подскажите направление решения.
Как склеить изображения?
Сообщений 1 страница 4 из 4
Поделиться104.04.2024 07:16:02
Поделиться204.04.2024 10:30:55
КЭС
Будучи не зная как это делать могу предположить. Сначала разобраться с форматом изображения чтобы получить доступ к растровым данным, чтобы узнать сколько байт приходится на пиксел. Узнать ширину картинки и высоту, удостоверится что произведение байт*ширину*высоту получается длина данных файла без заголовочной информации. Далее считываем строку пикселов левого файла и присоединяем строку правого файла, при учёте одинаковости форматов, иначе придётся сначала преобразовать в неиндексированный png (с прозрачностью) или bmp. О, неиндексированный как раз полноцветный и будет иметь одинаковый формат. Далее придётся изменить данный в заголовке файла. Скорее всего нужна структура, которая определяет заголовочные данные и определяет как читать файл. Возможно стоит спросить на оф.форуме, так как там могут дать ссылку на готовый вариант структуры, как мне дали по формату иконки ico.
Поделиться304.04.2024 10:59:30
AZJIO, спасибо за внимание к теме и за ответ! Картинки одного формата, с одним разрешением. Загружаю обычным LoadImage(), создаю третье изображение CreateImage(), размером с удвоенной шириной (высотой - не важно), а дальше не пойму, как загруженные картинки в третье поместить, каждое со своими начальными координатами.
Поделиться404.04.2024 11:40:10
Вопрос снимаю: разобрался. Вспомнил, как применять DrawImage()