FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Conocer la dimensiones de una imagen sin tener que abrirla
Posts: 257
Joined: Tue May 16, 2006 04:46 PM
Conocer la dimensiones de una imagen sin tener que abrirla
Posted: Sun Jul 10, 2011 10:53 PM

Hola foro,

Al abrir una carpeta en Windows se puede seleccionar una columna que te indica las dimensiones de una imagen.

Como puedo extraer ese dato desde FWH? o en otras palabras, como puedo saber la dimensiones de una imagen sin tener que abrirla?

De antemano gracias.

RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: Conocer la dimensiones de una imagen sin tener que abrirla
Posted: Mon Jul 11, 2011 01:44 PM
Hola,,, de alguna manera hay que acceder a la imagen para obtener sus propiedades,,, seria algo asi:
Code (fw): Select all Collapse
DEFINE IMAGE oTmp FILENAME cLogo
nLW := oTmp:nWidth()
nLH := oTmp:nHeight()
oTmp:End()
...
..
.
Posts: 257
Joined: Tue May 16, 2006 04:46 PM
Re: Conocer la dimensiones de una imagen sin tener que abrirla
Posted: Mon Jul 11, 2011 05:32 PM

Gracias por tu respuesta Willi, aunque no es lo que buscaba, se me hace buena idea lo que me sugieres.

Yo buscaba alguna funcion como el FileStats() de xHarbour que te da mas informacion de los archivos.

RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
Posts: 408
Joined: Fri Jan 29, 2010 08:14 PM
Re: Conocer la dimensiones de una imagen sin tener que abrirla
Posted: Mon Aug 15, 2011 03:33 AM
Hola Rodolfo:

Se puede obtener informacion de los archivos usando ActiveX.

Sino recuerdo mal la web donde estaban todos los parametros es:
http://msdn.microsoft.com/en-us/library/ms930698.aspx

Por ejemplo:

Code (fw): Select all Collapse
/*------------------------------------------------------------------------------*/
*STATIC Function GetPropFile( oWnd, cFile )
/*------------------------------------------------------------------------------*/
 /*
   LOCAL oActiveX, pStatus := Array( 11 )

   oActiveX = TActiveX():New( oWnd, "MediaPlayer.MediaPlayer.1",0,0,0,0)
   oActiveX:SetProp( "FileName", cFile )
   oActiveX:Hide()

   pStatus[1]  := cFileNoPath( oActiveX:GetProp( "FileName" ) ) // Nombre del fichero
   pStatus[2]  := cFilePath( oActiveX:GetProp( "FileName" ) )   // Path
   pStatus[3]  := oActiveX:GetProp( "Duration" )                // Duracion
   pStatus[4]  := oActiveX:GetProp( "ImageSourceWidth" )        // Ancho fotograma
   pStatus[5]  := oActiveX:GetProp( "ImageSourceHeight" )       // Alto fotograma
   pStatus[6]  := oActiveX:GetProp( "BandWidth" )               // Velocidad de datos
   pStatus[7]  := oActiveX:GetProp( "Rate" )                    // Velocidad fotogramas/s
   pStatus[8]  := oActiveX:GetProp( "SourceProtocol" )          // Protocolo de datos
   pStatus[9]  := FDate( oActiveX:GetProp( "FileName" ) )       // Fecha creacion
   pStatus[10] := FTime( oActiveX:GetProp( "FileName" ) )       // Hora creacion
   pStatus[11] := FSize( oActiveX:GetProp( "FileName" ) )       // Tamaño

   oActiveX:DO( "Stop" )
   oActiveX:End()
   DeleteObject( oActiveX )

Return( pStatus )


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: 257
Joined: Tue May 16, 2006 04:46 PM
Re: Conocer la dimensiones de una imagen sin tener que abrirla
Posted: Mon Aug 15, 2011 07:54 AM
JLL, gracias por tu sugerencia.

Oye, ya que vi en tu ejemplo que usas ActiveX para mostrar videos, yo hago lo mismo y uso la siguiente linea:

Code (fw): Select all Collapse
  @ 58,0 ACTIVEX oActiveX PROGID "MediaPlayer.MediaPlayer.1" OF oWndV SIZE 400,400


y me funciona bien en WVista pero al correr el sistema en WXP solo muestra la caratura inicial del MediaPlayer e inmediatamente aparecen errores. Sabes tu a que se debe? No te ha pasado lo mismo? Aun no lo pruebo en W7.

'chas gracias de antemano.
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com

Continue the discussion