pDC->Rectangle(int(x-dl-i*q),y-z-i,int(x+dl+i*q),y+z+i);
pDC->Ellipse(int(x-dl-i*q),y-z-i,int(x+dl+i*q),y+z+i);
pDC->Ellipse(int(x+dl+i*q),y-z-i,int(x+dl+i*q),y+z+i);
прямоугольник и 2 эллипса(MFC)
Это 2 одинаковых.
Код:
Буду очень признателен за помощь.
И задача поставлена абсолютно некорректно - не понятно что именно нужно сделать... если просто нарисовать в произвольном месте 2 эллипса - разбей прямоугольник на 2 равных и в каждом нарисуй по эллипсу - они не будут пересекаться
В названии темы надо указывать язык программирования.Это MFC ? Где рисоват[COLOR="Red"][/COLOR]ь ? модератор.
Цитата: m_Valery
В названии темы надо указывать язык программирования.Это MFC ? Где рисоват[COLOR="Red"][/COLOR]ь ? модератор.
Это явно MFC ;)
Код:
Cdlg1 d; // îáúÿâëåíèå îáúåêòà êëàññà Cdlg1
d.DoModal(); // âûçîâ ìîäàëüíîãî äèàëîãîâîãî îêíà
x=d.m_XX; // Ïðèñâàåâàíèå ïåðåìåííûì çíà÷åíèé ïîëåé
y=d.m_YY;
z=d.m_K;
dl=d.m_dl;
if ((x<0 || x > 600) ||(y<0 || y > 400)||(z<0))
d.DoModal(); // âûçîâ ìîäàëüíîãî äèàëîãîâîãî îêíà
x=d.m_XX; // Ïðèñâàåâàíèå ïåðåìåííûì çíà÷åíèé ïîëåé
y=d.m_YY;
z=d.m_K;
dl=d.m_dl;
if ((x<0 || x > 600) ||(y<0 || y > 400)||(z<0))
Остальные параметры задают расположение на экране и ширину(+длину) обьекта.
комменты жгут :)
Цитата: mitrof4nov
Да, MFC.
Остальные параметры задают расположение на экране и ширину(+длину) обьекта.
Код:
...
Остальные параметры задают расположение на экране и ширину(+длину) обьекта.
Млиииин... а постановка задачи где?
Вобщем так. Пусть у тебя есть координаты прямиугольника: (x1,y1) (x2, y2)
тогда элипсы рисуй так:
для первого:
центр - x1 + (x2-x1)/4; (y1+y2)/2
радиус X - (x2-x1)/4
радиус Y - (y2-y1)/2
для второго:
центр - x2 - (x2-x1)/4; (y1+y2)/2
радиус X - (x2-x1)/4
радиус Y - (y2-y1)/2
Ты этого хотел?