Fichero BMP/JPG en xbrowse

Post Reply
User avatar
jll-fwh
Posts: 385
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia
Contact:

Fichero BMP/JPG en xbrowse

Post by jll-fwh »

Hola a todos;

Alguien podria hacerme memoria de como se carga un fichero BMP/JPG, etc en una celda del xbrowse? pero no usando array, es decir, en la base de datos tener un campo con el path y el nombre del fichero y que en cada registro muestre la fotografia.

Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 3.1.1 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA + OURXDBU -
S.O: XP / Win 7
Blog: http://javierlloris.blogspot.com.es/
e-mail: jllorispersonal@gmail.com
User avatar
jll-fwh
Posts: 385
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia
Contact:

Re: Fichero BMP/JPG en xbrowse

Post by jll-fwh »

Se me ha olvidado comentar que necesito implementarlo en la version de FWH812.

Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 3.1.1 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA + OURXDBU -
S.O: XP / Win 7
Blog: http://javierlloris.blogspot.com.es/
e-mail: jllorispersonal@gmail.com
User avatar
Bayron
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: Fichero BMP/JPG en xbrowse

Post by Bayron »

Hola jll,

Crea una imagen:

Code: Select all

REDEFINE BITMAP oImagen FILE Dbf->NombreFoto ID 4007 OF oDLG ADJUST UPDATE
en el Browse:

Code: Select all

ON CHANGE (oImagen:LoadBmp(Dbf->NombreFoto)
 
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
User avatar
jll-fwh
Posts: 385
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia
Contact:

Re: Fichero BMP/JPG en xbrowse

Post by jll-fwh »

Hola Bayron:

Igual no me he explicado bien. Lo que necesito es insertar una imagen en cada fila ( celda ) del xBrowse. Que por cada fila del xbrowse ademas de poder insertar por ejemplo los datos del articulo, pueda insertar la foto del producto. Es algo muy simple y tipico, pero en la version FWH812 que es donde necesito aplicarlo no funciona ya que la imagen debo de cargarla por cada fila del xbrowse del disco NO DE RECURSO.

Por ejemplo:

1.- Desde recurso se hace asi y funciona:

Code: Select all

        oCol:AddResource( "PuntoVerde" )
                 oCol:cHeader     := "Imagen"
                 oCol:bBmpData  := { || 1 }
                oCol:nWidth       := 25
 
2.- Cargar la imagen desde el disco asi, PERO NO FUNCIONA:

Code: Select all

        oCol:AddBmpFile( "c:\programa\imagen\PuntoVerde.BMP" )
                 oCol:cHeader     := "Imagen"
                 oCol:bBmpData  := { || 1 }
                oCol:nWidth       := 25
 
Me he leido la clase, pero no logro averiguar porque no se ve, porque cargarla si la carga.

Estoy usando FWH812.

Alguna idea?

Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 3.1.1 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA + OURXDBU -
S.O: XP / Win 7
Blog: http://javierlloris.blogspot.com.es/
e-mail: jllorispersonal@gmail.com
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Fichero BMP/JPG en xbrowse

Post by FranciscoA »

Hola, prueba asi:

oCol:nWidth := 25
oCol:nEditType := TYPE_IMAGE
oCol:lBmpStretch := .t.
oCol:lBmpTransparent := .T.
oCol:bStrImage := {|| "c:\programa\imagen\PuntoVerde.BMP" }
oCol:nDataBmpAlign := AL_CENTER
oCol:cHeader:="Imagen "

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
jll-fwh
Posts: 385
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia
Contact:

Re: Fichero BMP/JPG en xbrowse

Post by jll-fwh »

Hola Francisco:

Ese codigo sirve para versiones posteriores a la version FWH812, pero no para esta, ya que algunas DATAS no existen en mi version, como por ejemplo bStrImage, lBmpTransparent.

Me acabo de dar cuenta que con el codigo que puse, con imagenes de 16x16 si funciona, pero en cambio si cargo una imagen de mas tamaño y calidad entonces no.

Alguna idea?

Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 3.1.1 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA + OURXDBU -
S.O: XP / Win 7
Blog: http://javierlloris.blogspot.com.es/
e-mail: jllorispersonal@gmail.com
User avatar
jll-fwh
Posts: 385
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia
Contact:

Re: Fichero BMP/JPG en xbrowse

Post by jll-fwh »

Buenas;

Estoy compilando esto con la nueva version FWH1109.

Sobre como insertar en cada fila de un xbrowse una imagen diferente segun el path y nombre del fichero que este grabado en una BD.

De momento lo estoy probando con una sola imagen y directamente le indico yo el path y el fichero. Pero ahora necesito saber como ajustar la imagen al tamaño de la celda, ya que si una imagen es de 500x500 pixel al cargarla en el xbrowse, lo aplica al tamaño real de la imagen, y lo que necesito es que se cargue al tamaño de la celda, por ejemplo 50x50pixel.

Alguien sabe como?

Code: Select all

               oCol                 := oGrid:AddCol()
               oCol:AddBmpFile( "c:\jll1109\jcriamano\images\naomi.bmp"  )
               oCol:bBmpData        := { || 1 }
               oCol:nWidth          := 100
               oCol:lBmpStretch     := .T.
               oCol:lBmpTransparent := .T.
               oCol:cHeader         := "Imagen"
               oCol:nDataBmpAlign   := AL_CENTER
 
Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 3.1.1 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA + OURXDBU -
S.O: XP / Win 7
Blog: http://javierlloris.blogspot.com.es/
e-mail: jllorispersonal@gmail.com
User avatar
jll-fwh
Posts: 385
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia
Contact:

Re: Fichero BMP/JPG en xbrowse

Post by jll-fwh »

Esta es una imagen de como queda ahora.....

Image

La imagen quiero que se vea 50x50pixel.

Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 3.1.1 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA + OURXDBU -
S.O: XP / Win 7
Blog: http://javierlloris.blogspot.com.es/
e-mail: jllorispersonal@gmail.com
User avatar
jll-fwh
Posts: 385
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia
Contact:

Re: Fichero BMP/JPG en xbrowse

Post by jll-fwh »

Se me olvido comentar que ya lo solucione, en la ultima version FWH1109 pues han cambiado algunas cosas, una vez leida la clase para ver que diferencias tenia, ya tengo aplicado una función para este fin.

Cuando pase la función a clase la publicare.

La estoy haciendo con varios aspectos, entre ellos estilo Facebook.

Aquí dejo una imagen para ver más o menos como esta quedando.
Image

Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 3.1.1 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA + OURXDBU -
S.O: XP / Win 7
Blog: http://javierlloris.blogspot.com.es/
e-mail: jllorispersonal@gmail.com
Sdo
Posts: 23
Joined: Wed Apr 09, 2008 5:00 pm
Location: Brasil

Re: Fichero BMP/JPG en xbrowse

Post by Sdo »

Ola JLL !!!

Estou necessitando colocar uma imagem atraves do banco de dados assim como o seu, porém estou com dificuldades. Vc poderia me dar um exemplo de como conseguiu solucionar este seu tópico???

FWH1112

Grato !!!

Sergio...
FWH 9.07 - xHarbour 1.1.0 (Simplex) - PELLES C xDev 0.65
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Fichero BMP/JPG en xbrowse

Post by FranciscoA »

Hola Sergio, en samples tienes este ejemplo: xbrImag1.prg
Saludos
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
Sdo
Posts: 23
Joined: Wed Apr 09, 2008 5:00 pm
Location: Brasil

Re: Fichero BMP/JPG en xbrowse

Post by Sdo »

Ola Francisco,

Desculpe, este exemplo tinha me passado batido. Vou dar uma analisada nele.

Obrigado pela sua atençao e um abraço.

Sergio....
FWH 9.07 - xHarbour 1.1.0 (Simplex) - PELLES C xDev 0.65
User avatar
jll-fwh
Posts: 385
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia
Contact:

Re: Fichero BMP/JPG en xbrowse

Post by jll-fwh »

Hola SDO:

Aqui te dejo como se hace:

En la declaración del xBrowse:

Code: Select all

           oCol                 := oGrid:AddCol()
           oCol:nWidth          := 45
           oCol:nEditType       := TYPE_IMAGE
           oCol:nDataBmpAlign   := AL_CENTER
           oCol:lBmpStretch     := .T.
           oCol:lBmpTransparent := .T.
           oCol:bStrImage       := {|| Aves->Foto }

           oCol               := oGrid:AddCol()
           oCol:nDataStrAlign := 3
           oCol:nHeadStrAlign := 3
           oCol:nWidth        := 205
           oCol:cHeader       := aTitles[1]
           oGrid:aCols[2]:bPaintText  := { |oCol, hDC, cText,;
                                            aCoord, aColors, lHighlight | DrawText( oCol  ,;
                                                                          hDC             ,;
                                                                          Eval(bDatos[1]) +;
                                                                          CRLF+aTitles[2] +;
                                                                          Eval( bDatos[2]),;
                                                                          aCoord          ,;
                                                                          lHighlight      ,;
                                                                          oFontA          ,;
                                                                          oFontB          ,;
                                                                          CLR_BLACK       ,;
                                                                          CLR_GRAY        )}

 
Y la función que pinta:

Code: Select all

/*-----------------------------------------------------------------------------------------------------*/
STATIC Function DrawText( oCol, hDC, cText, aCoord, lHighlight, oBold, oItalic, nClrText1, nClrText2 )
/*-----------------------------------------------------------------------------------------------------*/

   LOCAL cLine, nFontHt, nAt, nOld

   LOCAL nTop     := aCoord[ 1 ]
   LOCAL nLeft    := aCoord[ 2 ]
   LOCAL nBottom  := aCoord[ 3 ]
   LOCAL nRight   := aCoord[ 4 ]
   LOCAL nRow     := nTop
   LOCAL nOldMode := SetBkMode( hDC, 1 )

   nAt := AT( CRLF, cText )
   IF nAt > 0
      cLine    := Left( cText, nAt - 1  )
      oBold:Activate( hDC )
      nFontHt  := GetTextHeight( oCol:oBrw:hWnd, hDC )
      nOld := SetTextColor( hDC, nClrText1 )
      DrawTextEx( hDC, cLine, { nRow, nLeft, nRow + nFontHt + 4, nRight }, )
      SetTextColor( hDC, nOld )
      oBold:DeActivate( hDC )
      nRow  += nFontHt + 4
      cLine := SubStr( cText, nAt + 2 )
   ELSE
      cLine := cText
      nLeft += 5
   END

   oItalic:Activate( hDC )
   nOld := SetTextColor( hDC, nClrText2 )
   DrawTextEx( hDC, cLine, { nRow, nLeft, nBottom, nRight }, )

   IF nOld != NIL
      SetTextColor( hDC, nOld )
   END

   oItalic:DeActivate( hDC )
   SetBkMode( hDC, nOldMode )

Return NIL

 
El resultado es algo así:

Image


Espero que te sirva.

Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 3.1.1 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA + OURXDBU -
S.O: XP / Win 7
Blog: http://javierlloris.blogspot.com.es/
e-mail: jllorispersonal@gmail.com
Post Reply