powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Resample TBitmap с альфа-каналом
5 сообщений из 5, страница 1 из 1
Resample TBitmap с альфа-каналом
    #39926940
O_O_P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ищу код (как можно проще) для изменения размера со сглаживанием TBitmap с альфа-каналом. С поддержкой 64 бит.
Ресайз с SetStretchBltMode(Bitmap.Canvas.Handle, STRETCH_HALFTONE); удаляет альфа-канал.
WIC не предлагать, это на самый край.
В сети нашёл старый код для C ( http://www.geisswerks.com/ryan/FAQS/resize.html). Но уж слишком сложный для меня, тем более для перевода с поддержкой x64.
...
Рейтинг: 0 / 0
Resample TBitmap с альфа-каналом
    #39927006
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_O_P,

Поищите здесь .
Например graphics32 , по описанию вроде умеет работать с альфаканалом.
И какие-то ресамплеры там есть.
...
Рейтинг: 0 / 0
Resample TBitmap с альфа-каналом
    #39927710
O_O_P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp,
Мне нужно заресайзить TBitmap и передать дальше хэндл.
Graphics32 обратно TBitmap с альфа-каналом вернуть не может. Он хорош для отображения в несколько слоёв, иначе и Canvas.StretchDraw достаточно.
Vampire Image Library может так. Но. TImagingBitmap.Assign(Bmp) при обратном Assign даёт артефакты. Через TSingleImage и Stream load/save получается без артефактов. Но ресайз в библиотеке плохой - часто даёт "сеточку" при уменьшении размеров. Но мультиплатформа.
Остаётся GDI+, но в dll у меня были проблемы.
...
Рейтинг: 0 / 0
Resample TBitmap с альфа-каналом
    #39927717
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рисуешь содержимое TBitmap на TBitmap32 ресайзишь и рисуешь результат обратно.

Если скорость не слишком важна - нормальное решение.
...
Рейтинг: 0 / 0
Resample TBitmap с альфа-каналом
    #39927722
Sapersky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смотря какое сглаживание нужно. Билинейка по 4-м точкам достаточно простая, можно скопипастить из FastDIB, например, и поправить под TBitmap.
Но там свои ограничения, при масштабе меньше 0.5 качество ухудшается.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Resample TBitmap с альфа-каналом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]