Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
![](images/emoji__ok.png)
Предоплата всего
![](images/emoji__signature.png)
Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Белорусский государственный университет
информатики и радиоэлектроники
Кафедра «Вычислительных методов и программирования»
Работа с графикой.
Цель: изучить возможности компоненты 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;
}
Результаты работы программы