Consulta FreeImage.dll

Post Reply
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Consulta FreeImage.dll

Post by MOISES »

Hola:

¿Sigue siendo necesaria en la versión actual de FWH?

Gracias.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Consulta FreeImage.dll

Post by cnavarro »

Creo recordar que solo si usas el control IMAGE, pero no si utilizas el control XIMAGE, pruébalo
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Re: Consulta FreeImage.dll

Post by MOISES »

Ok, gracias. No sabía si ya habíais migrado todo a GDIPlus.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Consulta FreeImage.dll

Post by cnavarro »

Precisamente para mantener compatibilidad con código de usuarios que utilizaran otras versiones se hizo otra clase XIMAGE
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Re: Consulta FreeImage.dll

Post by MOISES »

Cristóbal:

En el REDEFINE faltan las cláusulas UPDATE, ON CLICK, ADJUST y WHEN.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Consulta FreeImage.dll

Post by cnavarro »

Moisés, te refieres a la clase TIMAGE ?
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Re: Consulta FreeImage.dll

Post by MOISES »

No, me refiero al REDEFINE DE XIMAGE.

Lo he solucionado así, pero sería bueno para facilitar la migración de IMAGE a XIMAGE que el redefine fuera el mismo.

Code: Select all

   oImage:bWhen  := { || .F.}
   oImage:bRClicked := { || mifuncion()}
Lo que si es más importante es que el menú METHOD PopupMenu( nRow, nCol, nFlags ) CLASS TXImage use FWStrings, y esté con la cláusula 2015 por favor.

Gracias.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Consulta FreeImage.dll

Post by cnavarro »

Moises, claúsulas hay muchas y es posible que en todos los controles no estén implementadas en su COMANDOS, pero como bien has hecho, para eso están sus codeblocks asociados ( yo suelo trabajar así, con el WITH OBJECT y definiendo sus propiedades, digo en general con cualquier objeto, no sólo con éste )
En cuanto a lo que comentas de cambiar el estilo del menu, prueba lo siguiente:
- Cambia el método POPUPMENU en la class XIMAGE

Code: Select all

//----------------------------------------------------------------------------//

METHOD PopupMenu( nRow, nCol, nFlags ) CLASS TXImage

   local oMenu, oClp

   if PCount() > 0 .and. ! ::lFocused
      ::SetFocus()
   endif

   if ::l2007
      MENU oMenu POPUP 2007
   endif
   if ::l2010
      MENU oMenu POPUP 2010
   endif
   if ::l2013
      MENU oMenu POPUP 2013
   endif
   if ::l2015
      MENU oMenu POPUP 2015
   endif
      MENUITEM "Center"       ACTION ::Center()
      MENUITEM "Fit Width"    ACTION ::FitWidth()
      MENUITEM "Fit Height"   ACTION ::FitHeight()
      MENUITEM "Fit In Rect"  ACTION ::FitRect()
      SEPARATOR
      MENUITEM "Crop"         ACTION ( ::lCrop := .t. )
      //SEPARATOR
      if ::lCanPaste
         SEPARATOR
         MENUITEM "Paste"        ACTION ::Paste() ;
            WHEN ::Paste( .t. )
      endif
      if ::lMnuSave
         SEPARATOR
         MENUITEM "Copy To ClipBoard"
         MENU
            MENUITEM "As Viewed"       ACTION ::CopyToClipBoard( .t. )
            MENUITEM "Original Image"  ACTION ::CopyToClipBoard( .f. )
         ENDMENU
         SEPARATOR
         MENUITEM "Save To File"
         MENU
            MENUITEM "As Viewed"       ACTION ::Save( .t. )
            MENUITEM "Original Image"  ACTION ::Save( .f. )
         ENDMENU
      endif
   ENDMENU

   If PCount() > 0
      ACTIVATE POPUP oMenu AT nRow, nCol OF Self
   endif

return oMenu

//----------------------------------------------------------------------------//
 
y en tu código sólo tendrás que hacer

Code: Select all

   @ 52, 02 XIMAGE oImageT SIZE 410, 200 OF oWndImg NOBORDER   
   oImageT:FitRect()
   oImageT:SetSource( uFile )
   oImageT:l2007 := .F.
   oImageT:l2010 := .F.
   oImageT:l2013 := .F.
   oImageT:l2015 := .T.
 
