Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-05-2004
Metralla Metralla is offline
Miembro
 
Registrado: may 2004
Ubicación: Palma de Mallorca
Posts: 17
Poder: 0
Metralla Va por buen camino
Unhappy crear una imagen

hola a todos.
Como podria hacer para crear una image al apretar un boton de un toolbar.
No cargar la imagen y que se ponga en un image al apretar el boton sino que me haga las dos cosas directamente.
Yo tengo puesto este codigo , si no podeis reponderme a ver si me podeis decir algun manual donde los explique o algo asi.
Código:
procedure TForm1.ToolButton20Click(Sender: TObject);
begin
	image := timage.Create(form1);
	with image do
	begin
		image.Picture.LoadFromFile   
									 ('Z:\Pedro\rave\definitivo\iconos\camera.bmp');
	end;
end;
Gracias.
Responder Con Cita
  #2  
Antiguo 20-05-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Hablar de "crear una imagen" es algo ambiguo... Tu quieres crear un objeto TImage y mostrarlo (supongo)... Lo único que le faltaría a tu código, es asignarle un Parent a tu TImage:

Código Delphi [-]
  Image := TImage.Create(form1);
  with image do
  begin
    image.Picture.LoadFromFile('Z:\Pedro\rave\definitivo\iconos\camera.bmp');
    image.Parent := Self;
  end;
El parent es el control "padre" donde se alojará tu TImage.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 20-05-2004
Metralla Metralla is offline
Miembro
 
Registrado: may 2004
Ubicación: Palma de Mallorca
Posts: 17
Poder: 0
Metralla Va por buen camino
No lo entiendo

Gracias delphi.com.ar si es el objeto timage lo que quiero crear
no sabia bien como explicarlo y se me habia pasado por alto el detalle del parent.
Pero aun asi no me la crea, le he puesto unos
try except para ver si me entraba bien en el with y parece que si.

¿No tendria que ponerle unas cordenadas o algo
asi para decirle donde me tiene que crear el timage?
Es que si no no entiendo como no me lo crea.

Código:
procedure TForm1.ToolButton20Click(Sender: TObject);
begin
	image := timage.Create(form1);
	try
	begin
		with image do
		begin
		try
			image.Picture.LoadFromFile('Z:\Pedro\rave\definitivo\iconos\camera.bmp');
		except
			showmessage('direccion no');
		end;
		image.Visible := true;
		image.Parent := form1;
		end;
	end;
	except
		showmessage('no lo crea');
	end;
end;
Muchas Gracias por la ayuda
Responder Con Cita
  #4  
Antiguo 20-05-2004
Metralla Metralla is offline
Miembro
 
Registrado: may 2004
Ubicación: Palma de Mallorca
Posts: 17
Poder: 0
Metralla Va por buen camino
Lo he probado tanto con:
image.parent:= self;
como con
image.parent := form1;
Responder Con Cita
  #5  
Antiguo 20-05-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo probé tu código anterior modificando únicamente el nombre del archivo bmp y me funcionó perfecto. Debe haber algo más en tu código que está afectando ésta parte.

¿Has intentado probar este código en un proyecto vacío? Si ahí funciona entonces mira de ir tratando de igualar las condiciones con el proyecto original para ver qué es lo que sucede.

// Saludos
Responder Con Cita
  #6  
Antiguo 20-05-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por Metralla
¿No tendria que ponerle unas cordenadas o algo asi para decirle donde me tiene que crear el timage?
Sería lo correcto si quieres ubicar tu imagen en algún sitio en particular.
Recuerda que el Parent es el control donde se ubicará el tuyo, supongamos: si Form1 tiene un panel con alineación alClient, es probable que tu imagen no se vea porque quede debajo de este panel. En este caso deberías escoger otro control para ubicar la imagen.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #7  
Antiguo 20-05-2004
sanxpue sanxpue is offline
Miembro
 
Registrado: jul 2003
Posts: 196
Poder: 21
sanxpue Va por buen camino
Talking Haber si te funciona con esto

Primero si vas a usar with quitale Image. a las propiedades que le
pertenezca o de plano no uses with

Segundo hay que ver si Z no es una unidad de red por que luego cuesta
trabajo llamarlas por que el servidor puede estar trabajando en otro proceso

Si hasta ahi vamos bien entonces

Código Delphi [-]
procedure TForm1.ToolButton20Click(Sender: TObject);
begin
  image := timage.Create(form1);
  try
    begin
       with image do
       begin
         try
           Picture.LoadFromFile('Z:\Pedro\rave\definitivo\iconos\camera.bmp');
         except
           showmessage('direccion no');
         end;
         
           Parent := Self;
           Visible := true;
           Stretch := True; //para que se acode el image por que puedes
                             //andar creando pero su tamaño puede ser width = 0 y 
                            //height = 0
           
       end;
    end;
  except
    showmessage('no lo crea');
  end;
end;
__________________
saludos desde Puebla Mexico..
asanxt@hotmail.com
"como siempre a sus ordenes y siempre con buena cara"
'lolita me excitas, perversa piel de melocotón'
Responder Con Cita
  #8  
