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 12-06-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Pegar imagen desde el Portapapeles (Clipboard)

Hola amig@s !

Ya estoy deseperado y no sé como seguir. He buscado de todo pero no consigo encontrar la solución, por eso tengo que acudir a vuestra ayuda.

Trato de copiar una imagen del Clipboard a un TImage. Todo funciona perfecto si he copiado previamente una imagen al Clipboard por ejemplo desde una página web.

Pero lo raro es que si abro el Explorador de Windows, elijo una imagen JPG o BMP y en el mismo explorador de windows le doy a copiar al clipboard ese fichero de tipo imagen, después el Delphi no es capaz de reconocer el formato y no sé por qué.

He probado con todas estas opciones, tanto con imágenes JPG como con BMP

Código Delphi [-]
Image1.Picture.Bitmap.LoadFromClipboardFormat(CF_BITMAP, ClipBoard.GetAsHandle(CF_BITMAP), 0);

Image1.Picture.LoadFromClipBoardFormat(cf_BitMap, ClipBoard.GetAsHandle(cf_Bitmap), 0);

Image1.Picture.Bitmap.Assign(Clipboard);

Gracias por vuestra ayuda.
__________________
Piensa siempre en positivo !

Última edición por gluglu fecha: 12-06-2008 a las 16:57:35.
Responder Con Cita
  #2  
Antiguo 12-06-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
A ver si de pronto le pego donde es... ¿Ya añadiste la unidad jpeg en el uses?
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 12-06-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Si, si funciona todo a la perfección, incluso grabando en mi base de datos. Tanto con imágenes JPG como BMP. Lo tengo todo hecho.

El problema es si lo que quiero hacer es abrir el explorador, elegir una imagen (JPG o BMP), elegir copiar, y después pegar esa imagen elegida en el explorador al TImage. Ahí es cuando me da error y me dice que el formato no es soportado. He intentado de todas las maneras averiguar el formato que es y no lo consigo.

Pregunto yo .... será que al copiar desde el explorador al portapapeles, lo que se está copiando es algún objeto del tipo 'File' o algo así, en vez de la propia imagen BMP o JPG ??
__________________
Piensa siempre en positivo !
Responder Con Cita
  #4  
Antiguo 12-06-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por gluglu Ver Mensaje
Si, si funciona todo a la perfección, incluso grabando en mi base de datos. Tanto con imágenes JPG como BMP. Lo tengo todo hecho.

El problema es si lo que quiero hacer es abrir el explorador, elegir una imagen (JPG o BMP), elegir copiar, y después pegar esa imagen elegida en el explorador al TImage. Ahí es cuando me da error y me dice que el formato no es soportado. He intentado de todas las maneras averiguar el formato que es y no lo consigo.

Pregunto yo .... será que al copiar desde el explorador al portapapeles, lo que se está copiando es algún objeto del tipo 'File' o algo así, en vez de la propia imagen BMP o JPG ??
Si lo que estas haciendo es Alt+Print Screen, lo que te guarda es un archivo al portapapeles del tipo

nombre.jpg.tmp

Habria que ver de que manera quitarle la extension tmp

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 12-06-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Comento de nuevo que todo me funciona perfectamente si lo que pego al TImage es una imagen que previamente he seleccionado por ejemplo en una página web.

También mi funciona si con un OpenDialog grabo la imagen seleccionada a la base de datos y después la muestro en el TImage.

Lo que pensaba que sería además una operación de lo más normal, era abrir el explorador de windows, seleccionar cualquier imagen JPG o BMP que tenga en mi disco, elija 'copiar' al portapapeles, y después vuelvo a mi programa, y en el TImage le doy 'pegar'.

Si la imagen la seleccioné en una web funciona. Si el fichero de imagen BMP o JPG lo seleccioné en el Explorador de Windows, no me funciona. Me salta el error diciendo que el formato no es soportado.

Es que el contenido del clipboard no es realmente una imagen si he seleccionado un fichero BMP o JPG en el explorador de windows ?
__________________
Piensa siempre en positivo !
Responder Con Cita
  #6  
Antiguo 12-06-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Estoy investigando.

Creo que queda claro que cuando elijo algo en el explorador de windows y lo copio al portapapeles, no estoy copiando un elemento del tipo BMP o JPG.

Acabo de encontrar esto para averiguar los nombres de los ficheros que haya seleccionado en el explorador y haya copiado al portapapeles. Creo que los tiros van por ahí.

Código Delphi [-]
var
   f: THandle;
   buffer: Array [0..MAX_PATH] of Char;
   i, numFiles: Integer;
begin
   Clipboard.Open;
   try
     f:= Clipboard.GetAsHandle( CF_HDROP ) ;
     If f <> 0 Then Begin
       numFiles := DragQueryFile( f, $FFFFFFFF, nil, 0 ) ;
       memo1.Clear;
       for i:= 0 to numfiles - 1 do begin
         buffer[0] := #0;
         DragQueryFile( f, i, buffer, sizeof(buffer)) ;
         memo1.lines.add( buffer ) ;
       end;
     end;
   finally
     Clipboard.close;
   end;
end;
__________________
Piensa siempre en positivo !
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
Pegar una imagen en un doc gabyzava Varios 3 17-08-2007 18:54:07
Pegar fichero desde portapapeles Rudorf API de Windows 2 17-04-2007 05:45:34
Copiar pegar y cortar una imagen!!!! Juangu Gráficos 4 09-06-2005 18:28:24
pegar imagen a word desde delphi ciscu Servers 3 14-01-2004 12:00:52
Texto-Clipboard-imagen OmarPerez Varios 1 25-11-2003 05:02:03


La franja horaria es GMT +2. Ahora son las 06:31:07.


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