Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.05;
Скачать: CL | DM;

Вниз

Zooming в TImage   Найти похожие ветки 

 
Baky   (2002-11-24 16:03) [0]

как делать зуминг к Image


 
dim- ©   (2002-11-25 09:41) [1]

в Image делаешь растягивание и меняешь его размер


 
Дмитрий К.К. ©   (2002-11-25 09:49) [2]

Качество потеряешь в любом случае.


 
[NIKEL] ©   (2002-11-25 11:17) [3]

методом билинейной интерполяции можно получть хорошее качество
вырезки из проекта:

int Bilinear(BYTE Image[][256], float i, float j)
{
int x1, y1, x2, y2;
float Gray;

x1 = (int)floor(i);
x2 = x1+1;
y1 = (int)floor(j);
y2 = y1+1;
Gray = (y2-j)*(x2-i)*Image[x1][y1] + (y2-j)*(i-x1)*Image[x2][y1]
+ (j-y1)*(x2-i)*Image[x1][y2] + (j-y1)*(i-x1)*Image[x2][y2];
return INT(Gray);
}
//-------------------------------------------------------------
void __fastcall TForm1::Button7Click(TObject *Sender)
{
BYTE ImageData[256][256], *LinePtr;
BYTE Output[256][256];
int x, y;
float i, j, zoom=4.0;
int x0=127, y0=127; //куда масштабируем

// копируем в Bitmap
for (y=0; y<=255; y++)
{
LinePtr = (BYTE *) Image1->Picture->Bitmap->ScanLine[y];
for (x=0; x<=255; x++)
ImageData[x][y] = LinePtr[x];
}
// подсчитываем получившееся изображение
for (y=0; y<=255; y++)
for (x=0; x<=255; x++)
{
i = (x+(zoom-1)*x0) / zoom;
j = (y+(zoom-1)*y0) / zoom;
Output[x][y] = Bilinear(ImageData, i, j);
}
// копируем обратно
for (y=0; y<=255; y++)
{
LinePtr = (BYTE *) Image1->Picture->Bitmap->ScanLine[y];
for (x=0; x<=255; x++)
LinePtr[x] = Output[x][y];
}
Image1->Refresh();
}



Страницы: 1 вся ветка

Текущий архив: 2002.12.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
1-14644
ork
2002-11-21 13:30
2002.12.05
Проверка орфографии и подсветка синтаксиса в RichEdit


1-14501
harismatik
2002-11-25 11:25
2002.12.05
Позиционирование в ListBox или любом другом списке.


1-14599
Юлия
2002-11-24 13:08
2002.12.05
Отмена действия


1-14659
Whippi
2002-11-25 17:08
2002.12.05
Где Create Component Template ?


3-14433
Asderg
2002-11-18 10:22
2002.12.05
как узнать в запросе что поле ключевое?