09.11.2007, 13:21
общий
это ответ
Здравствуйте, Red Spirit!
Я немного модернизировал ваш код и первоначально пишу в битмапе,
а затем копирую в Имаже поработайте с CopyMode и у вас все получится
Приложение:
procedure DisplayText(txt: String; Cnv: TCanvas);var lf: TLogFont; bit: TBitMap; rec: TRect;begin bit:= TBitMap.Create; bit.Width:= Form1.Image1.Width; bit.Height:= Form1.Image1.Height; rec:= Rect(0, 0, bit.Width, bit.Height); FillChar(lf, SizeOf(lf), 0); with lf do begin lfHeight := 25; lfWidth := 20; lfEscapement := 450; lfWeight := 0; lfItalic := 0; lfUnderline := 0; lfStrikeOut := 0; lfCharSet := RUSSIAN_CharSet; StrCopy(lfFaceName, ‘Arial‘); end; with bit.Canvas do begin Font.Handle := CreateFontIndirect(lf); font.Color:=clRed; TextOut(10, 100, txt); end; Form1.Image1.Canvas.CopyRect(rec, bit.Canvas, rec); bit.Free;end;procedure TForm1.BitBtn1Click(Sender: TObject);begin Image1.Canvas.CopyMode:= cmSrcAnd; DisplayText(‘Hello!‘,Image1.Canvas); Image1.Refresh;end;