Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
05.03.2014, 14:24
|
|||
---|---|---|---|
|
|||
Разрезать прямоугольник на части |
|||
#18+
Всем привет! На форме имеются PictureBox, Label и 3 Textbox'a, в которые будут вводиться размеры: 1) Textbox1 = ширина листа (Wmat); 2) Textbox2 = ширина объекта (Wobj); 3) Textbox3 = длина объекта (Lobj). PictureBox и есть ширина листа (Wmat). Длина его не имеет значения. Label выводит количество полученных частей. Задача: при вводе Wobj и Lobj в PictureBox рисуется прямоугольник по введённым размерам и, если его Wobj > Wmat, появляется MsgBox: "Ширина изображения больше ширины материала. Повернуть или разрезать?" Если нажимаем "Повернуть", то прямоугольник разворачивается вдоль листа, а если "Разрезать", то режется на части, равные ширине листа, т.е. Wmat. Далее эти части располагаются одна за другой вдоль длины листа, а последней становится остаток. (см. рисунок) Вопрос: каким способом это можно реализовать? Думаю, что должно использоваться что-то, типа, Do While... Loop, т.е. сравнивается значение Wobj с Wmat. Если оно больше, то переменная Y = Wobj - Wmat и назначается уже в качестве Wobj для первой части, потом для второй и так далее, пока не станет меньше или равна Wmat. Результат деления мы видим в графическом виде, а количество частей - в Label. Подскажите, пожалуйста, с какой стороны подступиться? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2014, 14:25
|
|||
---|---|---|---|
|
|||
Разрезать прямоугольник на части |
|||
#18+
вот рисунок: ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2014, 14:31
|
|||
---|---|---|---|
|
|||
Разрезать прямоугольник на части |
|||
#18+
Собственно, сложность не в самом коде вычисления переменной и назначения её в качестве следующей ширины, а в размещении прямоугольников один за другим в PictureBox. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2014, 14:37
|
|||
---|---|---|---|
Разрезать прямоугольник на части |
|||
#18+
Shaman Weederсложность ... в размещении прямоугольников один за другим в PictureBox. В чём именно? посчитать, где рисовать? или собственно в рисовании? А, может, проще тупо посчитать размеры/координаты, и динамически добавлять да в нужных местах формы показывать лабелы без текста, нужного цвета? Нафиг тут пикчербокс? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2014, 14:42
|
|||
---|---|---|---|
|
|||
Разрезать прямоугольник на части |
|||
#18+
AkinaShaman Weederсложность ... в размещении прямоугольников один за другим в PictureBox. В чём именно? посчитать, где рисовать? или собственно в рисовании? А, может, проще тупо посчитать размеры/координаты, и динамически добавлять да в нужных местах формы показывать лабелы без текста, нужного цвета? Нафиг тут пикчербокс? Вполне возможно... Посчитать-то не трудно! Возникла проблема с рисованием прямоугольников: первый рисуется нормально, а второй со сдвигом на значение Lobj рисуется не правильно - меньше, чем задано. Не пойму почему. Возможно из-за того, что координаты двух углов первого прямоугольника совпадают с координатами углов второго... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2014, 15:15
|
|||
---|---|---|---|
Разрезать прямоугольник на части |
|||
#18+
Скорее из-за единиц измерения. Масштабируйте всё в пикселы... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=60&tablet=1&tid=2156478]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 150ms |
0 / 0 |