Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

НОУ ІНТУЇТ | лекція | Малювання графічних примітивів засобами GDI +

  1. Малювання графічних примітивів засобами GDI +
  2. Способи створення об'єкта Graphics

Анотація: В лекції розглядаються два види комп'ютерної графіки: векторна і растрова графіка. Способи створення об'єкта Graphics. Малювання прямих ліній. Використання деяких можливостей друку документа. Поділ коду виведення на екран і друк. Малювання ламаних ліній і будиночка ламаними лініями. Застосування функції DrawLines () для малювання графіків. Параметричні рівняння і малювання кривих. Малювання еліпса спеціалізованим методом, спіралі, прямокутників, дуг. Малювання прямокутника з закругленими кутами і секторів. Покращене малювання секторів. Заливка прямокутників, еліпсів і секторів.

Малювання графічних примітивів засобами GDI +

Файли до лабораторної роботи Ви можете завантажити Файли до лабораторної роботи Ви можете завантажити   тут тут .

Комп'ютерна графіка ділиться на два види:

  1. Векторна графіка - практичне застосування аналітичної геометрії, включаючи малювання ліній і заливання замкнутих областей, а також відображення тексту з різними атрибутами.
  2. Растрова графіка - включає бітові карти і зображення предметів реального світу.

Нижче ми познайомимося з векторною графікою в тому вигляді, в якому вона реалізована в Microsoft Windows Forms і GDI +. Всі розглянуті тут функції малювання є методами класу Graphics і починаються із префікса Draw (малюють лінії) або Fill (виконують заливку в межах).

Для малювання потрібен об'єкт Graphics, який визначає контекст пристрою. Клас System.Drawing. Graphics оголошений як sealed (не підтримує спадкування) і його конструктор не є відкритим, тому безпосередньо створити об'єкт Graphics можна

  1. Graphics gr = new Graphics (); // Не можна !!!
  2. class MyGraphics: Graphics {}; MyGraphics gr = new MyGraphics (); // Теж не можна !!!

Способи створення об'єкта Graphics

Для створення об'єкта Graphics можна застосувати один з таких способів:

  1. При перевизначенні методу OnPaint () або створенні обробника події Paint в будь-якому класі, похідному від System.Windows.Forms.Control (наприклад, Form) ми отримуємо об'єкт Graphics як властивість Graphics класу PaintEventArgs class MyGraphics: Form {public MyGraphics () {this. Paint + = new PaintEventHandler (MyGraphics_Paint); } Private void MyGraphics_Paint (object sender, PaintEventArgs e) {Graphics graphics = e.Graphics; // Це вірно! }} Лістинг 16.1. Спосіб створення об'єкта Graphics
  2. Для малювання на формі або елементі управління (всі вони успадковують Control) не тільки в заміщенні методі OnPaint () або обробнику події Paint, але і в інших місцях програми, можна викликати метод CreateGraphics () цього елемента управління.

    Часто класи викликають метод CreateGraphics () в своїх конструкторах, щоб отримати потрібні дані про GDI + або виконати ініціалізацію. Елементи управління або форми можуть також малювати під час подій миші, клавіатури або таймера, тимчасово створюючи і звільняючи об'єкт Graphics (контекст пристрою). Головне, щоб об'єкт Graphics створювався тільки на період обробки події, і ні в якому разі не зберігався в поле класу. По завершенні об'єкта graphics програма повинна негайно викликати його метод graphics.Dispose (), щоб віддати контекст пристрою іншим програмам.

  3. Можна отримати об'єкт типу System.Drawing.Printing.PrintPageEventArgs, який у властивості містить відповідний для даного принтера об'єкт Graphics, встановивши обробник події PrintPage при друку.
  4. У деяких елементів управління (меню, списків, рядків стану) є властивість OwnerDraw, що дозволяє програмі динамічно малювати на цьому елементі управління. Події MeasureItem і DrawItem передають своїм обробникам в аргументах об'єкти типу MeasureItemEventArgs і DrawItemEventArgs, у яких у властивостях є об'єкт Graphics і який можна використовувати в обробнику для малювання.
  5. Щоб малювати по бітової карті або метафайлу, потрібно отримати спеціальний об'єкт Graphics, викликавши статичний метод Graphics .FromImage ().
  6. Якщо потрібно отримати інформацію з об'єкта Graphics, пов'язаного з принтером, що не друкуючи ніяких даних, можна використовувати метод CreateMeasurementGraphics () об'єкта класу System.Drawing.Printing.PrinterSettings
  7. При взаємодії з кодом Win32 отримати об'єкт Graphics дозволяють статичні методи рівня класу Graphics .FromHdc () і Graphics .FromHwnd ()

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.