Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.10;
Скачать: CL | DM;

Вниз

Повернутый эллипс.   Найти похожие ветки 

 
Jimmy   (2006-11-26 15:54) [0]

Как в Delphi на MetaCanvas"е нарисовать эллипс, повернутый, например, на 45 градусов, но чтобы это был имеено эллипс, а не набор отрезочков? То есть чтобы после экспорта рисунка в wmf-файл, и после открытия этого файла например из CorelDraw последний воспринял бы объект как эллипс, а не как что-то другое.
Заранее спасибо.


 
Джо ©   (2006-11-26 16:26) [1]

var
 Mf: TMetafile;
 Mfc: TMetafileCanvas;
 XForm: TXForm;
begin
 Mf := TMetafile.Create;
 try
   Mfc := TMetafileCanvas.Create(Mf,0);
   try
     XForm.eM11 := 0.70710;   // cos 45
     XForm.eM12 := 0.70710;   // sin 45
     XForm.eM21 := -0.70710;  // -sin 45
     XForm.eM22 := 0.70710;   // cos 45
     XForm.eDx  := 0.0;       // x offset
     XForm.eDy  := 0.0;       // y offset
     SetWorldTransform(Mfc.Handle,XForm);
     Mfc.Ellipse(50,60,150,200);
   finally
     Mfc.Free;
   end;
   Mf.SaveToFile("d:\ellipse.emf");
 finally
   Mf.Free
 end;
end;

При открытии в Adobe Illustrator получается вполне себе эллипс, без всяких "черточек". CorelDraw нету, поэтому не знаю, что там будет :)


 
Джо ©   (2006-11-26 16:27) [2]

Да, требования к ОС — Windows NT 3.1 и выше. Windows 9x не поддерживает функции SetWorldTransform.


 
KilkennyCat ©   (2006-11-26 16:36) [3]

> [2] Джо ©   (26.11.06 16:27)

В военное время она там работает, вроде бы. Например, в арабских странах именно она заставит справа налево буковки писать... но, может, я и ошибаюсь :)


 
MBo ©   (2006-11-26 16:42) [4]

еще один способ - рассчитать 4 кривых Безье для частей эллипса, произвести преобразование координат контрольных точек вручную, отрисовать кривые.



Страницы: 1 вся ветка

Текущий архив: 2006.12.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
4-1153835150
Kolan
2006-07-25 17:45
2006.12.10
Работа с TApdComPort(Async Professional) и с RS485...


6-1153140838
xman
2006-07-17 16:53
2006.12.10
Смена IP адреса


15-1163932576
Palladin
2006-11-19 13:36
2006.12.10
CrystalReports


1-1161768709
BFG9k
2006-10-25 13:31
2006.12.10
Как скачать каринку с помощью idHTTPServer


15-1164106468
zdm
2006-11-21 13:54
2006.12.10
IDSmtp