Коды программ с графикой

Графику в Java обслуживают классы Graphics и Graphics2D.

Работа с графикой осуществляется в графическом контексте элементов, унаследованных от класса Component. Понимать это можно так: на элементах управления, например, JFrame, JPanel, JButton и других, есть возможность рисовать. Такие элементы обладают графическим контекстом, в этом контескте мы и рисуем. Всё, что нарисуем в контексте будет показано на элементе.

Классы Graphics и Graphics2D нужны для работы с графическим контекстом. Мы должны получить экземпляр такого класса и, используя его методы, рисовать. Получить экземпляр контекста можно в методе paint:

public void paint(Graphics g);

этот метод наследуется из класса Component. Аргумент Graphics g создаётся системой, а мы берём его в готовом виде и используем для рисования. При создании элемента метод paint будет вызван автоматически.

Начнём изучать работу с графикой в Java с класса Graphics.

Graphics

Рассмотрим простой пример использования методов класса Graphics в Java:

Лучшая IDE для Python!

Графика в Java

Получаем:

Ниже разбираются все методы, использованные в примере.

Как начертить прямую линию?

Метод drawLine класса Graphics начертит прямую линию:

g.drawLine(20, 30, 360, 30);

здесь 20, 30 — это координаты x, y начала линии,
360, 30 — координаты конца линии.

Как задать цвет?

Метод setColor класса Graphics сделает текущим новый цвет:

// Запоминаем исходный цвет;
Color oldColor = g.getColor();
// Создаём синий цвет;
Color newColor = new Color(0, 0, 255);
// Устанавливаем синий цвет;
g.setColor(newColor);
// Чертим линию синим цветом;
g.drawLine(20, 30, 360, 30);
// Восстанавливаем исходный цвет;
g.setColor(oldColor);

Аргументы конструктора new Color(0, 0, 255) — это красный, зелёный и синий цвета соответственно (rgb).

Как задать rgb цвета? В примере задан чисто синий цвет, т.к. значения других составляющих равны нулю. Вот чисто красный цвет:

Color newColor = new Color(255, 0, 0);

А это чисто зеленый цвет:

Читайте также:
Как добавить программы в пункт создать

Color newColor = new Color(0, 255, 0);

Значения составляющих цвета изменяются от 0 до 255.

Светло-синий цвет, который мы использовали для заливки прямоугольника:

newColor = new Color(0, 215, 255);

Как задать цвет фона?

Задать цвет фона можно методом setBackground:

mainFrame.setBackground(Color.white);

Как нарисовать прямоугольник?

Методом drawRect класса Graphics:

g.drawRect(20, 40, 340, 20);

20, 40 — это координаты верхнего левого угла прямоугольника;
340 — длина;
20 — высота прямоугольника.

Как залить прямоугольник цветом?

Методом fillRect класса Graphics:

newColor = new Color(0, 215, 255);
g.setColor(newColor);
g.fillRect(21, 41, 339, 19);
g.setColor(oldColor);

Красивый код на Python #айти #shorts

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

Методом drawRoundRect класса Graphics.

Сопряжение, т.е. закругление на углах, делается с помощью частей овала.

g.drawRoundRect(20, 70, 340, 30, 20, 15);

первые 4 аргумента как у обычного прямоугольника. Пятый аргумент — 20 — это ширина прямоугольника, в который вписана часть овала сопряжения. Шестой аргумент — 15 — это высота прямоугольника, в который вписана часть овала сопряжения.

Как нарисовать овал?

Методом drawOval класса Graphics:

g.drawOval(20, 110, 150, 60);

Аргументы определяют прямоугольник, в который вписан овал.

Как нарисовать окружность?

Методом drawOval класса Graphics:

g.drawOval(200, 110, 60, 60);

Аргументы определяют прямоугольник, в который вписана окружность. Здесь рисуем овал, но длина и высота описанного прямоугольника равны, что и даёт окружность.

Как нарисовать дугу?

Методом drawArc класса Graphics:

g.drawArc(280, 110, 80, 60, 0, 180);

