Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Ant1gon
0 / 0 / 1
Регистрация: 31.03.2015
Сообщений: 12
#1

Поворот изображения в PictureBox

22.10.2015, 23:34. Просмотров 626. Ответов 10
Метки нет (Все метки)

прошу помощи.
задача повернуть нарисованьІй прямоугольник.
есть такое
C++
1
2
3
4
5
6
private: System::Void pictureBox1_Paint(System::Object^  sender, System::Windows::Forms::PaintEventArgs^  e) 
         {
             int x=100, t=130;
                 e->Graphics->DrawRectangle(Pens::Black, x,t,20,40);
                 pictureBox1->Image->RotateFlip(RotateFlipType::Rotate90FlipX);
                 };
при работе вьІдает ошибку :

Необработанное исключение типа "System.NullReferenceException" произошло в System.Drawing.dll

Дополнительные сведения: Object reference not set to an instance of an object.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2015, 23:34
Ответы с готовыми решениями:

[Графический редактор] Как осуществить поворот изображения в PictureBox?
Есть pictureBox. Нужно осуществить поворот изображения. Подскажите как...

Масштабирование изображения в PictureBox
Подскажите, как реализовать масштабирование получаемой картинки по размеру...

Путь для загрузки изображения в pictureBox
В программе предусмотрен pictureBox в который в определенной последовательности...

Изменение изображения в picturebox нажимая на пункты listbox
Я только начал изучать C++ и никак не могу найти пример того что мне нужно. Не...

Что быстрее или как убрать задержку, при присваивании изображения PictureBox?
Добрый день. Столкнулся с такой проблемой. Точнее "некрасивостью". Когда я жму...

10
tezaurismosis
Администратор
Эксперт .NET
8480 / 3807 / 723
Регистрация: 17.04.2012
Сообщений: 8,505
Записей в блоге: 14
29.10.2015, 17:09 #2
Какой-то из объектов равен nullptr и вы пытаетесь к нему обратиться. К какому? Остаётся только гадать. Если у вас ошибка компиляции, приводите строку, в которой она возникла.
В качестве предположения, тут
C++
1
pictureBox1->Image->RotateFlip(RotateFlipType::Rotate90FlipX);
Видимо, картинку в PictureBox вы не загрузили.
0
Ant1gon
0 / 0 / 1
Регистрация: 31.03.2015
Сообщений: 12
30.10.2015, 00:36  [ТС] #3
при удалении строки
C++
1
pictureBox1->Image->RotateFlip(RotateFlipType::Rotate90FlipX);
ошибка исчезает. проблема не при компиляции, а именно при отрисовке.
0
tezaurismosis
Администратор
Эксперт .NET
8480 / 3807 / 723
Регистрация: 17.04.2012
Сообщений: 8,505
Записей в блоге: 14
30.10.2015, 07:10 #4
Цитата Сообщение от Ant1gon Посмотреть сообщение
проблема не при компиляции, а именно при отрисовке.
Ну хорошо, ошибка времени выполнения. Моё предыдущее сообщение остаётся в силе - Image не загружен. Там должна быть картинка.
0
Ant1gon
0 / 0 / 1
Регистрация: 31.03.2015
Сообщений: 12
31.10.2015, 04:32  [ТС] #5
а разве єто
C++
1
e->Graphics->DrawRectangle(Pens::Black, x,t,20,40);
не считается Image ?
0
tezaurismosis
Администратор
Эксперт .NET
8480 / 3807 / 723
Регистрация: 17.04.2012
Сообщений: 8,505
Записей в блоге: 14
31.10.2015, 07:25 #6
Ant1gon, нет.
0
Ant1gon
0 / 0 / 1
Регистрация: 31.03.2015
Сообщений: 12
31.10.2015, 14:26  [ТС] #7
ех=(
а есть ли вариант повернуть єто
C++
1
e->Graphics->DrawRectangle(Pens::Black, x,t,20,40);
на 90 градусов?
0
tezaurismosis
Администратор
Эксперт .NET
8480 / 3807 / 723
Регистрация: 17.04.2012
Сообщений: 8,505
Записей в блоге: 14
31.10.2015, 16:41 #8
Ant1gon, просто перерисуйте в повёрнутом на 90 градусов положении.
0
Ant1gon
0 / 0 / 1
Регистрация: 31.03.2015
Сообщений: 12
01.11.2015, 09:18  [ТС] #9
как? менять вручную точки?
0
tezaurismosis
Администратор
Эксперт .NET
8480 / 3807 / 723
Регистрация: 17.04.2012
Сообщений: 8,505
Записей в блоге: 14
01.11.2015, 11:47 #10
Да, так будет проще, по-моему.
Только если рисовать там немного. Иначе нужно сохранить всё нарисованное в предварительно созданный Image (или Bitmap), поворачивать его и рисовать обратно. Как по мне - из-за одного прямоугольника так заморачиваться не стоит.
1
Ant1gon
0 / 0 / 1
Регистрация: 31.03.2015
Сообщений: 12
01.11.2015, 13:24  [ТС] #11
спасибо за дельньІе советьІ.
0
01.11.2015, 13:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2015, 13:24

Поворот относительно произвольной точки
Здравствуйте. Занимаюсь 2d преобразованиями на форме. У меня получается...

Поворот изображения в PictureBox
В PictureBox загружается изображение, далее поворачивается на 270 градусов вот...

Поворот изображения в picturebox
Я хочу чтобы при клике п. к. мыши поворачивалось изображение в pictureBox1. ...


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

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

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