Antiguo 21-05-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por sanxpue
Segundo hay que ver si Z no es una unidad de red por que luego cuesta trabajo llamarlas por que el servidor puede estar trabajando en otro proceso
Si hay algún problema para ubicar o cargar el archivo, la llamada LoadFormFile producirá un error. No creo que este sea el problema.
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #9  
Antiguo 21-05-2004
Amilius Amilius is offline
No confirmado
 
Registrado: ene 2004
Posts: 138
Poder: 0
Amilius Va por buen camino
Código Delphi [-]
   function CrearBitmapDeArchivo(const filename:string):Tbitmap;
   begin
     try
         result:=Tbitmap.create;
         with result do
         begin
           HandleType:=bmDib;/* "Device Independet Bitmap", si quieres hacer tratamiento de imagen. */
           LoadFromFile(filename);
           PixelFormat:=pf24bit;  // Si quieres tratar la imagen.
           dormant;{ Opcional para reducir consumo de recursos de GDI y recomendado para tratamiento de imágenes }
        end;
     except
         result:=nil;
     end;
   end;
   
   ...
   imagen:Tbitmap;
   ...
   imagen:=CrearBitmapDeArchivo('logo.bmp');
   ...
 imagen.free; (* " freenil(imagen) " si es posible que se llame con la referencia imagen al destructor del objeto más de una vez. *)
   ...

Última edición por Amilius fecha: 22-05-2004 a las 18:59:32.
Responder Con Cita
  #10  
Antiguo 21-05-2004
Metralla Metralla is offline
Miembro
 
Registrado: may 2004
Ubicación: Palma de Mallorca
Posts: 17
Poder: 0
Metralla Va por buen camino
Gracias a todos

El codigo me funciona desde el principio lo he probado en un formulario a parte y va bien.
Código:
  image := timage.Create(form1);
  try
	begin
	   with image do
	   begin
		 try
		   Picture.LoadFromFile('Z:\Pedro\rave\definitivo\iconos\camera.bmp');
		 except
		   showmessage('direccion no');
		 end;
		   Parent := Self;
		   Visible := true;
		   Stretch := True; //para que se acode el image por que puedes
							 //andar creando pero su tamaño puede ser width = 0 y
							//height = 0
	   end;
	end;
  except
	showmessage('no lo crea');
  end;
Pero en el que tenia antes no me imagino que se debe crear pero no se donde.
Mirare de descubrirlo .Gracias a todos por la ayuda.
El codigo de arriba funciona perfectamente.
Cuando descubra porque no funciona en mi aplicacion ya lo pondre.
Responder Con Cita
  #11  
Antiguo 21-05-2004
Metralla Metralla is offline
Miembro
 
Registrado: may 2004
Ubicación: Palma de Mallorca
Posts: 17
Poder: 0
Metralla Va por buen camino
ya esta

Pese a que la respuesta a mi problema es muy humillante la pondre.
Se me creaba todo el rato pero como no le decia donde, se creaba en la esquina superior izquierda, pero ahi tengo un canvas con pestañas y un toolbar y claro se creaba debajo y no la veia.
Creo que me ire a dar una vuelta.
Gracias a todos
Responder Con Cita
  #12  
Antiguo 21-05-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por Metralla
Se me creaba todo el rato pero como no le decia donde, se creaba en la esquina superior izquierda, pero ahi tengo un canvas con pestañas y un toolbar y claro se creaba debajo y no la veia.
Eso me suponía cuando suponía:
Cita:
Empezado por Delphi.com.ar
...si Form1 tiene un panel con alineación alClient, es probable que tu imagen no se vea porque quede debajo de este panel. En este caso deberías escoger otro control para ubicar la imagen.


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #13  
Antiguo 21-05-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Metralla
Pese a que la respuesta a mi problema es muy humillante la pondre.
Hombre, de esto nada. Todos tenemos días así. Alguna vez me pasó estar horas viendo por qué no podia mandar a imprimir un documento hasta que finalmente me percaté de que tenía desconectado el cable de la impresora.

// Saludos
Responder Con Cita
  #14  
Antiguo 21-05-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
Cita:
Empezado por roman
me pasó estar horas viendo por qué no podia mandar a imprimir un documento hasta que finalmente me percaté de que tenía desconectado el cable de la impresora.
Pruff.... eso suele pasar... son cosas como:
-Abrir 14 veces el winamp y reiniciar el pc para darte cuenta que tienes apagado el altavoz.
-Coger el teléfono, marcar los números y darte cuenta que es el mando del televisor.
-Etc, etc.
__________________
:)
Responder Con Cita
  #15  
Antiguo 21-05-2004
sanxpue sanxpue is offline
Miembro
 
Registrado: jul 2003
Posts: 196
Poder: 21
sanxpue Va por buen camino
Talking Oh de esos dias

Cuando estas haciendo el sistema y se te cicla y se te cicla y te tienes que levantar corriendo por que primero :

"Estas durmiendo " y segundo "Te estas haciendo del baño"
__________________
saludos desde Puebla Mexico..
asanxt@hotmail.com
"como siempre a sus ordenes y siempre con buena cara"
'lolita me excitas, perversa piel de melocotón'
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:40:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi