Главная страница
    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.45 MB
Время: 0.041 c
15-1164093975
Russ
2006-11-21 10:26
2006.12.10
numpages +1 в Ворде


2-1164270535
webpauk
2006-11-23 11:28
2006.12.10
как правильно записать следующую конструкцию?


2-1164273589
webpauk
2006-11-23 12:19
2006.12.10
array


1-1162125556
Yuiop
2006-10-29 15:39
2006.12.10
Конвертировать из Rave в *.doc


15-1164123137
oldman
2006-11-21 18:32
2006.12.10
Назовите любое n-значное простое число...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский