Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.06.2011, 20:18
Аватар для DopInfa
DopInfa DopInfa вне форума
Прохожий
 
Регистрация: 09.06.2011
Сообщения: 13
Версия Delphi: 7
Репутация: 10
По умолчанию Фон в Delphi

Нужно вставить картинку в виде фона на форму с округлыми краями ~ 600x400
Сделал ее в фотошопе, но проблема, что прозрачность поддерживают только PNG и GIF. А в TImage не поддерживает данные форматы.

Подскажите как можно решить эту проблему? или есть другие способы как-то красиво оформить программу.
Ответить с цитированием
  #2  
Старый 20.06.2011, 20:55
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Делаем углы розового цвета (или любого другого неиспользуемого), ставим в TImage свойство Transparent в TRUE. Должно прокатить.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #3  
Старый 20.06.2011, 21:26
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Я так понимаю, ТС нужно несколько другое. Сделать программу нестандартной формы? Так?
Ответить с цитированием
  #4  
Старый 20.06.2011, 21:40
Аватар для DopInfa
DopInfa DopInfa вне форума
Прохожий
 
Регистрация: 09.06.2011
Сообщения: 13
Версия Delphi: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Я так понимаю, ТС нужно несколько другое. Сделать программу нестандартной формы? Так?
Нет. Возьмем например не фон, а кнопку.
Просто при добавление в TImage картинки в формате JPEG\BMP - прозрачность теряется и вокруг овальной, красивой кнопки - белый фон
Я решил эту проблему тем, что кнопка маленькая и ее можно превратить в формат .ico не потеряв прозрачность. А вот с фоном так не получается.

Последний раз редактировалось DopInfa, 20.06.2011 в 21:43.
Ответить с цитированием
  #5  
Старый 20.06.2011, 22:03
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Ну тогда как было сказано выше, дополнительно вывести на Canvas с прозрачностью можно функцией TransparentBlt.
Ответить с цитированием
  #6  
Старый 21.06.2011, 05:50
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Распакуйте архив в папку с проектом и добавте к проекту файл PngImage.pas.
Тогда у вас TImage начнет понимать формат PNG.
Вложения
Тип файла: rar PngImage.rar (34.4 Кбайт, 38 просмотров)
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.
Ответить с цитированием
  #7  
Старый 21.06.2011, 20:07
Аватар для DopInfa
DopInfa DopInfa вне форума
Прохожий
 
Регистрация: 09.06.2011
Сообщения: 13
Версия Delphi: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Karsh
Распакуйте архив в папку с проектом и добавте к проекту файл PngImage.pas.
Тогда у вас TImage начнет понимать формат PNG.
Как добавить к проекту PngImage.pas
Ответить с цитированием
  #8  
Старый 21.06.2011, 20:19
Janom Janom вне форума
Начинающий
 
Регистрация: 04.02.2011
Адрес: Москва
Сообщения: 148
Версия Delphi: 7
Репутация: 133
По умолчанию

Код:
uses
    ...Windows,...SysUtils,...PngImage;
И все его компоненты в папку с программой положи.
и потом используешь просто
Код:
Image1.Picture.LoadFromFile('Моя_Картинка.PNG');

Последний раз редактировалось Janom, 21.06.2011 в 20:22.
Ответить с цитированием
  #9  
Старый 21.06.2011, 20:32
einstein einstein вне форума
Начинающий
 
Регистрация: 02.09.2010
Адрес: Город
Сообщения: 143
Репутация: -4653
По умолчанию

а зачем на форму кидать картинку с прозрачностью чтобы фон формы было видно.
Ответить с цитированием
  #10  
Старый 21.06.2011, 20:38
Аватар для DopInfa
DopInfa DopInfa вне форума
Прохожий
 
Регистрация: 09.06.2011
Сообщения: 13
Версия Delphi: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от einstein
а зачем на форму кидать картинку с прозрачностью чтобы фон формы было видно.
Я же уже объяснил, что это может быть не только фон, а кнопка, нарисованная в фотошопе.
А с фоном, я придумал интересный дизайн, но нужна прозрачность. Щяс пробую добавить PNGImage
Ответить с цитированием
  #11  
Старый 21.06.2011, 20:42
einstein einstein вне форума
Начинающий
 
Регистрация: 02.09.2010
Адрес: Город
Сообщения: 143
Репутация: -4653
По умолчанию

покажешь потом?
Ответить с цитированием
  #12  
Старый 21.06.2011, 21:25
Аватар для DopInfa
DopInfa DopInfa вне форума
Прохожий
 
Регистрация: 09.06.2011
Сообщения: 13
Версия Delphi: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Janom
Код:
uses
    ...Windows,...SysUtils,...PngImage;
И все его компоненты в папку с программой положи.
и потом используешь просто
Код:
Image1.Picture.LoadFromFile('Моя_Картинка.PNG');
В uses добавил.

Потом так?

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
image1.Picture.LoadFromFile('fon.png');
end;
Ответить с цитированием
  #13  
Старый 22.06.2011, 08:56
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

http://data.cod.ru/112114
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #14  
Старый 24.06.2011, 03:49
Аватар для DopInfa
DopInfa DopInfa вне форума
Прохожий
 
Регистрация: 09.06.2011
Сообщения: 13
Версия Delphi: 7
Репутация: 10
По умолчанию

Решение найдено - AlphaSkins, в котором уже есть поддержка PNG.
Ответить с цитированием
  #15  
Старый 24.06.2011, 21:35
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Это не решение, это не умение решать проблемы самостоятельно.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:36.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter