Salvador Gómez Artacho Cdt

Registrado: 14 Dic 2004Mensajes: 2Ubicación: Málaga (España)
|
Publicado: Mie 22 Dic, 2004 1:52 pm Asunto: Realizar un Zoom en un TImagen |
|
|
Hola compañeros, tengo un problema haber si me podeis echar una mano, necesito realizar un zoom a una imagen que tengo en un tipo TImage, la imagen la pinto píxel a píxel empleando el método Canvas, pero a la hora de realizar el zoom he implementado mi propia función aunque es un poco lenta al emplear imágenes grandes.
Alguien sabe alguna propiedad que realice directamente el zoom? .
Os dejo el algoritmo de Zoom para que le hecheis un vistazo y me lo corrijais, ya se que es algo basto:
| Código: | FZoom = new TFZoom(this);// Creamos la ventana y configuramos
FZoom->ClientHeight = escala*FIReal->ClientHeight;
FZoom->ClientWidth = escala*FIReal->ClientWidth;
FZoom->Show();
unsigned char car;
int fila = 0;
int col =0;
int i = 0;
int j = 0;
int k, kk;
while (fila <escala*FPrincipal->tam){
while (col < escala*FPrincipal->tam){
car = FPrincipal->imagen[i][j];
FZoom->Image1->Canvas->Pixels[col][fila] = RGB(car,car,car);
for (k = 0; k <= escala ; k++){
for (kk = 0; kk<= escala; kk++){
FZoom->Image1->Canvas->Pixels[col + k][fila + kk] = RGB(car,car,car);
FZoom->Image1->Canvas->Pixels[col + kk][fila + k] = RGB(car,car,car);
FZoom->Image1->Canvas->Pixels[col + kk][fila + kk] = RGB(car,car,car);
}
}
col = col + escala;
j++;
}
fila = fila + escala;
i++;
if (col >= escala*FPrincipal->tam){
j = 0;
col = 0;
}
}
} |
_________________ Exprime cada segundo como si fuese el último |
|