Как ресайзить текст????
От: DiRSDN Ниоткуда  
Дата: 08.08.04 11:44
Оценка:
На канве рисую текст, но проблема на канвеесть рисунок который ресайзится и в месте с ним мне нужно ресайзить и текст, а текст то к пикселям привязан и не ресайзится , посоветуйтечто нибудь!!!
Текст вывожу через TextOut or TextDraw

Размер рисунка изменяется автоматом при прорисовке, а текст не меняет свой размер,
можно конечно изменять Font.Size но даже при значении 1 текст слишком велик! Мне нужен меньше

procedure TForm1.FormPaint(Sender: TObject);
begin
SetMapMode(FORM1.Canvas.Handle, MM_ANISOTROPIC);
SetViewPortOrgEx(FORM1.CANVAS.Handle, ((HWidth div 2)+Sx), ((HHeight div 2)+Sy), nil);
SetWindowExtEx(FORM1.CANVAS.Handle, 200+10*Mashtab, 200+10*Mashtab, nil);
SetViewPortExtEx(FORM1.CANVAS.Handle, HWidth, -HHeight, nil);
Процедура рисования
end;
Re: Как ресайзить текст????
От: B_A_D Израиль  
Дата: 08.08.04 13:56
Оценка:
Здравствуйте, DiRSDN, Вы писали:

DRS>На канве рисую текст, но проблема на канвеесть рисунок который ресайзится и в месте с ним мне нужно ресайзить и текст, а текст то к пикселям привязан и не ресайзится , посоветуйтечто нибудь!!!

DRS>Текст вывожу через TextOut or TextDraw

DRS>Размер рисунка изменяется автоматом при прорисовке, а текст не меняет свой размер,

DRS>можно конечно изменять Font.Size но даже при значении 1 текст слишком велик! Мне нужен меньше

DRS>procedure TForm1.FormPaint(Sender: TObject);

DRS>begin
DRS> SetMapMode(FORM1.Canvas.Handle, MM_ANISOTROPIC);
DRS> SetViewPortOrgEx(FORM1.CANVAS.Handle, ((HWidth div 2)+Sx), ((HHeight div 2)+Sy), nil);
DRS> SetWindowExtEx(FORM1.CANVAS.Handle, 200+10*Mashtab, 200+10*Mashtab, nil);
DRS> SetViewPortExtEx(FORM1.CANVAS.Handle, HWidth, -HHeight, nil);
DRS>Процедура рисования
DRS>end;



создаешь фонт через CreateFont с нужным тебе резмером(размер сделай пропорциональным области вывода)
и выбираешь его с помощью SelectObject(HDC,hFont);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.