Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103

Динамический поворот изображения

12.10.2016, 03:29. Показов 1726. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему не удаётся при движении, развернуть изображение в pictureBox на 180 градусов с отражением ???

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void timer1_Tick(object sender, EventArgs e)
        {       
            if (x > pictureBox1.Width - 129 || x < 0) dx = -dx;
            if (y > pictureBox1.Height-120 || y < 0) dy = -dy;
            if (x == 10)
            {
              
               // pictureBox2.Image = new Bitmap(@"D:\Мусор\Копия images.JPG");
               //pictureBox2.BackgroundImage = Image.FromFile(@"D:\Мусор\Копия images.JPG");
                pictureBox2.BackgroundImage.RotateFlip(RotateFlipType.Rotate180FlipX);
            }
          
            x += dx;
            y += dy;
            pictureBox2.Location = new Point(x,y);       
        }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.10.2016, 03:29
Ответы с готовыми решениями:

Поворот изображения
понимаю, что тема уже заезжана, но все равно ничего путного не нашел. есть usercontrol, на нем рисуются изображения через .drawimage, можно...

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

Поворот изображения на форме
Как сделать чтобы при нажатии на кнопку изображение на форме(без использования pictureBox) поворачивалось на угол в 135 градусов?

9
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
12.10.2016, 09:26
Лучший ответ Сообщение было отмечено OwenGlendower как решение

Решение

Дума вот так будет лучше.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Rotate
{
    public partial class Form1 : Form
    {
        float _Xpos = 0;
        float _Ypos = 0;
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            _Xpos++;
            Invalidate();
        }
 
        protected override void OnPaint(PaintEventArgs e)
        {
            e.Graphics.RotateTransform(_Xpos / 10);
            e.Graphics.DrawImage(Pic._1, _Xpos, _Ypos);
        }
    }
}
Но если Вы всеже в пикчерБоксе хотите крутить картинку то по аналогии делайте (как в OnPaint)
Миниатюры
Динамический поворот изображения  
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
12.10.2016, 12:00  [ТС]
Sanya_sa,прЮвет!!! Очередная попытка(My(EN)) скромными средствами сделать что то.
Pacman мой тоже хочет жрать(Шутка),но зарежут.
Вложения
Тип файла: rar WindowsFormsApplication_Test_Vector_F.rar (68.8 Кб, 13 просмотров)
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
12.10.2016, 12:05
Ну что можно сказать. Вот читайте Архитектура ПО в WinForms (FAQ & HowTo).
У Вас подход в корне не правельный.
1
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
12.10.2016, 12:34  [ТС]
https://ru.wiktionary.org/wiki/правильный8-


Добавлено через 3 минуты
Пардон!https://ru.wiktionary.org/wiki/правильный

Добавлено через 5 минут
Sanya_sa, всё это к чему.Работа с векторами не простая штука .Я пытаюсь всё это понять попроще.О!!!

Добавлено через 11 минут
Если бы кто то разжевал!!!

C#
1
2
3
4
5
6
7
8
9
 private void timer1_Tick(object sender, EventArgs e)
        {
            
            x += dx;// Как работает в программе???
            y += dy;
            pictureBox2.Location = new Point(x,y);
        
 
        }
Добавлено через 2 минуты
А про архитектуру я уже читал.
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
12.10.2016, 13:43
C#
1
2
3
4
5
6
7
8
9
10
11
// Обработчик события таймера
private void timer1_Tick(object sender, EventArgs e)
{
            // К переменной x прибавляется значение dx (у аналогично)
            x += dx;
            y += dy;
           
            // Положение pictureBox2 (верхний левый угол) устанавливается в координаты x, y
            pictureBox2.Location = new Point(x,y);
        
}
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
14.10.2016, 11:57  [ТС]
Sanya_sa,обратите внимание ! Запись переменных аналогична,но работает всё по разному.Разве это не одно и тоже???

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
     int location = 2;
        int location1 = 2;
        int y;
        int x;
        int dx=2;
        int dy=2;
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (x > pictureBox1.Width - 100 || x < 0) location1 = -location1;
            if (y > pictureBox1.Height - 50 || y < 0) location = -location;
            x+=location;
            y+=location;
            pictureBox2.Location = new Point(x, y);
        }
        
        private void timer2_Tick(object sender, EventArgs e)
        {
            if (x > pictureBox1.Width - 100 || x < 0) dx = -dx;
            if (y > pictureBox1.Height - 50 || y < 0) dy = -dy;
            x+= dx;
            y+= dy;
            pictureBox2.Location = new Point(x, y);
        }
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
14.10.2016, 12:00  [ТС]
Приложение:
Вложения
Тип файла: rar WindowsFormsApplication_Test5.rar (38.7 Кб, 18 просмотров)
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
14.10.2016, 12:12
Цитата Сообщение от Веселый Посмотреть сообщение
Sanya_sa,обратите внимание ! Запись переменных аналогична,но работает всё по разному.Разве это не одно и тоже???
Разная ))) Строка 11 и 12. Копипаст - зло!
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
16.10.2016, 02:49  [ТС]
Человеку свойственно ошибаться!!!

Добавлено через 4 минуты
Колипастом тут и не пахнет!!! Писалось всё вручную.

Добавлено через 2 часа 14 минут
Пардон.Копипастом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.10.2016, 02:49
Помогаю со студенческими работами здесь

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

Поворот изображения на заданный градус
Добрый вечер. Подскажете как сделать поворот изображения? Есть код: Graphics g = CreateGraphics(); Image img =...

Поворот изображения через SetPixel
Добрый вечер! У меня есть изображение, и есть заранее известный угол поворота. Можно ли как-нибудь повернуть изображение через SetPixel?...

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

Поворот изображения на определенный угол
Подскажите. Рисую некоторые объекты. Есть объект который должен поворачиваться за курсором мыши. Не пойму как сделать смещение после...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru