Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.03 c
3-1160041068
Kolan
2006-10-05 13:37
2006.12.10
Проектирование иерархической БД.


15-1163624797
unknown
2006-11-16 00:06
2006.12.10
GMail


3-1160113762
svt
2006-10-06 09:49
2006.12.10
Уважаемые мастера, подскажите как правильно выполнить


10-1126181335
WhiteMag
2005-09-08 16:08
2006.12.10
Уничтожение сервера приложений


15-1164221174
vruslana
2006-11-22 21:46
2006.12.10
Не получаеться описать функцию




   Наверх