первые 4 аргумента как у обычного прямоугольника. Пятый аргумент — 0 — это угол, от которого отсчитывается угол самой дуги. 180 — это угол дуги. Углы отсчитывают от горизонтальной оси: по часовой стрелке отрицательное направление, протв — положительное. В примере 180 градусов (величина дуги) отсчитываем от горизонтальной линии.

Как нарисовать многоугольник?

Методом drawPolygon класса Graphics:

Здесь создаём объект класса Polygon. arrayX — это х-координаты вершин многоугольника, arrayY — это y-координаты вершин многоугольника, 8 — число вершин многоугольника.

Как создать объект точки?

Для этого используем класс Point:

Point aPoint = new Point(50, 190);

аргументы — это x, y координаты.

Как определить, что точка принадлежит многоугольнику?

Используем метод класса Polygon contains для определения лежит ли точка в многоугольнике.

Как вывести строку?

Методом drawString класса Graphics:

g.drawString(«Yes», 50, 190);

строка «Yes» будет выведена от точки с координатами 50, 190.

Как задать шрифт?

Для этого используем класс Font:

Font font = new Font(«Tahoma», Font.BOLD|Font.ITALIC, 40);

где «Tahoma» — название шрифта,
Font.BOLD|Font.ITALIC — жирный шрифт с наклоном,
40 — высота шрифта.

После задания шрифта мы делаем его текущим и выводим строку этим шрифтом:

Читайте также:
Как написать себе программу в тренажерный зал

g.setFont(font);
g.drawString(«SBP», 270, 220);

Как задать цвет текста?

Чтоб задать цвет текста создадим и установим в графический контекст новый цвет:

newColor = new Color(0, 0, 255);
g.setColor(newColor);

Здесь мы создали чисто синий цвет. А теперь выводим строку синим цветом:

g.drawString(«SBP», 270, 220);

Как начертить график?

Как график функции начертить? Сначала начертим координатные оси:

// Draw axes;
g.drawLine(20, 220, 20, 350);
g.drawLine(20, 350, 360, 350);
g.drawString(«Y», 25, 230);
g.drawString(«X», 350, 346);

А теперь построить график функции можно просто. Для этого используем метод drawPolyline класса Graphics:

// Draw a curve;
int[] xArray = ;
int[] yArray = ;
int nPoint = 10;
g.setColor(newColor);
g.drawPolyline(xArray, yArray, nPoint);
g.setColor(oldColor);
g.drawString(«y = f(x)», 180, 267);

График строим по точкам, xArray – это x-координаты точек, yArray – y-координаты точек графика, nPoint — это число точек.

Наш график являет собой кривую намагничивания. Но почему график такой угловатый (см. картинку выше)? Если взять больше точек, то график будет более плавным.

Источник: sbp-program.ru

Графика в Си.

В графическом режиме в Си можно отображать на экране различные фигуры, строить изображения, реализовывать анимацию и компьютерные игры.

Чтобы работать в графическом режиме в Си, необходимо перейти в графический режим, инициализировав графическое окно си initwindow ( ширина окна, высота окна ); в котором и будут рисоваться изображения. После завершения работы с графикой, необходимо выйти из графического режима с помощью команды closegraph();

Структура программы с графикой в Си.

#include // подключение заголовочного файла с графическими функциями
#include
main()
initwindow ( 500, 500 ); // инициализировали и открыли окно размером 500 на 500
…рисуем графические объекты
getch(); // ждем нажатия клавиши
closegraph(); // закрываем графический режим
>

Основные графические объекты в си, такие как точка, линия, окружность, прямоугольник задаются с помощью системы координат. Система координат в графическом режиме Си задается следующим образом. Верхний левый угол экрана имеет координату x=0 и y=0.

Координата X задается слева направо. Т.е. чем больше X, тем правее точка.

Координата Y задается сверху вниз. Т.е. чем больше Y, тем ниже точка.

Максимальные X это ширина окна. Максимальное Y это высота окна.

графический режим в си с

Задание цвета изображения в Си

Чтобы задать цвет изображаемого объекта, используется оператор setcolor(номер цвета);

Таблица цветов в Си.

