
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.02.2020, 23:33
|
|||
|---|---|---|---|
|
|||
Resample TBitmap с альфа-каналом |
|||
|
#18+
Ищу код (как можно проще) для изменения размера со сглаживанием TBitmap с альфа-каналом. С поддержкой 64 бит. Ресайз с SetStretchBltMode(Bitmap.Canvas.Handle, STRETCH_HALFTONE); удаляет альфа-канал. WIC не предлагать, это на самый край. В сети нашёл старый код для C ( http://www.geisswerks.com/ryan/FAQS/resize.html). Но уж слишком сложный для меня, тем более для перевода с поддержкой x64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.02.2020, 13:53
|
|||
|---|---|---|---|
Resample TBitmap с альфа-каналом |
|||
|
#18+
O_O_P, Поищите здесь . Например graphics32 , по описанию вроде умеет работать с альфаканалом. И какие-то ресамплеры там есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.02.2020, 00:17
|
|||
|---|---|---|---|
|
|||
Resample TBitmap с альфа-каналом |
|||
|
#18+
alekcvp, Мне нужно заресайзить TBitmap и передать дальше хэндл. Graphics32 обратно TBitmap с альфа-каналом вернуть не может. Он хорош для отображения в несколько слоёв, иначе и Canvas.StretchDraw достаточно. Vampire Image Library может так. Но. TImagingBitmap.Assign(Bmp) при обратном Assign даёт артефакты. Через TSingleImage и Stream load/save получается без артефактов. Но ресайз в библиотеке плохой - часто даёт "сеточку" при уменьшении размеров. Но мультиплатформа. Остаётся GDI+, но в dll у меня были проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.02.2020, 01:00
|
|||
|---|---|---|---|
Resample TBitmap с альфа-каналом |
|||
|
#18+
Рисуешь содержимое TBitmap на TBitmap32 ресайзишь и рисуешь результат обратно. Если скорость не слишком важна - нормальное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.02.2020, 04:27
|
|||
|---|---|---|---|
|
|||
Resample TBitmap с альфа-каналом |
|||
|
#18+
Смотря какое сглаживание нужно. Билинейка по 4-м точкам достаточно простая, можно скопипастить из FastDIB, например, и поправить под TBitmap. Но там свои ограничения, при масштабе меньше 0.5 качество ухудшается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2038590]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
69ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 360ms |

| 0 / 0 |
