Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2009.04.12;
Скачать: [xml.tar.bz2];

Вниз

Wmf, SetWorldTransform и МеtaFileCanvas   Найти похожие ветки 

 
Jimmy   (2007-10-15 21:54) [0]

Если построить эллипс на MetaFileCanvas, потом повернуть его с помощью SetWorldTransform и сохранить в wmf, то этот эллипс сохраняется не как "эллипс", а как "набор кривых, напоминающих эллипс", причем приближение грубое. Если сохранять в emf, то эллипс вообще не повернут. Вопрос: можно повернуть эллипс без SetWorldTransform, но чтоб он остался эллипсом в полном смысле слова или как корректно сохранить все это в wmf или emf после SetWorldTransform? Я как-то уже задавал похожий вопрос, но проблема осталась, позволю себе сделать это еще раз. Заранее спасибо!


 
MBo ©   (2007-10-16 05:36) [1]

стоит свои слова подтверждать кодом.


procedure TForm2.Button1Click(Sender: TObject);
var
 emf: TMetaFile;
 mfc: TMetaFileCanvas;
 xf: TXForm;
begin
 emf:= TMetaFile.Create;
 emf.Enhanced := True;
 mfc:= TMetaFileCanvas.Create(emf, 0);
 xf.eM11 := 0.7;
 xf.eM12 := -0.7;
 xf.eM21 := 0.7;
 xf.eM22 := 0.7;
 xf.eDx := 0;
 xf.eDy := 100;
 SetWorldTransform(mfc.Handle, xf);
 mfc.Ellipse(0, 100, 200, 200);
 mfc.Free;
 Canvas.Draw(0,0,emf);
 emf.SaveToFile("e:\test.emf");
 emf.Free;
end;


 
Jimmy   (2007-10-16 20:33) [2]

Прежде всего большое спасибо за ответ! Стал сравнивать этот код со своим, и пришел к выводу что делаю практически тоже самое. Что же не так? Я определял, что моя программа некорректно создает emf-файл потому что после открытия его в Corel Draw, он отображался некорректно. Не мог же я подумать, что ошибается Corel. Установил еще разные просмотрщики, и к удивлению обнаружил, что все они отображают этот emf-файл по разному. "Просмотр изображений и факсов Windows" - так как я задумал, ACDSee растягивает рисунок, Irfan - корректно, Corel - вообще криво. Не поделитесь мыслями по этому поводу?


 
sdubaruhnul ©   (2007-10-16 20:42) [3]

>Jimmy   (16.10.07 20:33) [2]

Из перечисленных тобой программ только Corel Draw - редактор.


 
MBo ©   (2007-10-17 07:02) [4]

>все они отображают этот emf-файл по разному
Возможно, надо установить MMHeight и MMWidth


 
Jimmy   (2007-10-18 17:06) [5]

>MBo
Не помогло. Все равно ACDSee не правильно трактует размер, а Corel не поворачивает эллипс.


 
Ins ©   (2007-10-19 11:50) [6]


> а Corel не поворачивает эллипс.

Рискну предположить, что дело в отсутствии вызова
SetGraphicsMode(GM_ADVANCED);

Хотя может и нет, who knows...



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

Форум: "Media";
Текущий архив: 2009.04.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
2-1235045880
charoey_mag
2009-02-19 15:18
2009.04.12
Права доступа


15-1233663867
Кто б сомневался
2009-02-03 15:24
2009.04.12
Юмористические шоу


15-1234363562
Просто_ прохожий
2009-02-11 17:46
2009.04.12
Прерывается доступ в Internet


2-1235073098
LDV
2009-02-19 22:51
2009.04.12
Почему возвращается пустая строка


15-1234347409
KSergey
2009-02-11 13:16
2009.04.12
Про стандартный FireWall Windows





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский