/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
TextOut
Fra : Harald


Dato : 06-08-02 21:40

Hej

Jeg har et bitmap billede i en TImage, jeg skal have skrevet noget text i
dette billede, f.eks.

Image.Picture.Bitmap.Canvas.Font.Color:=clred;
Image.Picture.Bitmap.Canvas.TextOut(20,20,'TEST');

det virker også fint, jeg får skrevet TEST med rød, men texten står i en
hvid firkant. Hvordan undgår jeg denne firkant?

Mvh
HK




 
 
Juno (07-08-2002)
Kommentar
Fra : Juno


Dato : 07-08-02 04:02

Harald skrev i
news:3d50342b$0$89520$edfadb0f@dspool01.news.tele.dk

> Jeg har et bitmap billede i en TImage, jeg skal have skrevet noget
> text i dette billede, f.eks.
>
> Image.Picture.Bitmap.Canvas.Font.Color:=clred;
> Image.Picture.Bitmap.Canvas.TextOut(20,20,'TEST');
>
> det virker også fint, jeg får skrevet TEST med rød, men texten står i
> en hvid firkant. Hvordan undgår jeg denne firkant?

En løsning kunne være at oprette et nyt Bitmap object og skrive på det,
og sætte Transparent := True og TransparentColor := clWhite, og så
kopiere dette over i Image1.

Følgende er testet, og virker her.

edText er en TEdit.
*** \kode ***
procedure TForm1.btnWriteToBmpClick(Sender: TObject);
var
sz: TSize;
txtBmp: TBitmap;
begin
txtBmp := TBitmap.Create;
try
txtBmp.Canvas.Font.Size := 22;
txtBmp.Canvas.Font.Color := clRed;
sz := txtBmp.Canvas.TextExtent(edText.Text);
txtBmp.Height := sz.cy;
txtBmp.Width := sz.cx;
txtBmp.Canvas.Textout( 0, 0, edText.Text);
txtBmp.Transparent := True;
txtBmp.TransparentColor := clWhite;
Image1.Picture.Bitmap.Canvas.Draw( 20, 20, txtBmp);
finally
txtBmp.Free;
end;
end;
*** kode\ ***

--
*/*
jUno
spamfilter: Fjern din bh



Harald (07-08-2002)
Kommentar
Fra : Harald


Dato : 07-08-02 16:29

"Juno" <bauer.juno@dinbhget2net.dk> skrev i en meddelelse
news:3d508d63$0$78191$edfadb0f@dspool01.news.tele.dk...
> Harald skrev i
> news:3d50342b$0$89520$edfadb0f@dspool01.news.tele.dk
>
> > Jeg har et bitmap billede i en TImage, jeg skal have skrevet noget
> > text i dette billede, f.eks.
> >
> > Image.Picture.Bitmap.Canvas.Font.Color:=clred;
> > Image.Picture.Bitmap.Canvas.TextOut(20,20,'TEST');
> >
> > det virker også fint, jeg får skrevet TEST med rød, men texten står i
> > en hvid firkant. Hvordan undgår jeg denne firkant?
>
> En løsning kunne være at oprette et nyt Bitmap object og skrive på det,
> og sætte Transparent := True og TransparentColor := clWhite, og så
> kopiere dette over i Image1.

<KLIP>

Tak for svaret men jeg har fået et svar på samme spørgsmål i en anden
gruppe, og denne metode er lidt mere enkel , men din løsning virkede da
også fint.

ImageMain.Canvas.Font.Color:=clRed;
Imagemain.Canvas.Brush.Style:=bsClear;
ImageMain.Canvas.TextOut(20,20,'TEST');

Mvh
HK




Søg
Reklame
Statistik
Spørgsmål : 177496
Tips : 31968
Nyheder : 719565
Indlæg : 6408490
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste