rysowanie canvasem przeroczystego tekstu [PILNE]

0

Mam Panel, a Panel.color = clNone. W ten panel wkleiłem sobie Image:TImage. Panel służy mi jako ekran filmu, który puszczam z MediaPlayer, tzn. MediaPlayer.Display = Panel. No i chcę , żeby obszar Image.Picture służył mi za obszar do wyswietlania napisów, ale za chiny nie mogę zrobić tak, żeby pojawiały się tylko napisy, bez tego całego tła Image. Co trzeba zrobić, żeby było widać tylko napisy, bez tła? Image.Transparent := true nic nie daje. Sprawę komplikuje, że na panelu jest coś wyświetlane, więc ciągle pojawia się inne tło.

Ja mam tak:

var pros: TRect;
begin
       Image1.Picture := TPicture.Create;
       pros := Rect(0,0,Image1.Width,Image1.Height);
       With Image1.Canvas do
       Begin
               brush.Color := clblack; //w końcu wymaolowałem to tło na czarno, bo normalnie jest na biało
               Rectangle(pros);
               Font.Color:=clwhite;//Ustaw kolor czcionki na czerwony
               Font.Size:=15;//Ustaw wielkość czcionki na 12
                     //TextOut(Image1.Width div 2, Image1.Height - 40, 'dupa');
               DrawText(Handle,'dupa1' + sLineBreak + 'dupa2',-1,pros,DT_CENTER or DT_VCENTER);
       End;
end;
0

brush.Style := bsNone;

eystarczy helpa odpalić...

0

no ale o czym Ty mówisz? brush.Style nie może być w ogóle bsNone, to nie ten typ. Jak już to bsClear, tyle, że ten styl nic nie daje.

0

a wlasnie ze ten styl daje i to duzo tylko trzeba go odpowiednio uzyc. najpierw malujesz co tam chcesz a przed wypisaniem tekstu ustawiasz na bsclear.
Przykładów masz dużo nawet na tej stronie znajdziesz artykuły i temety temu poświęcone.
Odrobine wysiłku...

1 użytkowników online, w tym zalogowanych: 0, gości: 1