Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Разрезать прямоугольник на части / 7 сообщений из 7, страница 1 из 1
05.03.2014, 14:24
    #38579002
Shaman Weeder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрезать прямоугольник на части
Всем привет!
На форме имеются 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.

Подскажите, пожалуйста, с какой стороны подступиться?
Спасибо.
...
Рейтинг: 0 / 0
05.03.2014, 14:25
    #38579007
Shaman Weeder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрезать прямоугольник на части
вот рисунок:
...
Рейтинг: 0 / 0
05.03.2014, 14:31
    #38579024
Shaman Weeder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрезать прямоугольник на части
Собственно, сложность не в самом коде вычисления переменной и назначения её в качестве следующей ширины, а в размещении прямоугольников один за другим в PictureBox.
...
Рейтинг: 0 / 0
05.03.2014, 14:37
    #38579041
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрезать прямоугольник на части
Shaman Weederсложность ... в размещении прямоугольников один за другим в PictureBox.
В чём именно? посчитать, где рисовать? или собственно в рисовании? А, может, проще тупо посчитать размеры/координаты, и динамически добавлять да в нужных местах формы показывать лабелы без текста, нужного цвета? Нафиг тут пикчербокс?
...
Рейтинг: 0 / 0
05.03.2014, 14:42
    #38579047
Shaman Weeder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрезать прямоугольник на части
AkinaShaman Weederсложность ... в размещении прямоугольников один за другим в PictureBox.
В чём именно? посчитать, где рисовать? или собственно в рисовании? А, может, проще тупо посчитать размеры/координаты, и динамически добавлять да в нужных местах формы показывать лабелы без текста, нужного цвета? Нафиг тут пикчербокс?

Вполне возможно...
Посчитать-то не трудно! Возникла проблема с рисованием прямоугольников: первый рисуется нормально, а второй со сдвигом на значение Lobj рисуется не правильно - меньше, чем задано. Не пойму почему. Возможно из-за того, что координаты двух углов первого прямоугольника совпадают с координатами углов второго...
...
Рейтинг: 0 / 0
05.03.2014, 15:15
    #38579096
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрезать прямоугольник на части
Скорее из-за единиц измерения. Масштабируйте всё в пикселы...
...
Рейтинг: 0 / 0
05.03.2014, 15:48
    #38579146
Shaman Weeder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрезать прямоугольник на части
AkinaСкорее из-за единиц измерения. Масштабируйте всё в пикселы...
Спасибо, попробую. Потом отпишусь.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Разрезать прямоугольник на части / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]