Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,104
1

масштабирование объектов, изображений

02.10.2010, 03:10. Просмотров 2014. Ответов 3
Метки нет (Все метки)

Если в MS Word скопировать рисунок из внешнего графического файла, то там появляется рамка вокруг изображения с маркерами, для его масштабирования (тянуть влево, вправо, вверх и т. п.). Так вот возникает вопрос: как это сделать в C# (Windows Forms .NET)? Аналогичной возможностью обладает визуальный конструктор Visual studio. Хотелось бы или свой контрол сделать или использовать существующий. Я пока что ничего лучше не придумал, как создавать 8 кнопок - маркеров вокруг изображения и по события OnPain рисовать рамку вокруг него вручную. Но этот вариант требует большого количества кода и немного тяжеловат в плане производительности. Подскажите более удобный вариант.
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2010, 03:10
Ответы с готовыми решениями:

Масштабирование объектов
Добрый день!!!!!! Посоветуйте как осуществить следующюю задумку. Имеется форма. На ней...

Масштабирование графических объектов
Помогите реализовать масштабирование некого геометрического объекта на С# под VS2008. 1. Объект...

Масштабирование изображений
Всем доброго времени! Не могу никак совладать с масштабированием изображений. Есть кнопка...

Масштабирование изображений
необходимо в программе реализовать масштабирование изображений( по нажатию определенных клавиш) -...

3
Почетный модератор
Эксперт .NET
8688 / 3640 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
02.10.2010, 03:21 2
Недавно статья проскакивала на habrahabr.ru, по поводу "векторного редактора", там это оговаривалось.
1
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,104
02.10.2010, 03:55  [ТС] 3
Я её уже прочитал. Немного не ясно как они обрабатывают события от маркера, создаваемого Figure.CreateMarkers(). В идеале хотелось бы, чтобы не нажатия и перемещение мыши над формой обрабатывались, а готовые Event - ы для каждого из маркеров.
Вот метод
C#
1
2
3
4
5
6
7
8
9
10
//поиск фигуры, по данной точке
    Figure FindFigureByPoint(Point p)
    {
      //ищем среди маркеров
   ...
      //затем ищем среди плоских фигур
 ...
      //затем ищем среди линий
     ...
    }
Это все занимает время. То есть они ищут среди всех элементов схемы, в какой элемент нажал пользователь. А это при большом к-ве (допустим 200 элементов схемы) займет процессорное время.
Идеально было бы, если бы каждый маркер был отдельным элементом, который принимает события нажатия от Windows.
0
51 / 49 / 7
Регистрация: 09.11.2010
Сообщений: 93
14.11.2010, 13:15 4
Цитата Сообщение от galileopro Посмотреть сообщение
Это все занимает время. То есть они ищут среди всех элементов схемы, в какой элемент нажал пользователь. А это при большом к-ве (допустим 200 элементов схемы) займет процессорное время.
Идеально было бы, если бы каждый маркер был отдельным элементом, который принимает события нажатия от Windows.
Во-первых, перебор 200 элементов в цикле это ничтожное время по сравнению со скоростью клика человеком мышки. И этим временем можно пренебречь. Во-вторых, windows точно так же перебирает элементы для поиска контрола, по которому кликнули.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2010, 13:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Масштабирование изображений в TImage
Доброго времени суток уважаемые программисты, пишу программу для просмотра изображений. Вопрос...

Canvas масштабирование изображений
Объясните, каким образом реализовать возможность масштабирования канваса вместе с содержимым (с...

Масштабирование векторных изображений
Приветствую! Пишу программу для работы с огромным колличеством векторных объектов(может быть более...

Урок геометрии, масштабирование изображений
Задача: Есть картинка 100x100 px на которой нарисован смайлик необходимо наложить этот смайлик...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.