|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.04.2013, 22:11 | #1 |
Пользователь
Регистрация: 05.01.2013
Сообщений: 61
|
Как из TImageList'a, состоящий из PNG, вывести нужный в TImage
Есть TImageList (DelphiXE), состоящий из картинок PNG размером 32х32, как из такого ImageList вывести нужную картинку в TImage.
Если написать: код Pascal/Delphi Код:
|
15.04.2013, 22:22 | #2 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
Лучше png картинки храни в ресурсах, так проще всего, а оттуда уже в имаги, какие хочешь, грузи напрямую. Тоже этим долго мучался.
alextrof94$gmail.com
|
15.04.2013, 22:24 | #3 |
Пользователь
Регистрация: 05.01.2013
Сообщений: 61
|
|
15.04.2013, 22:28 | #4 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
где то читал, что можно использовать маски, т.е. хранишь в 24бит (bmp) изображения в imagelist, и по 8бит маски (ч/с/б тоже в bmp), а затем перемножая их получаешь что хочешь, собственно как раз так и происходит хранение альфа канала, в отдельных 8ми битах на пиксель. особенно вглубь не копал, потому как в тот момент как раз хотел изучить ресы, изучил - радуюсь)
alextrof94$gmail.com
Последний раз редактировалось alextrof94; 15.04.2013 в 22:44. |
16.04.2013, 10:11 | #5 |
Форумчанин
Регистрация: 27.09.2008
Сообщений: 152
|
если не ошибаюсь то в имг листе есть индексы картинок
|
16.04.2013, 10:18 | #6 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
ты не ошибаешься, только вопрос другой. это все равно что:
" -Чуваки, у меня, когда еду, слышен стук из движка, в чем может быть проблема? -Машина с помощью ключа заводится. "
alextrof94$gmail.com
|
16.04.2013, 12:07 | #7 |
Пользователь
Регистрация: 05.01.2013
Сообщений: 61
|
Если в Image1 загрузить Png-картинку прямо с диска, а в Image2
загрузить через код: Код:
Также не помогло: Код:
|
16.04.2013, 14:04 | #8 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
TransparentColor установите нужный - получите прозрачность
|
16.04.2013, 14:06 | #9 |
Пользователь
Регистрация: 05.01.2013
Сообщений: 61
|
|
16.04.2013, 17:15 | #10 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
Я же говорю, мучался с этим долго, в итоге нашел 2 выхода, хранить файлы в ресурсах, или же хранить 8-бит маску отдельно от 24-битного изображения, а затем при загрузке изображения перемножать 24бит на 8бит, получая тем самым 32 битное изображение с альфа-каналом. А transparentcolor применяется там где нет альфа-канала, а только фон надо убрать одноцветный (например зеленый #00FF00).
alextrof94$gmail.com
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
отобразить png в определенном месте TImage | rokotokobot | Мультимедиа в Delphi | 1 | 27.03.2011 18:49 |
Вывести Timage на весь экран | igabenu | Общие вопросы Delphi | 1 | 29.01.2011 20:49 |
Загрузка PNG из dll в TImage | bombers | Помощь студентам | 1 | 27.01.2011 01:59 |
Дан массив, состоящий из символов. Вывести на экран цифру, наиболее часто встречающуюся в этом массиве. | Andros_me | Помощь студентам | 2 | 21.12.2010 08:50 |
Как вывести информацию при нажатии на ссылку в нужный div ??? | 333_org_ua | HTML и CSS | 1 | 13.11.2010 13:51 |