Конференция "Media" » FastReport 3.0 + Bmp
 
  • Ganda (19.05.08 16:09) [0]
    Есть отчет созданный на FastReport-е 3.0. Динамично загружаю изображение у него!! В нём подпись и вокруг этой подписи всё белое! Хотелось узнать как можно избавится от белого фона и сделать его прозрачным? Т.е. что было видно тока подпись
    загружаю так изображение
    TfrxPictureView(FindObject('Picture2')).Picture.LoadFromFile('123.bmp');
  • Style © (19.05.08 16:23) [1]
    справку по свойству Transparent у TBitmap смотрите.
  • Ganda (20.05.08 07:26) [2]
    TfrxPictureView(FindObject('Picture3')).Picture.Bitmap.LoadFromFile('123.bmp');
       TfrxPictureView(FindObject('Picture3')).Picture.Bitmap.TransparentColor:= clWhite;
       TfrxPictureView(FindObject('Picture3')).Picture.Bitmap.Transparent:= True;

    где то так Я делал!
  • Ganda (20.05.08 08:48) [3]
    Результат тот же!! Когда грузишь изображение и выводишь на экран с помощью канвы все замечательно работает!!
  • ЮЮ © (20.05.08 09:18) [4]
    > нём подпись и вокруг этой подписи всё белое! Хотелось узнать
    > как можно избавится от белого фона и сделать его прозрачным


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

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


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

    Всё это делать надо не для TfrxPictureView.Picture.Bitmap, для TfrxPictureView
  • Ganda (20.05.08 09:29) [5]
    на заднем фоне стоит голубой фон

    а для TfrxPictureView нету таких свойств TransparentColor, Transparent (((
  • Style © (20.05.08 09:50) [6]

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


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

    Да и вообще, что мешает взять фотошоп сделать подпись на голубом фоне?
  • ЮЮ © (20.05.08 09:53) [7]
    > на заднем фоне стоит голубой фон


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

    З.Ы. FastReport-ом не обладаю, так что действенных способов по реальной прозрачности предложить не могу.
  • Ganda (20.05.08 09:55) [8]
    да уверен что именно белый цвет иначе бы не работал следующий код

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


    а фотошоп не выход!! Программа будет рабоать там где меня нету и никогда не будет!!
  • Style © (20.05.08 11:53) [9]

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


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

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

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

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



    Динамически добавить его экземпляр на страницу отчета.
    Ну и соотвественно реализовать метод уже по своему.
  • Ganda (20.05.08 14:52) [10]
    Да уж выход найден буду писать на канве!! Да здраствует быстродействие и низкийуровень программирования )) Всем спасибо з ответы и за время которое отнял у вас!!
 
Конференция "Media" » FastReport 3.0 + Bmp
Есть новые Нет новых   [133929   +472][b:0][p:0.001]