Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-04-2008
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Poder: 17
MARLON1 Va por buen camino
mostrar imagen

hola foro aqui ando de nuevo pidiendo su ayuda, bueno lo que quiero hacer es mostrar una imagen que seleccciono mediante un OpenPictureDialog1(dlAbrir), lo unico que eh podido hacer es mostrar el fieldname del OpenPictureDialog1 con este codigo :
begin
dlAbrir.Filter :=
'Imagen JPEG (*.jpg)|*.jpg|';
if dlAbrir.Execute then
begin
txtRuta.Text := dlAbrir.FileName;

end;
end;
pero no la imagen, el fieldname lo muestra en un edit, me podrian ayudar en decirme como hacer que la imagen se muestre en un panel por favor.
por su ayuda gracias
Responder Con Cita
  #2  
Antiguo 01-04-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola MARLON1,

¿probaste algo como?
Código Delphi [-]
if OpenPictureDialog1.Execute
  then Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 01-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
procedure TForm1.BuscaryAbrir1Click(Sender: TObject);
begin
    if OpenDialog1.Execute then
  begin
    CurrentFile := OpenDialog1.FileName;
    SaveStyles;
    Image.Picture.LoadFromFile(CurrentFile);
    RestoreStyles;
  end;
end;
Saludos
Responder Con Cita
  #4  
Antiguo 01-04-2008
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Poder: 17
MARLON1 Va por buen camino
gracias por la ayuda

Cita:
Empezado por Caral Ver Mensaje
Hola

Código Delphi [-]
procedure TForm1.BuscaryAbrir1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
CurrentFile := OpenDialog1.FileName;
SaveStyles;
Image.Picture.LoadFromFile(CurrentFile);
RestoreStyles;
end;
end;



Saludos
hola caral me podrias decir a que te refieres con CurrentFile por favor.
Responder Con Cita
  #5  
Antiguo 01-04-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 22
ixMike Va por buen camino
Cita:
Empezado por MARLON1 Ver Mensaje
hola caral me podrias decir a que te refieres con CurrentFile por favor.
Parece una variable string para almacenar el nombre del archivo (por si después la necesitas). "Current file" significa "archivo actual".
Responder Con Cita
  #6  
Antiguo 01-04-2008
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Poder: 17
MARLON1 Va por buen camino
Gracias A Todos Por Su Ayuda :d
Responder Con Cita
  #7  
Antiguo 01-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Significa que esta en el archivo actual.
Hay un ejemplo que trae Delphi esta en:
Demos, doc, GraphEx.
Ahi vas a poder darte cuenta de esto, de todos modos revisa este otro mas sencillo.
Código Delphi [-]
procedure TForm1.Open1Click(Sender: TObject);
Var
 Ruta: String;
begin
    Ruta:= Edit1.Text + '.Jpg';
    Image.Picture.LoadFromFile(Ruta);
end;
Saludos
Responder Con Cita
  #8  
Antiguo 01-04-2008
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Poder: 17
MARLON1 Va por buen camino
gracias por la ayuda

gracias a todos por la ayuda, ¿será que se puede guardar esa imagen el bd?, eh estado intentandolo tengo una tabla y en esa tabla tengo un campo tipo longblob, pero nose como guardar la imagen en la bd, uso mysql.Espero y me hechen otra manita gracias .
tengo este codigo pero me marca un error de sintaxis:

if Button3.ModalResult= MrOk then
begin
if Not FileExists (txtRuta.Text) then
begin
MessageDlg('La imagen no existe.',
mtWarning, [mbok], 0);
txtRuta.SetFocus;
exit;

end;
end;
// esta parte no guarda la imagen
query1.Close;
query1.sql.clear;
query1.sql.add ('insert into factseg8 img where id=:cla img=:imagen');
query1.ParamByName ('cla').Value:=DBEdit1.Text;
query1.ParamByName('imagen').DataType:=ftBlob; ¿podré tomar el dato del Image1?
query.open;

end;
Responder Con Cita
  #9  
Antiguo 01-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Codigo de ChackAll.
Código Delphi [-]

procedure TForm1.Button1Click(Sender: TObject);
var bmp: TBitmap; Stream: TStream;
begin
 if not OpenDialog1.Execute then Exit;

 bmp := TBitmap.Create;           // Creamos el objeto que "entiende" al Bitmap
 bmp.LoadFromFile(OpenDialog1.FileName);  // cargamos la imagen
 jpg.Assign(bmp);                 // signamos la imagen BMP al objeto del JPEG
 bmp.Destroy;                     // y liberamos el objeto. }

 ADOTable1.Open;                  // Abrimos la tabla
 ADOTable1.Insert;                // Insertamos una nueva tupla
 Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmWrite); // Asignamos el BLOB a un stream
 jpg.SaveToStream(Stream);        // y guardamos la imagen como JPEG (convertido), en el stream
 Stream.Destroy;                  // liberamos.
 ADOTable1.Post;                  // Guardamos.

