Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемСемён Брылев
1 Тема урока Использование растровых изображений в Pascal ABC
2 Практическая работа Program otkritka; uses crt, GraphABC; var rfon, s : string; begin SetWindowSize (400, 300); ClearWindow; s:= 'Поздравляю!'; rfon:= 'цветы.gif'; SetBrushPicture (rfon); Ellipse (20, 30, 390, 200); SetBrushStyle (bsClear); SetFontColor (clRed); SetFontSize (35); SetFontStyle (fsBoldItalic); TextOut (60, 50, s); end.
3 Задание: Составить программу, демонстрирующую принцип действия проекционного аппарата. В проекционном аппарате предмет (слайд или рисунок на прозрачной пленке) помешают между фокусом и двойным фокусом линзы. На экране получается увеличенное обратное изображение. Для получения на экране прямого изображения слайд переворачивают. Алгоритм программы заключается в загрузке из файла и выводе на экран растрового изображения, которое подвергается необходимым преобразованиям (увеличение и переворот). Единственная переменная pic имеет тип integer. Прежде всего, зададим размеры окна 640 x 520 и черный цвет фона. Нарисуем линзу: Ellipse (106, 220, 122, 300). Загрузим изображение из файла робот.jpg и поместим его описатель в переменную pic:= LoadPicture ('робот.jpg'). С помощью процедуры DrawPicture (pic, 60, 310, -50, -100) выведем перевернутое изображение размером 50x100 пикселей в позицию с координатами верхнего левого угла (60, 310), поставив перед значениями 50 и 100 знаки «минус»). Еще раз выведем это изображение, но уже в позицию с координатами (380, 10), задав ширину 250, а высоту 500 пикселей, т.е. увеличив в 5 раз: DrawPicture (pic, 380, 10, 250, 500). Осталось провести вспомогательные линии, иллюстрирующие построение изображения, и откорректировать положение линзы.
4 program proector; uses GraphABC; var fon, pic, x, y: integer; begin SetWindowCaption ('Проекционный аппарат'); setWindowSize (640, 520); ClearWindow (clBlack); SetBrushColor (clSkyBlue); Ellipse (106, 220, 122, 300); pic:= LoadPicture ('робот.jpg'); DrawPicture (pic, 60, 310, -50, -100); DrawPicture (pic, 380, 10, 250, 500); setPenColor (clYellow); line (60, 310, 380, 10); line (60, 210, 380, 510); setPenColor (clWhite); line (10, 310, 630, 10); line (10, 210, 630, 510); end.
5 Задание: Составить программу, которая рисует поздравительные открытки. С клавиатуры выбирается тема и вводится текст поздравления. Будем оформлять все открытки по такому шаблону: слева залитый растровым изображением прямоугольник, справа рисунок сказочного персонажа, а сверху текст поздравления. С клавиатуры вводится номер темы (переменная tema). Для каждой темы с помощью алгоритмической конструкции выбора case... of задаются имена файлов (переменные fzal, fris), в которых хранятся подходящие изображения. Например, для темы 1 (зима) снежинки fzal:='снег.gif' и Буратино fris:='буратино.gif', для темы 3 (лето) ромашки fzal:='цветы.gif' и Карлсон fris:='карлсон.gif'. Затем вводится текст поздравления (переменная s), например. "С Новым Годом!". Переменные tema, ris имеют тип integer, а переменные fzal, fris, s тип string.
6 Program pozdravlenie; uses crt, GraphABC; var tema, ris : integer; fzal, fris, s : string; begin SetWindowSize (600, 400); Write ('Введите номер темы: 1-зима, 2-весна, 3-лето, 4-осень'); read (tema); Write ('Введите поздравление '); read (s); case tema of 1: begin fzal:='снег.gif'; fris:='буратино.gif'; end; 2: begin fzal:='солнце.gif'; fris:='попугай.gif'; end; 3: begin fzal:='цветы.gif'; fris:='карлсон.gif'; end; 4: begin fzal:='листья.gif'; fris:='лиса.gif'; end; end; ClearWindow; SetPenColor (clLtGray); SetBrushPicture (fzal); Rectangle (0, 0, 120, 400); ris:= LoadPicture (fris); DrawPicture (ris, 280, 70, 300, 320); SetBrushStyle (bsClear); SetFontColor (clRed); SetFontSize (34); SetFontStyle (fsBold); TextOut (60, 40, s); end.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.