0 черный
1 синий
2 зеленый
3 морской волны
4 красный
5 фиолетовый
6 коричневый
7 светло-серый
8 темно-серый
9 светло-синий
10 светло-зеленый
11 светлый морской волны
12 светло-красный
13 светло-фиолетовый
13 светло-фиолетовый
14 желтый
15 белый

setcolor(4) ;// устанавливаем красный цвет

Отображение точки в Си.

Для рисования точки в графических программах си используется оператор

Читайте также:
Запуск программы невозможен так как на компьютере отсутствует openal32

рисунок на си

Вернуться к содержанию Перейти к следующему уроку Случайные числа в Си

Источник: itrobo.ru

Работа с графикой (C++/CLI)

Демонстрирует управление изображениями с помощью Windows SDK.

В следующих разделах показано использование класса для выполнения операций System.Drawing.Image с изображениями.

Отображение изображений с помощью платформа .NET Framework

В следующем примере кода изменяется обработчик событий OnPaint, чтобы получить указатель на Graphics объект для формы main. Функция OnPaint предназначена для приложения Windows Forms, скорее всего, созданного с помощью мастера приложений Visual Studio.

Изображение представлено классом Image . Данные изображения загружаются из файла .jpg с помощью System.Drawing.Image.FromFile метода . Перед тем как изображение будет отрисовано в форме, размер формы изменяется в соответствии с изображением. Рисование изображения выполняется с помощью System.Drawing.Graphics.DrawImage метода .

Классы Graphics и Image находятся в System.Drawing пространстве имен .

Пример

#using using namespace System; using namespace System::Drawing; protected: virtual Void Form1::OnPaint(PaintEventArgs^ pe) override < Graphics^ g = pe->Graphics; Image^ image = Image::FromFile(«SampleImage.jpg»); Form::ClientSize = image->Size; g->DrawImage( image, 0, 0, image->Size.Width, image->Size.Height ); >

Рисование фигур с помощью платформа .NET Framework

В следующем примере кода класс используется Graphics для изменения обработчика OnPaint событий, чтобы получить указатель на Graphics объект для формы main. Затем этот указатель используется для задания цвета фона формы и рисования линии и дуги с помощью System.Drawing.Graphics.DrawLine методов и DrawArc .

Пример

#using using namespace System; using namespace System::Drawing; // . protected: virtual Void Form1::OnPaint(PaintEventArgs^ pe ) override < Graphics^ g = pe->Graphics; g->Clear(Color::AntiqueWhite); Rectangle rect = Form::ClientRectangle; Rectangle smallRect; smallRect.X = rect.X + rect.Width / 4; smallRect.Y = rect.Y + rect.Height / 4; smallRect.Width = rect.Width / 2; smallRect.Height = rect.Height / 2; Pen^ redPen = gcnew Pen(Color::Red); redPen->Width = 4; g->DrawLine(redPen, 0, 0, rect.Width, rect.Height); Pen^ bluePen = gcnew Pen(Color::Blue); bluePen->Width = 10; g->DrawArc( bluePen, smallRect, 90, 270 ); >

Поворот изображений с помощью платформа .NET Framework

В следующем примере кода демонстрируется использование System.Drawing.Image класса для загрузки образа с диска, его поворота на 90 градусов и сохранения в виде нового файла .jpg.

Пример

#using using namespace System; using namespace System::Drawing; int main() < Image^ image = Image::FromFile(«SampleImage.jpg»); image->RotateFlip( RotateFlipType::Rotate90FlipNone ); image->Save(«SampleImage_rotated.jpg»); return 0; >

Преобразование форматов файлов изображений с помощью платформа .NET Framework

В следующем примере кода демонстрируется System.Drawing.Image класс и перечисление System.Drawing.Imaging.ImageFormat , используемые для преобразования и сохранения файлов изображений. Следующий код загружает изображение из файла .jpg, а затем сохраняет его в .gif и .bmp форматах файлов.

Пример

#using using namespace System; using namespace System::Drawing; using namespace System::Drawing::Imaging; int main() < Image^ image = Image::FromFile(«SampleImage.jpg»); image->Save(«SampleImage.png», ImageFormat::Png); image->Save(«SampleImage.bmp», ImageFormat::Bmp); return 0; >

Источник: learn.microsoft.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru