Работа с изображениями в GraphABC — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
 
(не показана 1 промежуточная версия этого же участника)
Строка 8: Строка 8:
 
которые используются в учебном пособии для '''создания новой картинки''' размера 30 × 30, используйте код
 
которые используются в учебном пособии для '''создания новой картинки''' размера 30 × 30, используйте код
 
<source lang="pascal">
 
<source lang="pascal">
     var p := Picture.Create(30, 30);
+
     var p := new Picture(30, 30);
 
</source>
 
</source>
Он просто лучше.
+
Он короче и понятней, а значит лучше.
  
 
'''Замечание 2.''' Для сохранения картинки в файл используйте следующий код.
 
'''Замечание 2.''' Для сохранения картинки в файл используйте следующий код.
Строка 28: Строка 28:
 
     begin
 
     begin
 
       // создание рисунка p с шириной 150 пикселей и высотой 100 пикселей
 
       // создание рисунка p с шириной 150 пикселей и высотой 100 пикселей
       var p: Picture := Picture.Create(150, 100);
+
       var p: Picture := new Picture(150, 100);
  
 
       // настраиваем ширину пера
 
       // настраиваем ширину пера

Текущая версия на 08:36, 16 ноября 2016

О работе с изображениями следует прочесть в разделе 10 учебного пособия «Работа с графикой в системе PascalABC.NET». Сделаем ряд замечаний относительно этого текста.

Замечание 1. Вместо операторов

    var p: Picture;
    CreatePicture(p, 30, 30);

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

    var p := new Picture(30, 30);

Он короче и понятней, а значит лучше.

Замечание 2. Для сохранения картинки в файл используйте следующий код.

    var fname := 'my-picture-1.png';
    p.Save(fname);      // fname — имя файла для сохранения рисунка
    
    // другой вариант: можно указать имя явно
    p.Save('my-picture-1.png');

Пример работы с рисунком

    uses GraphABC;

    begin
      // создание рисунка p с шириной 150 пикселей и высотой 100 пикселей
      var p: Picture := new Picture(150, 100);

      // настраиваем ширину пера
      Pen.Width := 2;

      // рисуем прямоугольник на рисунке p
      p.Rectangle(0, 0, p.Width, p.Height);

      // настраиваем цвет кисти и ширну пера
      Brush.Color := Color.Navy;
      Pen.Width := 1;

      // рисуем окружность на рисунке p
      p.Circle(p.Width div 2, p.Height div 2, 40);

      // выводим рисунок p с точке (0, 0) графического окна
      p.Draw(0, 0);

      // заливаем графическое окно жёлтым цветом
      Window.Clear(Color.Yellow);

      // выводим рисунок p с точке (100, 50) графического окна
      p.Draw(100, 50);

      // сохраняем рисунок в файле с именем circle-in-rect.png
      p.Save('circle-in-rect.png');
    end.