![]() |
Crear componente Image en tiempo d Ejecucion
Hola a todos y gracias por la colaboracion que puedan prestarme.
Necesito saber como puedo hacer para crear un componente Image y cargar una imagen o bitmap en el, en tiempo de ejecucion, lo que pasa es que estoy conviertiendo un video en bitmaps pero tengo que mostrar cada uno de los bitmaps por separado en un Image diferente entonces necesito crear uno por cada bitmap que me vaya creando la conversion(Video a Bimaps). Agradezco cualquier colaboracion ya que no se mucho del Tema. Atte: Una Jessica Confundida :confused: :confused: :confused: :confused: :confused: :confused: |
Código:
var vImagen: TImage; Código:
vImagen.Picture.Assign(image1.picture); Código:
vImagen.Picture.bitmap.Assign(VariableBMP); |
Crear componente Image en time de ejecucion
Gracias por la colaboracion Bebe gatosoft
Resulta que ingreso lo que tu me envias y me saca un error de declaracion del image y ya lo tengo declarado, te voy ha enviar un peazo del codigo que me convierte el video en los bitmaps, y tu lo revisas, bueno si puedes, te lo agardeceria en el alma, ese codigo si tu lo corres, veras que toma un video y lo convierte en frames de bitmaps, lo que necesito es que cada uno de esos bitmaps me lo despliegue en un tImage diferente, ese el el gallo. procedure TFrmVisualizarKVNN.BitBtn5Click(Sender: TObject); var Bitmap: TBitmap; i : integer; begin begin for i := 1 to MediaPlayer1.Length do begin Edit3.Text := IntToStr(i); MediaPlayer1.StartPos := i; MediaPlayer1.EndPos := i; MediaPlayer1.Play; Bitmap := TBitmap.Create; Try Bitmap.Width := Panel1.Width; Bitmap.Height := Panel1.Height; Bitmap.PixelFormat := pf24bit; Bitmap.Canvas.CopyRect(Bitmap.Canvas.ClipRect, FrmvisualizarKVNN.Canvas, Rect(Panel1.Left, Panel1.Top, Panel1.Left + Bitmap.Width, Panel1.Top + Bitmap.Height)); Image1.Picture.Bitmap := Bitmap; Bitmap.SaveToFile(IntToStr(i) + '.BMP'); //CLAVE finally Bitmap.Free end; Sleep (250); //250 Application.ProcessMessages end end end; Por favor cualquier ayuda, es que en realidad no se mucho de tratamiento de imagenes y videos... :confused: :confused: :confused: :confused: :confused: :confused: |
Recuerda usar las etiqueta [ Delphi ] y [ / Delphi ] (sin espacios ) cuando vayas a escribir código en Delphi. Tampoco estaría de más que intentases identar el código.
Lo idento y pongo yo las etiquetas para que el que quiera responder vea más claro el código.
Había partes que al identar me han sonado rara, los he puesto como comentarios, por si son necesarias pero yo no alcanzo para comprender su porqué. |
Crear Componente en tiempo de ejecucion 3
Muchas gracias por la aclaracion de las etiquetas y por lo de la indentada, la verdad es que todo mi codigo esta indentado pero al copiar y pegar sin usar las etiquetas quedo asi de horrible, pero no creas que soy tan desordenada como para tener un codigo, completamente apartir de la linea inicial, si ese fuera mi nivel ni siquiera estaba en un foro delphi, ahh y si, es un solo Begin es solo que antes estaba tratando de hacer algo y por eso inclui otro begin y otro end por supuesto....
Muchas gracias en verdad ppor las correcciones y por publicarme de nuevo el codigo. Ahora ya aclarado todo me gustaria saber si puedes ayudarme.... Por favor :confused: :confused: :confused: :confused: :confused: :confused: |
Hola.
Si ya has entendido como crear un TImage en tiempo de ejecución, lo único que está pendiente es añadir el código necesario en lugar de la asignación que haces ahora al único TImage disponible. Donde dice image1.Picture.Bitmap := Bitmap; Además, podes quitar la línea SaveToFile si no te interesa guardarlo a un archivo bmp. Intentalo por vos misma, y volve aqui con dudas mas puntuales. Hasta luego y que te vaya bien... ;) |
Hola Jessica, revisé tu codigo y no me dio ningun error.
Abri un nuevo proyecto, puse un Tpanel, un Tedit, un TMediaPalyer y un TIMAGE. Lo ejecute y me generó como 300 archivos bmp. (afortunadamente era un clip de video.) :p Dices que el error que te sale tiene que ver con la declaracion del ¿TImage?, supongo entonces que no tienes un componente TImage dentro de tu formulario sino que lo declaraste como variable. y no veo donde lo creas. entonces modifiqué tu codigo , dejando en el formulario el panel, el mediaplayer y el edit y declarando el Timage como una variable, asi:
Revisa y me cuentas. |
La franja horaria es GMT +2. Ahora son las 06:40:53. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi