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 26-11-2014
Arnol125 Arnol125 is offline
Registrado
NULL
 
Registrado: nov 2014
Posts: 7
Poder: 0
Arnol125 Va por buen camino
Visor de Imágenes Delphi 7

Buenos dias,

tengo este código para visualizar imágenes JPG, pero tiene un problema que no muestra la imagen el en componente Image1

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, FileCtrl, ExtCtrls, Buttons;

type
  TImageForm = class(TForm)
    DirectoryListBox1: TDirectoryListBox;
    FileListBox1: TFileListBox;
    DriveComboBox1: TDriveComboBox;
    Panel1: TPanel;
    Image1: TImage;
    Bevel1: TBevel;
    stretchcheck: TCheckBox;
    BitBtn1: TBitBtn;
    FileEdit: TEdit;
    ViewBtn: TButton;
    Label1: TLabel;
    procedure FileListBox1Click(Sender: TObject);
    procedure stretchcheckClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure ViewBtnClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ImageForm: TImageForm;

implementation

uses Unit2;

{$R *.dfm}


procedure TImageForm.FileListBox1Click(Sender: TObject); //creo que aqui esta el error
var
  FileExt: string[4];
begin
  FileExt := UpperCase(ExtractFileExt(FileListBox1.Filename));
  if (fileExt='.jpg') then
  begin
  Image1.Picture.LoadFromFile(FileListBox1.Filename); // cargar imagen en el image1
  Label1.Caption:=extractfilename(filelistbox1.FileName); // cargar nombre del archivo en el label

  end;
end;

procedure TImageForm.stretchcheckClick(Sender: TObject);
begin
image1.stretch:=stretchcheck.checked; // ajustar tamaño de imagen al tamaño del image1
end;

procedure TImageForm.BitBtn1Click(Sender: TObject);
begin
close;
end;

procedure TImageForm.ViewBtnClick(Sender: TObject);
begin
 ViewForm.HorzScrollBar.Range := Image1.Picture.Width; // ampliar la imagen en una nueva mas grande
  ViewForm.VertScrollBar.Range := Image1.Picture.Height;
  ViewForm.Caption := Caption;
  ViewForm.Show;
  ViewForm.WindowState := wsNormal;
end;

end.

Última edición por roman fecha: 26-11-2014 a las 18:06:24. Razón: Agregar etiqueta [delphi]
Responder Con Cita
  #2  
Antiguo 26-11-2014
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
Hola, bienvenido al ClubDelphi.

Para publicar código usa las etiquetas [code] o [delphi]:


[delphi]
// Aquí tu código.
[/delphi]


Esta vez lo hago yo.

// Saludos
Responder Con Cita
  #3  
Antiguo 26-11-2014
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
En cuanto a tu duda. Tendrías que añadir la unidad jpeg en el uses.

// Saludos
Responder Con Cita
  #4  
Antiguo 26-11-2014
Arnol125 Arnol125 is offline
Registrado
NULL
 
Registrado: nov 2014
Posts: 7
Poder: 0
Arnol125 Va por buen camino
Observaciones

Este es el código
Archivos Adjuntos
Tipo de Archivo: rar visor.rar (43,5 KB, 26 visitas)
Responder Con Cita
  #5  
Antiguo 26-11-2014
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Estimado Arnol125:

Tal como señaló roman, debes añadir la unidad jpeg en el uses.
Además debes modificar el siguiente código, ya que no son necesarias las líneas que eliminé puesto que tienes una máscara en el FileListBox1 que permite seleccionar sólo archivos .jpg

Código Delphi [-]
procedure TImageForm.FileListBox1Click(Sender: TObject); //creo que aqui esta el error
begin
Image1.Picture.LoadFromFile(FileListBox1.Filename); // cargar imagen en el image1
Label1.Caption:=extractfilename(filelistbox1.FileName); // cargar nombre del archivo en el label
end;

y debes agregar la siguiente línea en este procedimiento, puesto que no has asignado el archivo que debe mostrar el Image1 del ViewForm.

