FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Fichero BMP/JPG en xbrowse
Posts: 408
Joined: Fri Jan 29, 2010 08:14 PM
Fichero BMP/JPG en xbrowse
Posted: Wed Sep 28, 2011 01:35 AM

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 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
Posts: 408
Joined: Fri Jan 29, 2010 08:14 PM
Re: Fichero BMP/JPG en xbrowse
Posted: Wed Sep 28, 2011 01:55 AM

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

Un saludo
JLL

Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM
Re: Fichero BMP/JPG en xbrowse
Posted: Wed Sep 28, 2011 02:18 AM
Hola jll,

Crea una imagen:

Code (fw): Select all Collapse
REDEFINE BITMAP oImagen FILE Dbf->NombreFoto ID 4007 OF oDLG ADJUST UPDATE


en el Browse:

Code (fw): Select all Collapse
ON CHANGE (oImagen:LoadBmp(Dbf->NombreFoto)

=====>

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

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 408
Joined: Fri Jan 29, 2010 08:14 PM
Re: Fichero BMP/JPG en xbrowse
Posted: Wed Sep 28, 2011 10:57 PM
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 (fw): Select all Collapse
        oCol:AddResource( "PuntoVerde" )
                 oCol:cHeader     := "Imagen"
                 oCol:bBmpData  := { || 1 }
                oCol:nWidth       := 25


2.- Cargar la imagen desde el disco asi, PERO NO FUNCIONA:
Code (fw): Select all Collapse
        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 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Fichero BMP/JPG en xbrowse
Posted: Thu Sep 29, 2011 12:58 AM

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.



Fwxh-MySql-TMySql
Posts: 408
Joined: Fri Jan 29, 2010 08:14 PM
Re: Fichero BMP/JPG en xbrowse
Posted: Thu Sep 29, 2011 06:52 AM

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 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
Posts: 408
Joined: Fri Jan 29, 2010 08:14 PM
Re: Fichero BMP/JPG en xbrowse
Posted: Thu Sep 29, 2011 11:57 PM
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 (fw): Select all Collapse
               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 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
Posts: 408
Joined: Fri Jan 29, 2010 08:14 PM
Re: Fichero BMP/JPG en xbrowse
Posted: Fri Sep 30, 2011 12:01 AM
Esta es una imagen de como queda ahora.....



La imagen quiero que se vea 50x50pixel.

Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
Posts: 408
Joined: Fri Jan 29, 2010 08:14 PM
Re: Fichero BMP/JPG en xbrowse
Posted: Thu Oct 06, 2011 12:08 AM
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.


Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
Posts: 23
Joined: Wed Apr 09, 2008 05:00 PM
Re: Fichero BMP/JPG en xbrowse
Posted: Thu Mar 08, 2012 01:12 PM

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
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Fichero BMP/JPG en xbrowse
Posted: Thu Mar 08, 2012 01:39 PM

Hola Sergio, en samples tienes este ejemplo: xbrImag1.prg
Saludos

Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 23
Joined: Wed Apr 09, 2008 05:00 PM
Re: Fichero BMP/JPG en xbrowse
Posted: Thu Mar 08, 2012 02:01 PM

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
Posts: 408
Joined: Fri Jan 29, 2010 08:14 PM
Re: Fichero BMP/JPG en xbrowse
Posted: Mon Mar 26, 2012 10:19 PM
Hola SDO:

Aqui te dejo como se hace:

En la declaración del xBrowse:

Code (fw): Select all Collapse
           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 (fw): Select all Collapse
/*-----------------------------------------------------------------------------------------------------*/
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í:




Espero que te sirva.

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

Continue the discussion