end;
Saludos
Responder Con Cita
  #10  
Antiguo 01-04-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
MARLON1, primero debes considerar si es viable guardar la imagen en la base de datos... recuerda que esto hace crecer mucho a la base de datos. Todo dependerá del uso de la base de datos, la disponibilidad de almacenamiento, velocidad, etc..

Si realmente estás interesado en guardar imagenes, te recomiendo que utilices el buscador, se ha tratado en muchísimas ocasiones el tema. Busca por blob y/o TStream.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #11  
Antiguo 01-04-2008
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Poder: 17
MARLON1 Va por buen camino
gracias de nuevo a todos. tomaré muy en cuenta sus consejos.
Responder Con Cita
  #12  
Antiguo 02-04-2008
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Poder: 17
MARLON1 Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Codigo de ChackAll.

Código Delphi [-]

procedure TForm1.Button1Click(Sender: TObject);
var bmp: TBitmap; Stream: TStream;
begin
if not OpenDialog1.Execute then Exit;

bmp := TBitmap.Create; // Creamos el objeto que "entiende" al Bitmap
bmp.LoadFromFile(OpenDialog1.FileName); // cargamos la imagen
jpg.Assign(bmp); // signamos la imagen BMP al objeto del JPEG
bmp.Destroy; // y liberamos el objeto. }

ADOTable1.Open; // Abrimos la tabla
ADOTable1.Insert; // Insertamos una nueva tupla
Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmWrite); // Asignamos el BLOB a un stream
jpg.SaveToStream(Stream); // y guardamos la imagen como JPEG (convertido), en el stream
Stream.Destroy; // liberamos.
ADOTable1.Post; // Guardamos.

end;



Saludos
hola a todos ayer no me dio tiempo de probar este codigo que me proporciono caral, ahora que lo estoy probando me sale un error en el jpg, nose si falte declararlo lo declare pero me sigue saliendo ese error, ¿es una variable? o a que se reiere el jpg. Gracias
Responder Con Cita
  #13  
Antiguo 02-04-2008
Avatar de Nati1
Nati1 Nati1 is offline
Miembro
 
Registrado: nov 2007
Posts: 24
Poder: 0
Nati1 Va por buen camino
Código Delphi [-]

uses jpeg;

var jpg: TJPEGImage;

procedure TForm1.FormCreate(Sender: TObject);
begin
 jpg := TJPEGImage.Create;        // Creamos el objeto que "entiende" al JPEG

end;

procedure TForm1.Button1Click(Sender: TObject);
var bmp: TBitmap; Stream: TStream;
begin
 if not OpenDialog1.Execute then Exit;

 bmp := TBitmap.Create;           // Creamos el objeto que "entiende" al Bitmap
 bmp.LoadFromFile(OpenDialog1.FileName);  // cargamos la imagen
 jpg.Assign(bmp);                 // signamos la imagen BMP al objeto del JPEG
 bmp.Destroy;                     // y liberamos el objeto. }

 ADOTable1.Open;                  // Abrimos la tabla
 ADOTable1.Insert;                // Insertamos una nueva tupla
 Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmWrite); // Asignamos el BLOB a un stream
 jpg.SaveToStream(Stream);        // y guardamos la imagen como JPEG (convertido), en el stream
 Stream.Destroy;                  // liberamos.
 ADOTable1.Post;                  // Guardamos.

end;
Responder Con Cita
  #14  
Antiguo 02-04-2008
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Poder: 17
MARLON1 Va por buen camino
Cita:
Empezado por Nati1 Ver Mensaje
Código Delphi [-]

uses jpeg;

var jpg: TJPEGImage;

procedure TForm1.FormCreate(Sender: TObject);
begin
jpg := TJPEGImage.Create; // Creamos el objeto que "entiende" al JPEG

end;

procedure TForm1.Button1Click(Sender: TObject);
var bmp: TBitmap; Stream: TStream;
begin
if not OpenDialog1.Execute then Exit;

bmp := TBitmap.Create; // Creamos el objeto que "entiende" al Bitmap
bmp.LoadFromFile(OpenDialog1.FileName); // cargamos la imagen
jpg.Assign(bmp); // signamos la imagen BMP al objeto del JPEG
bmp.Destroy; // y liberamos el objeto. }

ADOTable1.Open; // Abrimos la tabla
ADOTable1.Insert; // Insertamos una nueva tupla
Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmWrite); // Asignamos el BLOB a un stream
jpg.SaveToStream(Stream); // y guardamos la imagen como JPEG (convertido), en el stream
Stream.Destroy; // liberamos.
ADOTable1.Post; // Guardamos.

