Ocena użytkownikóww: ***** / 2
Nadesłany przez Tomasz Lubiński, 29 marca 2006 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
Zmiana wielkosci obrazu - Nearest Neighbour - C++/NN.cpp:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "NN.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i,j, x,y;
float ratiox, ratioy;
dst->Width = StrToInt(Edit2->Text);
dst->Height = StrToInt(Edit1->Text);
dst->Picture->Bitmap->Width = dst->Width;
dst->Picture->Bitmap->Height = dst->Height;
ratiox = (src->Width*1.0)/(dst->Width*1.0);
ratioy = (src->Height*1.0)/(dst->Height*1.0);
for (i=0; i<=dst->Width; i++)
for (j=0; j<=dst->Height; j++)
{
x = i*ratiox;
y = j*ratioy;
dst->Canvas->Pixels[i][j] = src->Canvas->Pixels[x][y];
}
}
//---------------------------------------------------------------------------