Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


consulta: tengo un problema con graficos

Trucos y Consejos con respecto al Lenguaje C++ Builder.

Moderador: yalmar

consulta: tengo un problema con graficos

Notapor matema95 el Mié May 23, 2007 8:49 am

tengo un problema con graficos,lo hago de la siguiente manera:
{
Graphics::TBitmap *pBitmap;

pBitmap= new Graphics::TBitmap();
pBitmap->LoadFromFile("C:\\prueba\\Sol.bmp");
Canvas->Draw(94,280,pBitmap);
pBitmap->LoadFromFile("C:\\prueba\\Mercurio.bmp");
Canvas->Draw(114,300,pBitmap);
pBitmap->LoadFromFile("C:\\prueba\\Venus.bmp");
Canvas->Draw(133,320,pBitmap);
pBitmap->LoadFromFile("C:\\prueba\\Luna.bmp");
Canvas->Draw(154,340,pBitmap);
pBitmap->LoadFromFile("C:\\prueba\\Marte.bmp");
Canvas->Draw(174,360,pBitmap);
pBitmap->LoadFromFile("C:\\prueba\\Jupiter.bmp");
Canvas->Draw(194,380,pBitmap);
pBitmap->LoadFromFile("C:\\prueba\\Saturno.bmp");
Canvas->Draw(214,400,pBitmap);
pBitmap->LoadFromFile("C:\\prueba\\Urano.bmp");
Canvas->Draw(234,420,pBitmap);
pBitmap->LoadFromFile("C:\\prueba\\Neptuno.bmp");
Canvas->Draw(254,440,pBitmap);
pBitmap->LoadFromFile("C:\\prueba\\Pluton.bmp");
Canvas->Draw(274,460,pBitmap);

}

lo quisiera hacer de la siguiente manera(si es posible)
Graphics::TBitmap *pBitmap;
pBitmap= new Graphics::TBitmap();

pBitmap->LoadFromFile("C:\\prueba\\Sol.bmp");
pBitmap->LoadFromFile("C:\\prueba\\Mercurio.bmp");
pBitmap->LoadFromFile("C:\\prueba\\Venus.bmp");
pBitmap->LoadFromFile("C:\\prueba\\Luna.bmp");
pBitmap->LoadFromFile("C:\\prueba\\Marte.bmp");
pBitmap->LoadFromFile("C:\\prueba\\Jupiter.bmp");
pBitmap->LoadFromFile("C:\\prueba\\Saturno.bmp");
pBitmap->LoadFromFile("C:\\prueba\\Urano.bmp");
pBitmap->LoadFromFile("C:\\prueba\\Neptuno.bmp");
pBitmap->LoadFromFile("C:\\prueba\\Pluton.bmp");

pBitmap[10];

for (i=0;ind<10;i++{
Canvas->Draw(x,y,pBitmap[i]);
}

¿Cómo lo puedo hacer?

}
matema95
Novato
Novato
 
Mensajes: 1
Registrado: Lun May 21, 2007 7:19 am

Notapor Pernorak el Lun May 28, 2007 4:44 am

Bien, lo primero que debes hacer es reservar 10 posiciones del tipo bitmap:

- Defines el puntero a TBitmap y a continuación realizas la reserva dinámica para los 10 bitmaps.
Graphics::TBitmap *pBitmap;
pBitmap= new Graphics::TBitmap [10];

NOTA: ¿Hace falta decir que el TBitmap procede de la clase Graphics de manera explicita? -> "Graphics::"

pBitmap[0].LoadFromFile("C:\\prueba\\Sol.bmp");
pBitmap[1].LoadFromFile("C:\\prueba\\Mercurio.bmp");
.
.
.
pBitmap[9]->LoadFromFile("C:\\prueba\\Pluton.bmp");

- Una vez inicializado el array de Bitmaps lo inicializas como tu querías
para las coordenadas hay muchas formas de hacerlo:
1ª) Darle una coordenada inicial a 'x' y a 'y' e ir incrementándolas dentro del bucle.
2ª) Si esto no cumple con la colocación que quieres que tengan tus imágenes, puedes crear dos arrays de 10 posiciones, uno para la coordenada X y otro para la Y, e inicializarlos para los valores asociados a la posición de cada planeta. finalmente usas este bucle
for (i=0;i<10;i++{
Canvas->Draw(x[i],y[i],pBitmap[i]);
}


Espero haberte ayudado. 1 Saludo
No duden en plantear sus dudas, si puedo ayudar lo haré encantado.
Avatar de Usuario
Pernorak
Novato
Novato
 
Mensajes: 15
Registrado: Vie May 25, 2007 11:40 am

Notapor Pernorak el Mié May 30, 2007 6:48 am

"NOTA: ¿Hace falta decir que el TBitmap procede de la clase Graphics de manera explicita? -> "Graphics::""


Respondiéndome a mi mismo: Hace falta poner el denominador de la clase a la que pertenece el tipo TBitmap para que no se produzca una confusión con el tipo TBitmap que tiene Windows. Vamos que si no pones Graphics::TBitmap el compilador te salta con un error.

Matema espero que hayas conseguido lo que querías. Por cierto que en el código que yo expliqué anteriormente, hace falta liberar la memoria reservada al ppio para el puntero a Bitmap--> delete [] pBitmap ;

1 Saludo. :wink:
No duden en plantear sus dudas, si puedo ayudar lo haré encantado.
Avatar de Usuario
Pernorak
Novato
Novato
 
Mensajes: 15
Registrado: Vie May 25, 2007 11:40 am


Volver a C++ Builder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados