Элементы управления для работы с графикой
§ 4: PictureBox (Image, SizeMode, Visible), Bitmap/Graphics, оси координат и практика DrawFrame.
Конспект урока
Элементы управления для работы с графикой
Размести рисунок в приложении, управляй его видом и нарисуй простые оси на холсте.
PictureBox хранит картинку. Bitmap и Graphics позволяют рисовать поверх или вместо неё.
Результат урока
Создашь проект с PictureBox и кнопкой показа изображения; настроишь Image и SizeMode; по второй команде нарисуешь оси на Bitmap через Graphics и проверишь сохранение проекта.
Перед началом
Работай в своей папке и соблюдай правила кабинета. При неисправности остановись и обратись к учителю. Нужна проверенная учителем среда PascalABC.NET под Windows с дизайнером Windows Forms.
Вспомни: свойства формы и кнопка Click уже знакомы. Сегодня новый элемент — контейнер для рисунка, а также холст из пикселей.
Основа — § 4.1–4.2 учебника (примеры 4.3 и введение к 4.5). Полный график (y = x\sin x), гистограммы и Timer сегодня не обязательны: они остаются в резерве и на следующие часы. Имена Delphi (Edit, OnClick) в нашем комплекте заменяем на TextBox / Click.
PictureBox — контейнер рисунка
Компонент PictureBox показывает изображение. Свойство Image задаёт картинку. Форматы JPEG, PNG, BMP, GIF. Если нужно менять пиксели, удобнее BMP; PNG и GIF могут сохранять прозрачность.
| Свойство | Назначение |
|---|---|
Image | Рисунок в контейнере |
SizeMode | Как рисунок вписывается в рамку |
Visible | Виден ли элемент при работе |
BackColor | Цвет фона; допускается Transparent |
SizeMode
| Значение | Поведение |
|---|---|
Normal | Левый верхний угол рисунка совпадает с углом контейнера |
StretchImage | Рисунок растягивается на всю область |
CenterImage | Рисунок по центру |
Zoom | Масштаб с сохранением пропорций |
AutoSize | Размер контейнера подстраивается под рисунок |
Фон формы
Свойство формы BackgroundImage задаёт фоновый рисунок. BackgroundImageLayout = Stretch растягивает фон. PictureBox при этом остаётся отдельным элементом поверх фона.
Файл рисунка удобно хранить в папке проекта. Если изображение встроено через инспектор, оно сохраняется вместе с формой; при загрузке через код путь к файлу должен быть корректным.
Демонстрация ShowPic
Учитель показывает проект Windows Forms ShowPic. Заголовок формы — «Показ рисунка».
| Объект | Настройка |
|---|---|
pictureBox1 | Image задан; Visible = False; SizeMode = StretchImage (или Zoom) |
button1 | Text = Показать; событие Click |
label1 | Подсказка нажать кнопку |
Внутри button1.Click:
pictureBox1.Visible := true;
label1.Text := 'Рисунок на экране';
Проверь: при запуске рисунок скрыт; после Click появляется. Смени SizeMode и сравни вид. По желанию второй Click может снова скрыть картинку.
Координаты, Bitmap и Graphics
На экране точка (0; 0) — левый верхний угол. Ось X вправо, ось Y вниз. Единица — пиксель. Это отличается от привычных школьных осей.
Bitmap — точечный холст. Graphics рисует линии и заливки. Типичный порядок в обработчике:
- создать
BitmapразмераPictureBox; - присвоить его свойству
Image; - получить
Graphics.FromImage; Clearи примитивы (DrawLine,SetPixel).
Оси в центре
var bm := new Bitmap(pictureBox1.Width, pictureBox1.Height);
pictureBox1.Image := bm;
var gr := Graphics.FromImage(pictureBox1.Image);
gr.Clear(Color.White);
var cx := pictureBox1.Width div 2;
var cy := pictureBox1.Height div 2;
var pen := new Pen(Color.Black, 1);
gr.DrawLine(pen, 0, cy, pictureBox1.Width, cy);
gr.DrawLine(pen, cx, 0, cx, pictureBox1.Height);
Точка «выше центра» на экране имеет меньший Y:
bm.SetPixel(cx + 40, cy - 30, Color.Blue);
Полный график (y = x\sin x) из примера 4.5 требует масштаба, шага и проверки границ — это резерв, если останется время.
Пауза перед практикой
На минуту отведи взгляд от экрана, расслабь кисти и проверь посадку. Затем переходи к своей копии проекта.
Практика: DrawFrame_07
Скопируй каркас DrawFrameShell в папку DrawFrame_07 (07 — номер места) и открой .pabcproj.
| Объект | Роль |
|---|---|
Form1 | Text = Рамка и оси |
pictureBox1 | Рисунок и/или холст; выбранный SizeMode |
button1 | Показать рисунок · Click |
button2 | Нарисовать оси · Click |
label1 | Статус |
- Задай
ImageиSizeMode. При стартеVisible = FalseуpictureBox1(или скрой рисунок иначе по указанию учителя). - В
button1.Clickсделай элемент видимым и обнови статус. - В
button2.ClickсоздайBitmap, очисти белым и нарисуй оси через центр. - По желанию добавь одну контрольную точку
SetPixelотносительно центра.
Лист проверки
| Действие | Прогноз | Наблюдение |
|---|---|---|
| Новый запуск | ________ | ________ |
| «Показать» | ________ | ________ |
| Смена SizeMode | ________ | ________ |
| «Нарисовать оси» | ________ | ________ |
| Точка выше центра | ________ | ________ |
| Сохранить и открыть снова | ________ | ________ |
Сохранение
- «Сохранить все», закрой проект.
- Открой
.pabcprojиз своей папки. - Проверь показ рисунка и оси.
- Сдай всю папку (исходники и файлы изображений) и личный лист.
Критерии готовности
Шесть диагностических баллов: проект повторно открывается; Image и SizeMode заданы; Click показывает рисунок; оси нарисованы через Graphics/Bitmap; учтён знак оси Y; в листе есть прогнозы. Баллы — обратная связь, не автоматическая отметка.
Если остаётся время: скрытие рисунка повторным Click; одна точка SetPixel; фрагмент примера 4.5.
Если результат отличается
| Наблюдение | Что проверить |
|---|---|
| Рисунок сразу виден | Visible = False до Click |
| Картинка искажена | Значение SizeMode |
| Оси не появляются | Создан ли новый Bitmap и присвоен ли Image |
| «Верх» оказался внизу | Знак Y: вверх = меньше Y |
| Нет файла рисунка после открытия | Файл лежит в папке проекта / путь |
Объясни самостоятельно
- Зачем свойство
SizeMode? - Где точка
(0; 0)наPictureBoxи куда направлена ось Y? - Чем
Bitmapдля рисования отличается от готового JPEG вImage?
Домашнее задание
§ 4.1–4.2. Письменно: 1) три значения SizeMode и отличия; 2) почему Y на экране направлен вниз; 3) порядок Bitmap → Graphics → Clear → DrawLine. Диаграммы и Timer (§ 4.3–4.4) — по желанию при доступе к Windows. Установка программ дома не требуется.
Источники
Котов В. М. и др. «Информатика. 11 класс», 2021: § 4, примеры 4.3–4.5. Электронная копия. Конспект § 4.
Microsoft Learn: PictureBox, SizeMode, Bitmap, Graphics. Среда: PascalABC.NET.
ShowPic, DrawFrame, границы практики и одиннадцать иллюстраций — авторская адаптация. Изображения условные и не являются снимками установленной среды.
Скачать и открыть
Материалы урока
2 материалаПодготовка к уроку
2 материала· для учителей
От сообщества
Материалы сообщества0
Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.
Поделитесь первым материалом
Рабочий лист, презентация или методичка помогут другим учителям подготовиться к уроку.
Комментарии
Войдите, чтобы оставлять комментарии.
Пока нет комментариев. Будьте первым!