0 / 0 / 1
Регистрация: 31.03.2015
Сообщений: 20

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

22.10.2015, 23:34. Показов 4836. Ответов 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
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.10.2015, 23:34
Ответы с готовыми решениями:

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

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

Удаление изображения из PictureBox
Всем привет! Вопрос такой, как удалить изображение из PictureBox, которое было загружено из файла? В C# есть следующий аналог: A1.Image...

10
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
29.10.2015, 17:09
Какой-то из объектов равен nullptr и вы пытаетесь к нему обратиться. К какому? Остаётся только гадать. Если у вас ошибка компиляции, приводите строку, в которой она возникла.
В качестве предположения, тут
C++
1
pictureBox1->Image->RotateFlip(RotateFlipType::Rotate90FlipX);
Видимо, картинку в PictureBox вы не загрузили.
0
0 / 0 / 1
Регистрация: 31.03.2015
Сообщений: 20
30.10.2015, 00:36  [ТС]
при удалении строки
C++
1
pictureBox1->Image->RotateFlip(RotateFlipType::Rotate90FlipX);
ошибка исчезает. проблема не при компиляции, а именно при отрисовке.
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
30.10.2015, 07:10
Цитата Сообщение от Ant1gon Посмотреть сообщение
проблема не при компиляции, а именно при отрисовке.
Ну хорошо, ошибка времени выполнения. Моё предыдущее сообщение остаётся в силе - Image не загружен. Там должна быть картинка.
0
0 / 0 / 1
Регистрация: 31.03.2015
Сообщений: 20
31.10.2015, 04:32  [ТС]
а разве єто
C++
1
e->Graphics->DrawRectangle(Pens::Black, x,t,20,40);
не считается Image ?
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
31.10.2015, 07:25
Ant1gon, нет.
0
0 / 0 / 1
Регистрация: 31.03.2015
Сообщений: 20
31.10.2015, 14:26  [ТС]
ех=(
а есть ли вариант повернуть єто
C++
1
e->Graphics->DrawRectangle(Pens::Black, x,t,20,40);
на 90 градусов?
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
31.10.2015, 16:41
Ant1gon, просто перерисуйте в повёрнутом на 90 градусов положении.
0
0 / 0 / 1
Регистрация: 31.03.2015
Сообщений: 20
01.11.2015, 09:18  [ТС]
как? менять вручную точки?
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
01.11.2015, 11:47
Лучший ответ Сообщение было отмечено Ant1gon как решение

Решение

Да, так будет проще, по-моему.
Только если рисовать там немного. Иначе нужно сохранить всё нарисованное в предварительно созданный Image (или Bitmap), поворачивать его и рисовать обратно. Как по мне - из-за одного прямоугольника так заморачиваться не стоит.
1
0 / 0 / 1
Регистрация: 31.03.2015
Сообщений: 20
01.11.2015, 13:24  [ТС]
спасибо за дельньІе советьІ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.11.2015, 13:24
Помогаю со студенческими работами здесь

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

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

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

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

Поворот изображения против часовой стрелки в picturebox
Добрый день. Это поворот по часовой, pictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone); ...


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

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

Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru