Как сделать инструмент выделения прямоугольника с изменяемыми размерами? - PullRequest
6 голосов
/ 04 апреля 2009

Я пытаюсь написать очень простой редактор фотографий, используя C # 2008 или QT4.

Как сделать инструмент выделения прямоугольника с изменяемыми размерами, как в фотошопе?

Ответы [ 4 ]

5 голосов
/ 04 апреля 2009

Если вы говорите о прямоугольнике выделения типа «классическая» «резиновая полоса», посмотрите Как нарисовать прямоугольник с круглой резинкой или прямоугольник фокусировки в Visual C # .

3 голосов
/ 04 апреля 2009

Qt имеет класс для этого:

http://doc.trolltech.com/4.5-snapshot/qrubberband.html

3 голосов
/ 04 апреля 2009

Пример кода WPF: http://www.codeproject.com/KB/WPF/wpfmarchingants.aspx?display=Print

Это немного сложнее, потому что включает обрезку изображения, но если вы прокрутите вниз до прямоугольника выбора, вы увидите основные формулы для вычисления прямоугольника: http://69.10.233.10/KB/WPF/ImageCropper.aspx

Наконец, еще один, использующий GDI: http://codelog.blogial.com/2008/10/31/rubber-band-selection-rectangle-in-c/

Если вы предоставите больше подробностей, я уверен, что мы можем помочь вам больше.

2 голосов
/ 04 апреля 2009

Я не знаю конкретных звонков, но идея такова:

Вы хотите нарисовать прозрачный прямоугольник с непрозрачной или пунктирной границей. Прямоугольник появляется при нажатии кнопки мыши. Пока кнопка удерживается, размер прямоугольника будет изменяться при перемещении мыши, при этом верхняя левая точка находится в том месте, где была нажата кнопка, а нижняя правая - после мыши при ее перемещении. При отпускании кнопки прямоугольник фиксирует свое положение в области выбора.

Вы должны быть в состоянии выяснить подробности из ресурса в пространстве имен C # Drawing.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...