[Delphi] Jak "przepisać" tekst z RichEdit na Canvans

0

Tak jak w temacie.
A dokładniej chce 'nartysować' tekst w Image który wpisano wcześniej w RichEdit nie pomijając wielkości czcionki, koloru, kroju itp.
Próbowałem pobierać każdą literkę po kolei i rysować na canvansie, działa ale tylko wtedy gdy mają tą samą wielkość i krój ;-|
Może jest jakiś komponent ?

0

A czy przy każdej kolejnej literce sprawdzałeś jej dane fonta i przypisywałeś canvasowi?

0

hmm
może coś takiego :
begin
image1.canvas.font.color := richedit1.Font.Color;
image1.canvas.font.size := richedit1.Font.size;
image1.canvas.textout(10,10,'' + (richedit1.Lines.Strings[0]));
image1.canvas.textout(10,25,'' + (richedit1.Lines.Strings[1]));
end;
pisałem z pamięci i nie wiem czy działa :-)

0

A czy przy każdej kolejnej literce sprawdzałeś jej dane fonta i przypisywałeś canvasowi?

Jasne :-) ale chodzi o to ze jeżeli się zmieni rozmiar czcionki to trzeba zacząć rysować w innym miejscu tj jerzeli jest wiekesza (czcionka w RichtEdit) to powinno sie zacząć rysować na canvansie 'wyrzej'
Jest funksja canvas.TextHeight działa ale jak sie zmieni czcionkę to wszystko się kopie :-[

0

Użyj Canvasa RichEdita. A jeżeli takowego nie ma, to sobie stwórz używając GetWindowHandle i GetDC.

0

chyba nie zrozumiałem
niby coś takiego
[code]
var
can : TBitmap;
begin

can := TBitmap.Create;
can.Canvas.Handle := GetDC(RichEdit1.Handle);
Image1.Canvas.Draw(1,1,can);// := can
can.Free;
end;
[/code]
bo to nie działa ;-( canvas jest cały biały,

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