Como Hago Para Reducurle El Tamaño A Una Imagen E Insertala A Un Campo Grid???


Objetivo: Como Hago Para Reducurle El Tamaño A Una Imagen E Insertala A Un Campo Grid???
como hago para reducurle el tamaño a una imagen e insertala a un campo grid???

Perfil MP  
Objetivo: Re: Como Hago Para Reducurle El Tamaño A Una Imagen E Insertala A Un Campo Grid???
Hola mesm82.

Hay una aplicación en Linux llamada convert con la que puedes cambiar el tamaño a una imagen.

http://algunostutoriales.blogspot.c...cos-usando.html

Quiere decir que vas a tener que hacer uso de comando externos a gambas y llamarlos desde gambas.
Para ello tendrás que aprender a usar o la instrucción de gambas Shell o Exec. Puedes ver esto en el manual
de gambas. Veras que es sencillo.Diferentes , pero hacen lo mismo de distinta manera.

Hay una manual en la comunidad llamado Listín creada por Julio. No es solo la creación de una aplicación,
es un manual de gambas también. En esta aplicación encontraras esta función para crear las miniaturas.

Public Function hacer(fichero As String, tamano As String) As String

Dim Proc As Process
Dim linea As String
Dim mini As String

'Comprobamos si existe el directorio miniaturas
If Not Exist(User.Home &/ "Listin/mini") Then
If Not Exist(User.Home &/ "Listin/") Then Mkdir User.Home &/ "Listin"
If Not Exist(User.Home &/ "Listin/mini") Then Mkdir User.Home &/ "Listin/mini"
Endif
'nota:
'comando file.dir(path),saca solo la ruta (sin el nombre del fichero)
'comando file.name(path),saca solo el nombre del archivo (sin la ruta)
mini = User.Home &/ "Listin/mini/" & "mini" & File.Name(fichero)

If Exist(mini) Then
'Existe el archivo mini,no lo tengo que crear
Return mini
Else
'tamano puede ser 120x120,96x96,etc
linea = "convert -size " & tamano & " " & fichero & " -resize " & tamano & " +profile '*' " & mini
Proc = Shell linea Wait
'ejecutar el proceso y controlar el flujo de salida en tu aplicación
Return mini
Endif

End


En la aplicación del listín desde un checkbox llama al procedimiento rellena que a su vez este hace uso de la función anterior, fíjate como lo hace:

Public Sub rellena()
Dim a As Integer
FMain.grdDatos.Rows.Count = var.id.Count
For a = 0 To var.id.Count - 1
With FMain
If FMain.chkmini.Value = False Then
.grdDatos.Rows.Height = 25
.grdDatos[a, 0].Picture = Picture[var.foto[a]]
Else
.grdDatos[a, 0].Alignment = 1
.grdDatos.Rows.Height = 100
.grdDatos[a, 0].Picture = Picture[miniaturas.hacer(var.foto[a], "96x96")]
Endif
.grdDatos[a, 1].Text = var.nombre[a]
.grdDatos[a, 2].Text = var.apellidos[a]
.grdDatos[a, 3].Text = var.dni[a]
.grdDatos[a, 4].Text = var.empresa[a]
.grdDatos[a, 5].Text = var.puesto[a]
.grdDatos[a, 6].Text = var.telf_empresa[a]
.grdDatos[a, 7].Text = var.movil_empresa[a]
.grdDatos[a, 8].Text = var.telf_particular[a]
.grdDatos[a, 9].Text = var.movil_particular[a]
.grdDatos[a, 10].Text = var.fax[a]
.grdDatos[a, 11].Text = var.correo[a]
.grdDatos[a, 12].Text = var.pagweb[a]
.grdDatos[a, 13].Text = var.direccion[a]
.grdDatos[a, 14].Text = var.observaciones[a]
.grdDatos[a, 15].Text = var.fecha_datos[a]
.grdDatos[a, 16].Text = var.id[a]
End With
Next
FMain.grdDatos.Refresh
End


Aquí tienes también ayuda en GambasDoc para que veas el componente GridView. Viene mas simplificado.

http://www.gambasdoc.org/help/comp/gb.qt/gridview?es

Ya ves, que todo consiste en aprender como otras personas lo hacen, tomando lo que te interesa para tus necesidades y mejorando lo presente.
Eso te lo dará la practica y la experiencia.

Saludos

última edición por Shell el Martes, 11 Junio 2013, 23:12; editado 1 vez

Página 1 de 1


  
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.7624s (PHP: -78% SQL: 178%)
Consultas SQL: 46 - Debug off - GZIP Activado