Page 1 of 1

Copy & Paste y grabar imagen en archivo

PostPosted: Tue Sep 27, 2022 12:20 pm
by Willi Quintana
Amigos buenos días:
Utilizo XIMAGE, y requiero copiar una imagen (desde la WEB) y pegarla en un control XIMAGE, activando lCanPaste := .t. funciona el pegado, pero lo que no puedo hacer es grabar esa imagen pegada a un archivo:
este es código que utilizo, gracias por vuestra atención
Code: Select all  Expand view

       REDEFINE XIMAGE oFoto ;  //
                RESOURCE "NOIMAGEN" ;  //
                ID 120 OF oDlg
                oFoto:lCanPaste := .t.
                oFoto:lBmpTransparent := .f.
                oFoto:cToolTip := "Click Derecho Modificar Imagen 310 x 250 Px

Re: Copy & Paste y grabar imagen en archivo

PostPosted: Tue Sep 27, 2022 1:00 pm
by karinha

Re: Copy & Paste y grabar imagen en archivo

PostPosted: Tue Sep 27, 2022 1:45 pm
by Willi Quintana
Gracias por el enlace, no me ayuda, sa hacer el ::save indica "Formato Invalido"

Re: Copy & Paste y grabar imagen en archivo

PostPosted: Tue Sep 27, 2022 6:06 pm
by cmsoft
Asi Willy?
Aunque no es desde recursos
Code: Select all  Expand view

#include "FiveWin.ch"
#include "image.ch"
STATIC oWnd, oBar
function Main()
local oDlg, oFoto, nQuality := 100, oBot
DEFINE DIALOG oDlg SIZE 980,300 PIXEL ;
      TITLE "COPY PASTE XIMAGE"
  @ 05,30  XIMAGE oFoto FILE ".\nofoto.jpg" OF oDlg SIZE 150,75
  oFoto:lCanPaste := .t.
  oFoto:lBmpTransparent := .f.
  oFoto:cToolTip := "Click Derecho Modificar Imagen 310 x 250 Px"  
  @ 05,05 BUTTON oBot PROMPT "Save" ACTION (oFoto:Refresh(), oFoto:Save(.f.,".\newfile.jpg", nQuality)) PIXEL SIZE 20,12
  ACTIVATE DIALOG oDlg CENTERED
  oFoto:End()
return NIL

Re: Copy & Paste y grabar imagen en archivo

PostPosted: Tue Sep 27, 2022 8:56 pm
by Willi Quintana
HOla César, sale este aviso:

Image type not supported

Re: Copy & Paste y grabar imagen en archivo

PostPosted: Tue Sep 27, 2022 10:11 pm
by cmsoft
La imagen que pegas es JPG u otro formato?
Yo hice la prueba con una imagen JPG y el archivo me lo guarda bien
Voy a probar con copiando una con otro formato, a ver que me dice

Re: Copy & Paste y grabar imagen en archivo

PostPosted: Tue Sep 27, 2022 10:17 pm
by cmsoft
Hice las pruebas con JPG, PNG y webp y me las guarda bien.

La clase Ximage no tiene ese mensaje (por lo menos la versión que yo tengo), solo tiene este mensaje cuando no puede grabar en el metodo Save: ? "No image to save"

Re: Copy & Paste y grabar imagen en archivo

PostPosted: Wed Sep 28, 2022 12:51 am
by Willi Quintana
Por favor, si puedes hacerlo desde recursos
GRacias

Re: Copy & Paste y grabar imagen en archivo

PostPosted: Wed Sep 28, 2022 2:53 am
by cmsoft
Desde recursos: (También me funciona a mi)
Code: Select all  Expand view
#include "FiveWin.ch"
#include "image.ch"
STATIC oWnd, oBar
function Main()
local oDlg, oFoto, nQuality := 100, oBot
DEFINE DIALOG oDlg NAME "WILLY"

  REDEFINE XIMAGE oFoto FILE '.\oldimg.jpg"' ;  //
                ID 130 OF oDlg
                oFoto:lCanPaste := .t.
                oFoto:lBmpTransparent := .f.
                oFoto:cToolTip := "Click Derecho Modificar Imagen 310 x 250 Px"
  REDEFINE BUTTON oBot ID 120 PROMPT "Save" ACTION (oFoto:Refresh(), oFoto:Save(.f.,".\newfile.jpg", nQuality))
ACTIVATE DIALOG oDlg CENTERED
 

Y el .rc
Code: Select all  Expand view
1 MANIFEST "WindowsXP.Manifest"

WILLY DIALOG DISCARDABLE 6, 18, 158, 70
STYLE WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_VISIBLE
CAPTION "Copy Paste Image"
FONT 10, "MS Sans Serif"
{
  CONTROL "Save", 120, "Button", WS_TABSTOP, 0, 4, 36, 14
  CONTROL "", 130, "TXIMAGE", 0x00000000, 40, 4, 116, 56
}

Re: Copy & Paste y grabar imagen en archivo

PostPosted: Sat Oct 01, 2022 2:17 am
by Willi Quintana
GRacias, fucniono,,,, ahora esta muy bien....

Re: Copy & Paste y grabar imagen en archivo

PostPosted: Sat Oct 01, 2022 11:58 am
by cmsoft
Estupendo Willi!