Контрольная работа: Методи поліпшення растрових зображень
procedure FormResize(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
private
DC : HDC; //контекст пристрою
hrc: HGLRC; //контекст відображення
ry : GLfloat; //зміна координати по У
tx : GLfloat; //зміна координати по Х
end;
var
frmGL: TfrmGL;
mode : (POINT, LINE, FILL) = FILL; //режими відображення обєкта
mx,my:byte; //коефіцієнти збільшення/зменшення
implementation
uses DGLUT;
{$R *.DFM}
procedure TfrmGL.FormPaint(Sender: TObject);
begin
glClear (GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); // очищення буферу кольору
glPushMatrix; //заповнюємо систему координат
glScalef (my/mx, my/mx, my/mx); //виконуємо маштабування
glRotatef (ry, 0.0, 1.0, 0.0); //виконуємо потовот
glTranslatef (tx, 0.0, 0.0); //виконуємо перенесення
case mode of //вибираємо режим відображення
POINT : glPolygonMode (GL_FRONT_AND_BACK, GL_POINT);
LINE : glPolygonMode (GL_FRONT_AND_BACK, GL_LINE);
FILL : glPolygonMode (GL_FRONT_AND_BACK, GL_FILL);
end;
glutSolidSphere (1.5, 20, 20); //будуємо сферу
glScalef (mx/my, mx/my, mx/my); //повертаємо систему в початкове полож