Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Copiar de un TBitmap a otro

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Copiar de un TBitmap a otro Responder citando

Holitass

He estado mirando en el foro como redimesionar un bitmap y he visto que una posibilidad sería copiarlo a otro bitmap y meterle las dimensiones nuevas. Y tengo algo estilo:

Código:
 //Guardo la imagen del Chart en un bmp
 rutaImagen = ExtractFilePath(Application->ExeName);
 pathImagen = rutaImagen + "graficabarras.bmp";
 Chart1->SaveToBitmapFile(pathImagen);
 
 //Creo dos TBitmap
 Graphics::TBitmap *dest = new Graphics::TBitmap();
 Graphics::TBitmap *src = new Graphics::TBitmap();
 src->LoadFromFile("graficabarras.bmp"); // Cargo la imagen
 src->PixelFormat = pf24bit;
 dest->PixelFormat = pf24bit;
 //Este va a ser el nuevo ancho y alto de la imagen
 dest->Width = 400;
 dest->Height = 300;

 [creo que aqui me falta el copiar la imagen...]
 
 //Cuando tenga la imagen "agrandada" lo visualizo en un TImage
 Image1->Picture->Bitmap = dest;


Como añado entre corchetes en el código, creo que necesitaria pasar del primer bitmap la imagen al segundo y luego redimensionar, cómo copio la imagen al segundo bitmap?

Gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Este código puede ayudarte:

Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   TImage *Image = new TImage(this);
   // Aquí dimensionamos la nueva imagen....
   Image->Height = 200;
   Image->Width  = 200;
   // Preparamos para la función StretchDraw
   TRect R(0, 0, Image->Height, Image->Width);
   // Copiamos la imagen cambiada de tamaño a Image desde Image1...
   Image->Canvas->StretchDraw(R, Image1->Picture->Graphic);
   // La salvamos para ver que ha pasado. ....EURECA....
   Image->Picture->Graphic->SaveToFile("a.bmp");
}


Saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Esto funciona de maravilla.

con el pequeño cambio de:

Código:
TRect R(0, 0, Image->Height, Image->Width);


a:

Código:
TRect R(0, 0,Image->Width, Image->Height);


Gracias!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.