Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

FastReport 3.0 + Bmp


Ganda ©   (2008-05-19 16:09:00) 

Есть отчет созданный на FastReport-е 3.0. Динамично загружаю изображение у него!! В нём подпись и вокруг этой подписи всё белое! Хотелось узнать как можно избавится от белого фона и сделать его прозрачным? Т.е. что было видно тока подпись
загружаю так изображение
TfrxPictureView(FindObject('Picture2')).Picture.LoadFromFile('123.bmp');


Ganda   (2008-05-20 14:52:00) [1]

Да уж выход найден буду писать на канве!! Да здраствует быстродействие и низкийуровень программирования )) Всем спасибо з ответы и за время которое отнял у вас!!


Style   (2008-05-20 11:53:00) [2]


> а фотошоп не выход!! Программа будет рабоать там где меня
> нету и никогда не будет!!


И что там будет меняться фон??? Или кто-то будет его менять?

Вообще я посмотрел описание класса TfrPictureView так вот там есть метод
Draw.

Можно в принципе попробовать создать наследника

 TfrMyPictureView = class(TfrPictureView)
 public
   procedure Draw(Canvas: TCanvas); override;
 end;


Динамически добавить его экземпляр на страницу отчета.
Ну и соотвественно реализовать метод уже по своему.


Ganda   (2008-05-20 09:55:00) [3]

да уверен что именно белый цвет иначе бы не работал следующий код

with Form1 do
begin
   BS.LoadFromFile('sb.bmp');
   BS.Transparent:= True;
   BS.TransparentColor:= clWhite;
   Canvas.Draw(1, 2, BS);
end;

а фотошоп не выход!! Программа будет рабоать там где меня нету и никогда не будет!!


ЮЮ   (2008-05-20 09:53:00) [4]

> на заднем фоне стоит голубой фон


тогда и '123.bmp' надписи следует писать на голубом фоне, коль TfrxPictureView не поддерживает Transparent (а именно так следует понимать отсутствие у него свойства Transparent).

З.Ы. FastReport-ом не обладаю, так что действенных способов по реальной прозрачности предложить не могу.


Style   (2008-05-20 09:50:00) [5]


>    TfrxPictureView(FindObject('Picture3')).Picture.Bitmap.
> TransparentColor:= clWhite;


Ты уверен что там действительно White??? Может там куча других цветов?

Да и вообще, что мешает взять фотошоп сделать подпись на голубом фоне?


Ganda   (2008-05-20 09:29:00) [6]

на заднем фоне стоит голубой фон

а для TfrxPictureView нету таких свойств TransparentColor, Transparent (((


ЮЮ   (2008-05-20 09:18:00) [7]

> нём подпись и вокруг этой подписи всё белое! Хотелось узнать
> как можно избавится от белого фона и сделать его прозрачным


Неужели белое так видно на бумаге?

З.Ы. Почему бы эту надпись просто не вывести в FastReport-е? Зачем посредник в виде '123.bmp' ?


> где то так Я делал!

Всё это делать надо не для TfrxPictureView.Picture.Bitmap, для TfrxPictureView


Ganda   (2008-05-20 08:48:00) [8]

Результат тот же!! Когда грузишь изображение и выводишь на экран с помощью канвы все замечательно работает!!


Ganda   (2008-05-20 07:26:00) [9]

TfrxPictureView(FindObject('Picture3')).Picture.Bitmap.LoadFromFile('123.bmp');
   TfrxPictureView(FindObject('Picture3')).Picture.Bitmap.TransparentColor:= clWhite;
   TfrxPictureView(FindObject('Picture3')).Picture.Bitmap.Transparent:= True;

где то так Я делал!


Style   (2008-05-19 16:23:00) [10]

справку по свойству Transparent у TBitmap смотрите.


Наверх

Титульная страница Поиск, карта сайта Написать письмо