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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2009, 19:56   #1
BuT@JL
Форумчанин
 
Регистрация: 27.11.2008
Сообщений: 137
По умолчанию Как убрать задний фон у image

проблема такая. Загружаю в image картинку с расширением png. Ставлю у image свойство transparent=true, фон синий и первый пиксель синий. а фон не убирается.
BuT@JL вне форума Ответить с цитированием
Старый 17.08.2009, 19:59   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Пиксель должен быть не первым, лево-нижне угловым. Тогда имадже возьмет цвет этого пиксела как прозрачный.
Изображения
Тип файла: jpg Этот.JPG (1.5 Кб, 300 просмотров)
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 17.08.2009, 20:02   #3
856100
Форумчанин
 
Регистрация: 12.08.2008
Сообщений: 135
По умолчанию

1. фон определяется ЛЕВЫМ НИЖНИМ пикселем.
2. можно поступить так:
Код:
//В процедуре создания формы
Image1.Picture.Bitmap.TransparentColor=RGB(0,0,255);
image1.Picture.Bitmap.Transparent:=True;
тогда фон будет тем цветом, который укажете вы.
Будь проще, бери пример с одноклеточных
856100 вне форума Ответить с цитированием
Старый 17.08.2009, 20:04   #4
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Для прозрачности используется левый нижний угол
psycho-coder вне форума Ответить с цитированием
Старый 17.08.2009, 20:10   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

<offtop>
Молодцы, два раза повторили одно и тоже.
</offtop>
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 17.08.2009, 20:19   #6
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Цитата:
Сообщение от BuT@JL Посмотреть сообщение
проблема такая. Загружаю в image картинку с расширением png. Ставлю у image свойство transparent=true, фон синий и первый пиксель синий. а фон не убирается.
Вообще-то для работы с PNG не подходит стандартный Image.
Используй AlphaSkins - бесплатно и очень продвинуто.
Хотя бы потому что как бы ты не старался применить правильные советы данные выше, все равно найдется картинка с, например, тенью и как раз вот тут "стандартная" прозрачность не подойдет ...
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 17.08.2009, 20:25   #7
BuT@JL
Форумчанин
 
Регистрация: 27.11.2008
Сообщений: 137
По умолчанию

Цитата:
Сообщение от psycho-coder Посмотреть сообщение
Для прозрачности используется левый нижний угол
Я его тоже пробывал не получается
BuT@JL вне форума Ответить с цитированием
Старый 17.08.2009, 20:26   #8
BuT@JL
Форумчанин
 
Регистрация: 27.11.2008
Сообщений: 137
По умолчанию

Цитата:
Сообщение от Kotofff Посмотреть сообщение
Вообще-то для работы с PNG не подходит стандартный Image.
Я использую дополнительный компонент pngimage
BuT@JL вне форума Ответить с цитированием
Старый 17.08.2009, 20:28   #9
BuT@JL
Форумчанин
 
Регистрация: 27.11.2008
Сообщений: 137
По умолчанию

Проблема в том что у jpg и bmp фон убирается, а у png не убирается
BuT@JL вне форума Ответить с цитированием
Старый 18.08.2009, 11:18   #10
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Используй объекты TBitMap. В uses добавь PNGImage
Код:
var MyBitMap1: TPNGObject;
                MyBitMap2: TBitMap;
 // в процедуре FormCreate :
 begin
   MyBitMap1:= TPNGObject.Create;
   MyBitMap2:= TBitMap.Create;
   MyBitMap1.LoadFromFile('рисунок1.png');
   MyBitMap2.Width:= MyBitMap1.Width;
   MyBitMap2.Height:= MyBitMap1.Height;
   MyBitMap2.Canvas.Draw(0,0,MyBitMap1);
   MyBitMap2.Transparent:= true;
 end;
Получишь в MyBitMap2 рисунок без потерь качества и с прозрачностью.Если несколько рисунков, то аналогично можно с остальными рисунками и затем их соединать/выводить на другом объекте TBitMap, на форме или на Image.
И не сомневайся даже ... отдых - кайф, работа - лажа!

Последний раз редактировалось DeKot; 18.08.2009 в 11:24.
DeKot вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как разместить картинку в фон на сайт? ILLUSION Помощь студентам 8 12.05.2009 22:04
можно ли убрать фон у рисунка? Xeon332 HTML и CSS 5 26.02.2009 21:39
Некликабельная область (содержимое как фон) alex-ks HTML и CSS 13 05.02.2009 21:28
окно на задний план RammFan Общие вопросы Delphi 3 25.11.2007 15:11
ЗАДНИЙ ФОН ПАПКИ В XP BanDit Свободное общение 3 16.06.2007 21:37