end;


hola nati probe loque me dijiste pero ahora me sale un error Bitmap image is not valid ME PODRIAS AYUDAR. GRACIAS
Responder Con Cita
  #15  
Antiguo 02-04-2008
Avatar de Nati1
Nati1 Nati1 is offline
Miembro
 
Registrado: nov 2007
Posts: 24
Poder: 0
Nati1 Va por buen camino
En que lugar sale el error.
Ha colocado en el uses el jpg.
Esta cargando BMP o JPG directo.
Responder Con Cita
  #16  
Antiguo 03-04-2008
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Poder: 17
MARLON1 Va por buen camino
hola nati1

Cita:
Empezado por Nati1 Ver Mensaje
En que lugar sale el error.
Ha colocado en el uses el jpg.
Esta cargando BMP o JPG directo.
el error lo marca en el jpg

jpg.Assign(bmp);

gracias
Responder Con Cita
  #17  
Antiguo 03-04-2008
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Poder: 17
MARLON1 Va por buen camino
Cita:
Empezado por MARLON1 Ver Mensaje
el error lo marca en el jpg

jpg.Assign(bmp);

gracias
se me olvidaba si coloco en el uses jpeg me marca un error y no puedo correr el programa el error dice que el jpeg no esta definido.
Responder Con Cita
  #18  
Antiguo 03-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Revisalo completo:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, DB, ADODB,  DBCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Image1: TImage;
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    OpenDialog1: TOpenDialog;
    Memo1: TMemo;
    DBNavigator1: TDBNavigator;
    DataSource1: TDataSource;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses jpeg;

var jpg: TJPEGImage;

procedure TForm1.FormCreate(Sender: TObject);
begin
 jpg := TJPEGImage.Create;        // Creamos el objeto que "entiende" al JPEG

end;

procedure TForm1.Button1Click(Sender: TObject);
var bmp: TBitmap; Stream: TStream;
begin
 if not OpenDialog1.Execute then Exit;

 bmp := TBitmap.Create;           // Creamos el objeto que "entiende" al Bitmap
 bmp.LoadFromFile(OpenDialog1.FileName);  // cargamos la imagen
 jpg.Assign(bmp);                 // signamos la imagen BMP al objeto del JPEG
 bmp.Destroy;                     // y liberamos el objeto. }

 ADOTable1.Open;                  // Abrimos la tabla
 ADOTable1.Insert;                // Insertamos una nueva tupla
 Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmWrite); // Asignamos el BLOB a un stream
 jpg.SaveToStream(Stream);        // y guardamos la imagen como JPEG (convertido), en el stream
 Stream.Destroy;                  // liberamos.
 ADOTable1.Post;                  // Guardamos.

end;

procedure TForm1.Button2Click(Sender: TObject);
var  Stream: TStream;
begin
 ADOTable1.Open;                 // Abrimos la tabla
 ADOTable1.Last;                 // Nos vamos a la última tupla para ver la ultima imagen añadida.
 Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmRead); // Lo mismo que el anterior caso pero ahora en modo de escritura.
 jpg.LoadFromStream(Stream);     // Cargamos el BLOB al objeto JPEG
 Stream.Destroy;                 // liberamos...
 Image1.Picture.Assign(jpg);     // y asignamos la imagen al TPicture.

 end;

procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
var  Stream: TStream;
begin
 Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmRead); // Lo mismo que el anterior caso pero ahora en modo de escritura.
 jpg.LoadFromStream(Stream);     // Cargamos el BLOB al objeto JPEG
 Stream.Destroy;                 // liberamos...
 Image1.Picture.Assign(jpg);     // y asignamos la imagen al TPicture.

end;

end.
Recuerda que la foto tiene que ser BMP
Saludos
Responder Con Cita
  #19  
Antiguo 04-04-2008
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Poder: 17
MARLON1 Va por buen camino
Gracias

El error me lo marcaba por el formato de la imagen que lo tenia en jpg, y no le puse el jpg en el uses y funciono gracias.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
mostrar una imagen en un DBGrid adebonis Varios 12 25-09-2012 13:33:00
Mostrar Cualquier Imagen En Delphi Manuel_FG13 Gráficos 1 24-01-2008 06:45:37
Mostrar imagen en FastReport jack.krauser Impresión 0 26-05-2007 00:30:16
Mostrar una imagen JPG Doraemon Gráficos 1 19-01-2007 04:10:36
Mostrar mi cursor en una imagen franc28 Varios 4 25-04-2005 19:17:39


La franja horaria es GMT +2. Ahora son las 04:16:19.


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