Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2010, 12:47   #1
AndreyFreeman
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 18
Восклицание PNG в Bitmap

Здравствуйте!
Подскажите пожалуйста, как можно сделать следующее:
1. Берём PNG картинку с прозрачным фоном
2. Загружаем её в Bitmap
3. Выводим полученный Bitmap с прозрачным фоном в Image

Спасибо
AndreyFreeman вне форума Ответить с цитированием
Старый 03.10.2010, 13:15   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

TPNGImage

Или обычный битмап с включенным Transparent
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 03.10.2010, 13:17   #3
fen1ksss
Пользователь
 
Регистрация: 29.11.2009
Сообщений: 44
По умолчанию

могу ошибаться, но из PNG в BMP прозрачный фон не конвертируется

а если просто через битмап то TPNGImage
fen1ksss вне форума Ответить с цитированием
Старый 03.10.2010, 13:18   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Если Вы о моем втором совете, то я предлагаю забыть про png и юзать битмап, нужные области которого залиты одним цветом (например $FF00FF).

Но лучше, как я уже сказал использовать TPNGImage и не TBitMap, а TPNGBitmap (или как он там называется)
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 03.10.2010, 13:32   #5
AndreyFreeman
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 18
По умолчанию

Спасибо. Но нет, мне нужна именно конвертация TPNG - TBitmap
AndreyFreeman вне форума Ответить с цитированием
Старый 03.10.2010, 13:36   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Создаете экземпляр от TPNGImage, в него загружаете то, что сейчас нарисовано на TBitMap. потом рисуете на нем с прозрачнстью PNG. Потом рисуете то, что получилось в итоге на TBitMap.

Извращение, ИМХО.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 03.10.2010, 13:42   #7
AndreyFreeman
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 18
По умолчанию

А это идея) Попробую)
AndreyFreeman вне форума Ответить с цитированием
Старый 03.10.2010, 17:35   #8
AndreyFreeman
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 18
По умолчанию

Нет, не получилось.. хех
AndreyFreeman вне форума Ответить с цитированием
Старый 04.10.2010, 09:39   #9
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от fen1ksss Посмотреть сообщение
могу ошибаться, но из PNG в BMP прозрачный фон не конвертируется

а если просто через битмап то TPNGImage
А как же 32х битные BITMAP? Обычно так все и делается, читается PNG потом считывается и формируется в 32х битный битмап, что дает HDC + HBITMAP, далее можно рисовать на чем угодно.
BOBAH13 вне форума Ответить с цитированием
Старый 04.10.2010, 18:45   #10
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
Лампочка

Ну вы даёте.....
Цитата:
Подскажите пожалуйста, как можно сделать следующее:
1. Берём PNG картинку с прозрачным фоном
2. Загружаем её в Bitmap
3. Выводим полученный Bitmap с прозрачным фоном в Image
Вы уверены что вам нужно именно это? Ибо стандартный TImage изначально не способен отображать полупрозрачные TBitmap...

Может вам нужно просто "отображать на форме картинку в формате png с полупрозрачностью"? Тогда всё сверхпросто:
Код:
Uses PNGImage;
...
Image1.Picture.LoadFromFile('C:\Tests\Pict6_128x128_32bit.png');
Цитата:
Но нет, мне нужна именно конвертация TPNG - TBitmap
Ну а если всё-таки так, то где-то antonn (введите в поисковик фразу "делфи, кликомания") давал пример работы с TPNGImage в этом плане...
Цитата:
Сообщение от Alex Cones Посмотреть сообщение
нужные области которого залиты одним цветом (например $FF00FF).
Эмм..... Когда говорят про PNG - почти всегда имеется ввиду полупрозрачность...))

Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
А как же 32х битные BITMAP?
Вы не помните сколько тут было тем про пресловутую полупрозрачность?
Ведь в каждой же второй обязательно кто-то рьяно доказывает что bmp не бывает полупрозрачным... ))
Народ же по большему счёту не в курсе как всё работает... =\\
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Bitmap _-Re@l-_ Мультимедиа в Delphi 2 21.07.2010 19:08
Ковертирование из png 24 бит в png 8 бит isat Общие вопросы .NET 0 22.03.2010 13:38
из-за чего появляется полоса (на скрине) при вставке BitMap в TImage? - Проблема с Bitmap Grey@2009 Мультимедиа в Delphi 2 02.01.2010 20:23
Bitmap? HunterMan Общие вопросы .NET 7 27.12.2008 19:02
Bitmap Is Vaild TaTT DoGG БД в Delphi 2 02.05.2008 04:05