Dime si te funciona según tus necesidades
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Re: Consulta FreeImage.dll

Post by MOISES »

Lo primero, muchas gracias por tu ayuda y por tu tiempo.

Creo que para dejarlo perfecto el método debería coger el estilo del menú principal. Me suena que esto lo tenéis implementado, si no lo investigo yo.

Y te paso la implementación de FWString:

Code: Select all


   MENU oMenu POPUP 2007

      MENUITEM FWString("Center")       ACTION ::Center()
      MENUITEM FWString("Fit Width")    ACTION ::FitWidth()
      MENUITEM FWString("Fit Height")   ACTION ::FitHeight()
      MENUITEM FWString("Fit In Rect")  ACTION ::FitRect()

      SEPARATOR
      MENUITEM FWString("Crop")         ACTION ( ::lCrop := .t. )

      SEPARATOR
      if ::lCanPaste
         MENUITEM FWString("Paste")        ACTION ::Paste() ;
            WHEN ::Paste( .t. )
      endif

      MENUITEM FWString("Copy To ClipBoard")
      MENU
         MENUITEM FWString("As Viewed")        ACTION ::CopyToClipBoard( .t. )
         MENUITEM FWString("Original Image")  ACTION ::CopyToClipBoard( .f. )
      ENDMENU

      MENUITEM FWString("Save To File")
      MENU
         MENUITEM FWString("As Viewed")        ACTION ::Save( .t. )
         MENUITEM FWString("Original Image")  ACTION ::Save( .f. )
      ENDMENU
   ENDMENU

 
Y las traducciones de las cadenas que faltan:

{ "As Viewed", }, ;
{ "Crop", }, ;
{ "Fit Height", }, ;
{ "Fit In Rect", }, ;
{ "Fit Width", }, ;
{ "Original Image", }, ;
{ "Save To File", } ;
} )

Español:

{ "Como se ve", }, ;
{ "Recortar", }, ;
{ "Ajustar altura", }, ;
{ "Ajustar en rectángulo", }, ;
{ "Ajustar anchura", }, ;
{ "Imagen original", }, ;
{ "Guardar en archivo", } ;
} )

Francés:

{"Tel que vu", }, ;
{" Couper ", }, ;
{"Ajuster la hauteur", }, ;
{"Ajuster au rectangle", }, ;
{"Ajuster la largeur", }, ;
{"Image originale", }, ;
{"Enregistrer dans un fichier", } ;
} )

Alemán

"Wie gesehen",..;
{"Cut",..;
{"Höhe anpassen", }, ;
{"Für Rechteck anpassen", }, ;
{ "Breite anpassen", }, ;
{"Originalbild", },, ;
{ "In Datei speichern", } ;
} )


Va a quedar muy bien rematado.

Un saludo
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Consulta FreeImage.dll

Post by cnavarro »

MOISES wrote:Lo primero, muchas gracias por tu ayuda y por tu tiempo.

Creo que para dejarlo perfecto el método debería coger el estilo del menú principal. Me suena que esto lo tenéis implementado, si no lo investigo yo.
Para que coja el estilo del menú de la ventana, sólo tienes que cambiar en el código que te puse lo siguiente
( siempre y cuando la ventana o contenedor del objeto XIMAGE tenga menú claro )

Code: Select all

   oImageT:l2007 := oImageT:oWnd:oMenu:l2007
   oImageT:l2010 := oImageT:oWnd:oMenu:l2010
   oImageT:l2013 := oImageT:oWnd:oMenu:l2013
   oImageT:l2015 := oImageT:oWnd:oMenu:l2015
 
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Re: Consulta FreeImage.dll

Post by MOISES »

Para dejarlo pulido, me gustaría preguntarte si en la clase menú tienes un valor que diga el estilo concreto, o hay que ir estilo por estilo.

Si no, quizás podría quedar algo así:

oImageT:l2007 := if (hb_isnil(oImageT:oWnd:oMenu:l2007),, oImageT:oWnd:oMenu:l2007)

En todo caso, lo que veas mejor y te ayudo a testearlo para evitar errores con la próxima versión de Fivewin.

Muchas gracias.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Consulta FreeImage.dll

Post by cnavarro »

Moisés, las datas de estilos en la clase MENU, creo recordar que siempre están inicializadas en el method new a .F., por lo que no van a valer nil
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Post Reply