Форум: "Основная";
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];
ВнизПроблемы с метафайлом Win95/98/2000 Найти похожие ветки
← →
Анонимщик (2002-02-26 20:51) [4]Вот простой пример, который показывает, что, если рисовать так, как в борландовском хелпе написано, то получится совсем не то. Я рисую два одинаковых (по размерам) прямоугольника друг возле друга, но, когда смотрю на результат, вижу, что прямоугольники эти имеют разные, на самом, деле, размеры, и имеют сдвиг, который я не предусматривал. Вот код. И что же теперь делать? Все сразу я не могу рисовать.
TMetafile* pMetafile = new TMetafile();
pMetafile->MMWidth = 21000;
pMetafile->MMHeight = 29700;
pMetafile->Inch = 1440;
float coeffHor = (float) pMetafile->Width / (float)
pMetafile->MMWidth;
float coeffVert = (float) pMetafile->Height / (float)
pMetafile->MMHeight;
int coeff8600Hor = coeffHor * 8600;
int coeff5400Vert = coeffVert * 5400;
TRect rect;
TMetafileCanvas* pMCanvas = new TMetafileCanvas(pMetafile, 0);
pMCanvas->Draw(0, 0, pMetafile);
rect.Left = 0;
rect.Top = 0;
rect.Right = rect.Left + coeff8600Hor;
rect.Bottom = rect.Top + coeff5400Vert;
pMCanvas->Rectangle(rect);
pMCanvas->Free();
pMCanvas = new TMetafileCanvas(pMetafile, 0);
pMCanvas->Draw(0, 0, pMetafile);
rect.Left = rect.Right;
rect.Top = 0;
rect.Right = rect.Left + coeff8600Hor;
rect.Bottom = rect.Top + coeff5400Vert;
pMCanvas->Rectangle(rect);
pMCanvas->Free();
Clipboard->Assign(pMetafile);
pMetafile->Free();
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c