Mostrar Imagen Asociada A Un Archivo


Ir a la página Anterior  1, 2

Ayortano
Objetivo: Re: Mostrar Imagen Asociada A Un Archivo
Esto se puede hacer perfectamente con la clase Stock, y el mimetype de cada archivo (o la extensión, si deseas). Si los íconos siguen el estándar de FreeDesktop, se puede hacer:

Public Sub GetMime(Path As String) As String

Dim FileMime As String

Shell "file --mime-type " & Shell$(path) To FileMime
Return Trim(Replace(FileMime, Path & ":", ""))

End

Public Sub GetIconFromMime(Mime as string) as Picture
Return Stock["16/mimetypes/" & Replace(Mime, "/","-")]
End

Public Sub Main()
Dim sMimePic as Picture

smimePic=GetIconFromMime(GetMime(User.Home&/"video.ogg"))

End


Esto debería funcionar. Si hablas de las imágenes asociadas a un archivo, obra del un gestor de ficheros... Pues ni idea. Lo que sí sé, es que en Ubuntu, por ejemplo, se definen los "roles" de cada directorio en un archivo. En Nautilus, claro.

Suerte.

Objetivo: Re: Mostrar Imagen Asociada A Un Archivo
pero eso te devuelve el icono correspondiente de stock, no la imagen en miniatura de ese gráfico o video o lo que sea.

Perfil MP  
Ayortano
Objetivo: Re: Mostrar Imagen Asociada A Un Archivo
Haberlo dicho antes. Para las thumbails, los gestores de archivos deben usar el estándar de FreeDesktop.org. Se usa el directorio .thumbails. Dentro de él, hay tres carpetas:

fail: Imágenes que fallan al tratar de hacer una miniatura.
normal: contiene las miniaturas a tamaño 128x128
large: contiene las miniaturas a tamaño 256x256

Perfecto. Ahora, ¿por qué cada archivo tiene un nombre en hexadecimal? Bien, es la md5sum de el archivo al cual se le hizo una previsualización, más el ".png" (todas las miniaturas están en png). De esta manera, las obtenemos simplemente:

Public Function CheckProgram(sProg As String) As Boolean

Dim iPos As Integer

iPos = InStr(sProg, " ")
If iPos Then sProg = Left(sProg, iPos - 1)

Shell "which " & sProg & " >/dev/null 2>&1" Wait
If Process.LastValue Then Return True

End


Public Sub GetThumbail(Path As String) As Picture

If Exist(User.Home &/ "thumbails/normal" &/ md5sumFile(Path) & ".png") Then
Return Picture[User.Home &/ "thumbails/" &/ md5sumFile(Path) & ".png"]
else
Return User.Home &/ "thumbails/large" &/ md5sumFile(Path) & ".png"
Endif

End

Public Function Md5sumFile(sPath As String) As String

Dim md5 As String

If Not CheckProgram("md5sum") Then
Exec ["md5sum", sPath] To md5
Return Split(md5, " ")[0]
Else
Message("La aplicación necesita el programa md5sum. Instálelo")
Endif

End


Si queréis generar sus propias miniaturas, pues bien, existen numerosos scripts para determinados mimetypes, o ustedes mismos pueden hacerlo con otros (texto plano, xml, html, css, etcétera). Traten de seguir lo pautado por FreeDesktop.org

P.D: He aquí el estándar "Thumbnail Managing Standard"
http://jens.triq.net/thumbnail-spec-0.3/index.html

Objetivo: Re: Mostrar Imagen Asociada A Un Archivo


se podria crear un hilo fijo pegado arriba donde linkear estos hilos

algo asi como hilos destacados o post importantes
como e visto en otros foros


Perfil MP  
Ayortano
Objetivo: Re: Mostrar Imagen Asociada A Un Archivo
Pues no os entiendo. ¿Sirve, o no sirve?

Ir a la página Anterior  1, 2

Página 2 de 2


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.6981s (PHP: -87% SQL: 187%)
Consultas SQL: 43 - Debug off - GZIP Activado