1 / 24

Графический режим Модуль Graph

x. (0;0). Графический режим Модуль Graph. Максимальные разрешения: CGA = 640х200 EGA = 640х350 VGA = 640x480. y. В графическом режиме можно задавать цвет каждого пикселя независимо от других. Процедуры и функции модуля Graph.

ora
Download Presentation

Графический режим Модуль Graph

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. x (0;0) Графический режимМодуль Graph Максимальные разрешения: CGA = 640х200 EGA = 640х350 VGA = 640x480 y В графическом режиме можно задавать цвет каждого пикселянезависимо от других.

  2. Процедуры и функциимодуля Graph InitGraph(gd,gm,path); - процедура, инициализирующая графический режим работы видеоадаптера gd: integer – графический драйвер gm: integer – графический режим path: string – путь к файлу драйвера

  3. Графические режимы (не все)

  4. Файлы драйверов herc.bgi cga.bgi egavga.bgi … BGI = Borland Graphics Interface Файлы обычно располагаются в каталоге BGI вместе с файлами графических шрифтов.

  5. Полезные функции GetMaxX: integer; – возвращает максимальную координату по х GetMaxY: integer;–возвращает максимальную координату по y GetMaxY + 1 GetMaxX + 1

  6. Закрытие графического режима CloseGraph; - процедура закрывает графический режим и переводит видеоадаптер обратно в текстовый режим работы

  7. Пример использованияInitGraph и CloseGraph const GrPath = ‘c:\bp\bgi’; var gd, gm: integer; begin … { работа в текстовом режиме } gd:=EGA; gm:=EGAHi; InitGraph(gd, gm, GrPath); …{ работа в графическом режиме } CloseGraph; … { работа в текстовом режиме } end.

  8. Анализ графических ошибок GraphResult: integer – функция, возвращающая код последней графической ошибки (0 = нет ошибки) GraphErrorMsg(code:integer): string – функция, возвращает строку описания ошибки по коду ошибки

  9. Пример инициализации с анализом ошибок const GrPath = ‘c:\bp\bgi’; var gd, gm, code: integer; begin … gd:=EGA; gm:=EGAHi; InitGraph(gd, gm, path); code:=GraphResult; if code<>0 then begin writeln(‘Произошла графическая ошибка!’); writeln(GraphErrorMsg(code)); writeln(‘Нажмите Enter…’); readln; halt(1); { выход из программы } end; …{ работа в графическом режиме } CloseGraph; … end.

  10. Работа с отдельными пикселями PutPixel(x, y, c); - задаёт цвет (c) пикселяс координатами (x, y) GetPixel(x,y): integer; - возвращает цвет пикселя с координатами (x, y)

  11. Графические примитивы Circle(x,y,R); x2,y2 R Line(x1,y1,x2,y2); x,y x1,y1 Rectangle(x1,y1,x2,y2); Bar(x1,y1,x2,y2); x1,y1 x1,y1 x2,y2 x2,y2

  12. Графические примитивы Arc(x,y,SA,EA,R); PieSlice(x,y,SA,EA,R); EA R SA EA SA (x,y) (x,y) Ellipse(x,y,SA,EA,XR,YR); FillEllipse(x,y,XR,YR); SA EA YR YR XR XR (x,y) (x,y)

  13. Направление отсчёта углов 90 180 0 270

  14. SetColor(c); - устанавливает цвет линий SetLineStyle(s,p,th); - устанавливает стиль линий • SolidLn 0 • DottedLn 1 • CenterLn 2 • DashedLn 3 • UserBitLn 4 (User-defined line style) • NormWidth 1 • ThickWidth 3

  15. Заливка SetFillStyle(p,c);- устанавливает шаблон и цвет заливки Constant │ Value │ Meaning ═══════════════╪═════════╪═════════════════════════ EmptyFill │ 0 │ Uses background color SolidFill │ 1 │ Uses draw color LineFill │ 2 │ --- fill LtSlashFill │ 3 │ /// fill SlashFill │ 4 │ /// thick fill BkSlashFill │ 5 │ \thick fill LtBkSlashFill │ 6 │ \fill HatchFill │ 7 │ Light hatch fill XHatchFill │ 8 │ Heavy cross hatch InterleaveFill │ 9 │ Interleaving line WideDotFill │ 10 │ Widely spaced dot CloseDotFill │ 11 │ Closely spaced dot UserFill │ 12 │ User-defined fill

  16. Заливка замкнутой области FloodFill(x,y,b); - закрашивает замкнутую область, ограниченную линией цвета b (x;y)

  17. Вывод текста OutText(s); - вывод строки S OutTextXY(x,y,s); - вывод строки S по указанным координатам SetTextJustify(h,v);

  18. SetTextJustify(CenterText,CenterText) OutText(x,y,’Hello!’); Hello!

  19. SetTextStyle(font,dir,size); - задает стиль текста Font – гарнитура шрифта Dir – направление (горизонт. или верт.) Size - размер

  20. Размер символов, задаваемый пользователем SetUserCharSize(mx,dx,my,dy); A A h*my/dy h w w*mx/dx

  21. Hello! TextHeight(s) TextWidth(s)

  22. Uses graph; Begin InitGraph(….); … readln; CloseGraph; End.

More Related