Page 1 of 1

extraño comportamiento de GDIP

PostPosted: Thu Jun 15, 2023 6:45 pm
by JoseAlvarez
Hola a todos amigos de fivewin.

Leyendo el foro mientras consultaba otra cosa, me apareció un post donde hablan de GDIP , no sabia de su existencia pero me pareció genial para mejorar la apariencia de los controles mientras se encuentran desactivados. Inmediatamente quise aplicarlo y lo hice, pero noto un extraño comportamiento. Cuando uso el gdip, la imagen del boton (formato PNG) se muestra borrosa, no tiene la misma nitidez que cuando no uso el gdip. Aca les dejo una imagen donde espero se pueda apreciar la diferencia de nitidez:

Image

alguien sabe que puede estar ocurriendo? sera que la imagen debe tener cierto grado de resolucion?

es lo unico que se me ocurre.

Gracias de antemano.

Re: extraño comportamiento de GDIP

PostPosted: Thu Jun 15, 2023 7:58 pm
by karinha
Estimado, esto?

Code: Select all  Expand view

// C:\FWH..\SAMPLES\GERMANO.PRG

#include "FiveWin.ch"

STATIC lChangeBtn := .T.

function Main()

   LOCAL oDlg, oBtn, oBtn2, oBtn3, oBtn4, oFont, cTile := "WHEN IN BTNBMP"

   SKinButtons()

   DEFINE FONT oFont  NAME "Ms Sans Serif"  SIZE 00, -14 BOLD

   DEFINE DIALOG oDlg TITLE cTile FONT oFont SIZE 600, 200

   oDlg:lHelpIcon := .F.
   
   @ 10, 10 BTNBMP oBtn FILE "..\bitmaps\btntouch.bmp" SIZE 65, 50 NOBORDER  ;
      PROMPT "Change" FLAT 2007 GDIPLUS LEFT                                 ;
      ACTION CHANGE_BTN( oBtn2, oBtn3 )

   oBtn:LoadBitmaps( ,,,,,,, "..\bitmaps\btntouch2.bmp" )

   @ 10, 80 BTNBMP oBtn2 FILE "..\bitmaps\PNGS\image2.png" SIZE 65, 50 LEFT  ;
      FLAT 2007 GDIPLUS NOROUND PROMPT "Con GDIP" WHEN( lChangeBtn )         ;
      ACTION( oDlg:End() )

   oBtn2:bClrGrad = {| lInvert | If( ! lInvert, ;
      { { 0.25, RGB( 245, 245, 235 ), RGB( 250, 250, 245 ) }, ;
      { 0.75, RGB( 250, 250, 245 ), RGB( 245, 245, 235 ) } }, ;
      { { 0.25, RGB( 250, 250, 245 ), RGB( 245, 245, 235 ) }, ;
      { 0.75, RGB( 245, 245, 235 ), RGB( 250, 250, 245 ) } } ) }

   oBtn2:nClrBorder := iif( oBtn:lMOver, RGB( 219, 230, 244 ), RGB( 219, 230, 244 ) )

   oBtn2:lCancel := .T.

   oBtn2:LoadBitmaps( ,,,,,,, "..\bitmaps\PNGS\image6.png" )

   // SIN GDIPLUS
   @ 10, 150 BTNBMP oBtn3 FILE "..\bitmaps\PNGS\image3.png" SIZE 65, 50 LEFT  ;
      FLAT              NOROUND PROMPT "Sin GDIP" WHEN( lChangeBtn )          ;
      ACTION( oDlg:End() )

   oBtn3:LoadBitmaps( ,,,,,,, "..\bitmaps\PNGS\image4.png" )

   @ 10, 220 BTNBMP oBtn4 FILE "..\bitmaps\PNGS\image2.png" SIZE 65, 50 LEFT  ;
      FLAT 2007 GDIPLUS NOROUND PROMPT "Show GDIP"                            ;
      ACTION REFRESH_BTN( oBtn2, oBtn3 )

   oBtn4:LoadBitmaps( ,,,,,,, "..\bitmaps\PNGS\image1.png" )

   ACTIVATE DIALOG oDlg CENTERED

RETURN NIL

FUNCTION CHANGE_BTN( oBtn2, oBtn3 )

   lChangeBtn := .F.

   //oBtn2:Disable() // Hide()
   oBtn2:Refresh()

   //oBtn3:Disable() // Hide()
   oBtn3:Refresh()

RETURN( .T. )

FUNCTION REFRESH_BTN( oBtn2, oBtn3 )

   lChangeBtn := .T.

   //oBtn2:Enable() // Hide()
   oBtn2:Refresh()

   //oBtn3:Enable() // Hide()
   oBtn3:Refresh()

RETURN( .T. )

// FIN / END - kapiabafwh@gmail.com
 


Regards, saludos.

Re: extraño comportamiento de GDIP

PostPosted: Thu Jun 15, 2023 8:25 pm
by JoseAlvarez
Estimado amigo Joao,

Gracias por la ayuda,

Las imagenes, las tomo desde un archivo de recursos (rc) no desde el dico duro.

¿Será ese el problema?

Re: extraño comportamiento de GDIP

PostPosted: Thu Jun 15, 2023 8:38 pm
by karinha
creo que no. envia-me el archivo.rc para pruebas.

Saludos.

Re: extraño comportamiento de GDIP

PostPosted: Mon Jun 19, 2023 2:37 pm
by karinha
Estimado, use una .BMP ó .JPG:

https://forums.fivetechsupport.com/viewtopic.php?f=6&t=20005&p=105549&hilit=jpg+en+fichero+rc#p105549

No me gusta RCDATA.

Más gusto és gusto.

Saludos.

Re: extraño comportamiento de GDIP

PostPosted: Mon Jun 19, 2023 3:17 pm
by JoseAlvarez
Estimado joao.

Muchas gracias nuevamente por tu amabilidad y ayuda.

Ok, voy a probar con JPG. Use PNG porque en los post referentes a Gdip recomiendan usar PNG

Re: extraño comportamiento de GDIP

PostPosted: Mon Jun 19, 2023 4:18 pm
by JoseAlvarez
Joao,

Ya probé con .JPG y .BMP

El comportamiento es el mismo, la imagen se ve borrosa.

Gracias igualmente, seguire buscando.

Re: extraño comportamiento de GDIP

PostPosted: Mon Jun 19, 2023 4:25 pm
by karinha
JoseAlvarez wrote:Joao,

Ya probé con .JPG y .BMP

El comportamiento es el mismo, la imagen se ve borrosa.

Gracias igualmente, seguire buscando.


Voy probar.

Saludos.

Re: extraño comportamiento de GDIP

PostPosted: Mon Jun 19, 2023 4:37 pm
by karinha
José, hazlo así, según el ejemplo en el enlace de descarga, es sencillo hacerlo directamente en el archivo .rc.

Modifique la CLASE BITMAP.PRG de su versión, según el modelo que le envié en el ejemplo.

Download completo en mi Mega Upload:


https://mega.nz/file/0JdikKhb#xyLex9_521pWMAvTJs3fDi-2l31-nn2g7qDhow53Vy8

Regards, saludos.