Будь умным!


У вас вопросы?
У нас ответы:) SamZan.ru

Лабораторная работа 9 Работа с графикой.

Работа добавлена на сайт samzan.ru: 2016-03-13


Белорусский государственный университет

информатики и радиоэлектроники

Кафедра «Вычислительных методов и программирования»

Лабораторная работа №9

Работа с графикой.

Цель: изучить возможности компоненты Image; научиться работать с графическими объектами; написать и отладить программу с использованием функций отображения графической информации.

Задание: На форму поместить компоненту TPageControl с закладки Win32, содержащей 2 страницы.На первой странице поместить компоненты и графические объекты, реализующие первую часть индивидуального задания, на второй странице – вторая часть.

Вариант 5

Проверил Выполнил ст.гр.344101

Беспалов С.А. Яцына Н.А.

Минск 2013

Вариант 5

Часть 1.

На компоненте TImage расположить произвольный рисунок. При помощи кнопок на закладке или клавиш клавиатуры →, ←, ↑, ↓ организовать “прокрутку” рисунка в различных направлениях.

Часть 2.

Определить количество точек с целочисленными координатами, лежащих

внутри окружности радиуса R с центром в точке (х0, у0).

Текст программы:

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include <conio>

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

__fastcall TForm1::TForm1(TComponent* Owner)

       : TForm(Owner){}

void __fastcall TForm1::FormCreate(TObject *Sender){

 Edit1->Text="50";

 Edit2->Text="50";

 Edit3->Text="75";

 int x,y;

Graphics::TBitmap *bitmap=new Graphics::TBitmap;

bitmap->LoadFromFile("drawgraphic.bmp");

x=0;y=0;

Image2->Canvas->Draw(x,y,bitmap);}

void __fastcall TForm1::Button1Click(TObject *Sender){

 int xmax, ymax,x,y,r,kol=0;

double hx,hy;

x=StrToInt(Edit1->Text);

y=StrToInt(Edit2->Text);

r=StrToInt(Edit3->Text);

 Image1->Canvas->Pen->Color=clBlack;

 xmax = Image1->Width;

 ymax = Image1->Height;

 Image1->Canvas->Rectangle(0,0,xmax,ymax);

 Image1->Canvas->Ellipse(x,y,x+r,y+r);

  for (x = -r+1; x < r;x++)

for (y = -r+1; y < r;y++)

 if (x*x + y*y != r*r) kol++;

 else break;

              Edit4->Text=(IntToStr(kol));

void __fastcall TForm1::KeyDown(TObject *Sender, WORD &Key,

     TShiftState Shift){

int xmax, ymax, x,y;

Graphics::TBitmap *bitmap=new Graphics::TBitmap;

bitmap->LoadFromFile("drawgraphic.bmp");

xmax = Image2->Width;

ymax = Image2->Height;

x=-20;

y=-20;

  switch (Key)  {

case 38://up

  Image2->Canvas->FillRect(Rect(x,y,xmax,ymax));

  Image2->Canvas->Draw(x,y-10,bitmap);

   break;

case 40://down

  Image2->Canvas->FillRect(Rect(x,y,xmax,ymax));

  Image2->Canvas->Draw(x,y+10,bitmap);

    break;

case 37://left

    Image2->Canvas->FillRect(Rect(x,y,xmax,ymax));

    Image2->Canvas->Draw(x+10,y,bitmap);

     break;

case 39://right

   Image2->Canvas->FillRect(Rect(x,y,xmax,ymax));

   Image2->Canvas->Draw(x-10,y,bitmap);

    break;

}

delete bitmap;

}

Результаты работы программы




1. 1 Понятие объектов гражданских правоотношений
2. Жители подчеркнуто заботятся о внешних приличиях и каждый внимательно следит за тем кто как одевается и с к
3. Условные рефлексы и их характеристика
4. ретбас Б16болжау Б9ЮНЕСКО ~19салыст Ж16 бихеви З3~діс З7парадигма І15саясат ~23норматив С11б
5. Медикосанитарная часть
6. Задачи и методы теории знания
7. возможное это то на что потребуется некоторое
8. Медицинский Университет Астана Кафедра общественного здравоохранения 1 Тесты для студентов 3 кур
9. Раннее детство как важный этап в развитии ребенка
10. Євгенія Онєгіна
11. Лабораторна робота 19 ЕКСПЕРИМЕНТАЛЬНА ПЕРЕВІРКА РІВНЯННЯ БЕРНУЛЛІМета роботи Дослід
12. Дело Х икс и с вами Лидия Вележева
13. Вариант 4 1 аА б в бДефицит вРесурс количественная мера возможности выполнения какойлибо деятельно.html
14. тема органов выделения представлена почками мочеточниками и мочевым пузырем
15. по теме- Обзор популярных браузеров интернета
16. Школи лідерів Збори проекту Школи лідерів Молодь за зміни щовівторка 17
17. Реферат- Этнографическая психология
18. тематики и информатики Кафедра системного программирования и компьютерной безопасности КАШКЕВИЧ.html
19. демократка Марко Вовчок прийшла в літературу наприкінці п~ятидесятих років минулого століття
20. тема б-н расчетов между банками и их филиалами