Código Delphi [-]
procedure TImageForm.ViewBtnClick(Sender: TObject);
begin
 ViewForm.Image1.Picture.LoadFromFile(FileListBox1.Filename);
 ViewForm.HorzScrollBar.Range := Image1.Picture.Width;
  ViewForm.VertScrollBar.Range := Image1.Picture.Height;
  ViewForm.Caption := Caption;
  ViewForm.Show;
  ViewForm.WindowState := wsNormal;
end;

y de esta manera tu programa funciona sin problemas.
Te sugiero además poner en True las propiedades Center, Incremental Display, Proportional y Strech del Image1, para que no se distorsionen las imágenes.
Espero haber podido ayudarte.
Salu2
Responder Con Cita
  #6  
Antiguo 27-11-2014
Arnol125 Arnol125 is offline
Registrado
NULL
 
Registrado: nov 2014
Posts: 7
Poder: 0
Arnol125 Va por buen camino
Agradecimientos

Muchas gracias por su colaboración y aporte

quiero complementar con este procedimientos para finalizar el aporte

agregar un Edit

y colocar este codigo

Código Delphi [-]

  FileListBox1.Mask := '*' + Edit1.Text + '*.jpg';

Mucgas gracias
Responder Con Cita
  #7  
Antiguo 28-11-2014
Arnol125 Arnol125 is offline
Registrado
NULL
 
Registrado: nov 2014
Posts: 7
Poder: 0
Arnol125 Va por buen camino
Copiar archivos

Hola de nuevo

estoy tratando de copiar unas imagenes de una carpeta compartida por red a una carpeta en disco local y uso este codigo pero me sale el mensaje "Acceso Denegado"
los componentes son:
Button1 - Iniciar
Button2 - Cancelar
ProgressBar1 - componente
funcion ProgressRoutine

Código Delphi [-]

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, FileCtrl, ExtCtrls, Buttons, ComCtrls;

type
  TImageForm = class(TForm)
    Button1: TButton;
    Button2: TButton;
    ProgressBar1: TProgressBar;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);

  private
    { Private declarations }
  public

 { Public declarations }
  end;

var
  ImageForm: TImageForm;
  Cancel: boolean;

implementation
 

{$R *.dfm}


function ProgressRoutine(TotalFileSize, TotalBytesTransferred, StreamSize, StreamBytesTransferred: LARGE_INTEGER; dwStreamNumber, 
dwCallbackReason: DWORD; hSourceFile, hDestinationFile: THandle; lpData: Pointer): DWORD; stdcall;


begin
   Application.ProcessMessages();
   if(dwCallbackReason = CALLBACK_CHUNK_FINISHED) then
      ImageForm.ProgressBar1.Position:= (int64(TotalBytesTransferred) * 100) div int64(TotalFileSize);

   Result:= PROGRESS_CONTINUE;
end;


procedure TImageForm.Button1Click(Sender: TObject);
begin
 Cancel:= false;
  CopyFileEx('\\Sistemas\e\Usuario\Escritorio\catalogo','C:\catalogo1', @ProgressRoutine, nil, @Cancel, 0);
  ShowMessage(SysErrorMessage(GetLastError()));
end;

procedure TImageForm.Button2Click(Sender: TObject);
begin
Cancel:= true;
end;

end.

Última edición por Arnol125 fecha: 28-11-2014 a las 05:26:50. Razón: complemento de descripcion
Responder Con Cita
  #8  
Antiguo 29-11-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Aquí te contesto. No repitas preguntas en distintos foros.


Saludos.
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
Como ver un PDF en un Visor de Imagenes shoulder Varios 3 20-01-2014 04:14:14
¿como hacer con javascript visor de imagenes? JXJ HTML, Javascript y otros 3 20-08-2011 17:38:49
visor de imagenes MOCOSO07 Conexión con bases de datos 3 02-12-2009 17:04:44
Visor de imágenes jpg yekkita Gráficos 2 17-10-2006 06:45:52
Visor de imagenes .PGM emeceuy Gráficos 1 04-11-2004 23:41:07


La franja horaria es GMT +2. Ahora son las 06:14:47.


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