[RESUELTO] Control de Imagen en Dialogo

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
nicodavid
Mensajes: 10
Registrado: Vie May 31, 2019 8:37 pm

[RESUELTO] Control de Imagen en Dialogo

Mensaje por nicodavid »

Buenas tardes , Queria saber si existe alguna forma de insertar una imagen en un control de imagen en un dilaogo y a su vez esa imagen se copie sobre otro en una hoja de calculo.
Me explico mejor, tengo una hoja de calculo y un dialogo. al insertar datos en el dialogo los copia tambien en la hoja de calc y los imprime, el tema que tambien necesito poder tener una imagen ( la hoja de calculo es de un producto y necesita tener la imagen para que la gente que vea la impresion sepa de que estamos hablando).
Última edición por nicodavid el Mié Jun 26, 2019 8:29 pm, editado 1 vez en total.
OpenOffice 3.1 / Windows
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Control de Imagen en Dialogo

Mensaje por fornelasa »

Yo no entiendo completamente la consulta.
Sugiero aportar más detalles y subir un archivo ejemplo, de ese modo podemos ayudar al que desee ayudar.
Saludos.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
nicodavid
Mensajes: 10
Registrado: Vie May 31, 2019 8:37 pm

Re: Control de Imagen en Dialogo

Mensaje por nicodavid »

buen dia Federico, ahi adjunto un ejemplo, lo que quiero lograr en el caso que sea posible , es poder elegir una imagen en el control de imagen en el dialogo y que la misma aparezca en el control que esta en la hoja1.
Gracias
Adjuntos
ejemplo dialogo.ods
corrijo el archivo , estaba en formato de excel
(12.96 KiB) Descargado 183 veces
OpenOffice 3.1 / Windows
Avatar de Usuario
gustavodiaz00
Mensajes: 64
Registrado: Mié Abr 26, 2017 1:29 am
Ubicación: Argentina, San Nicolás de los Arroyos

Re: Control de Imagen en Dialogo

Mensaje por gustavodiaz00 »

Hola me tome el atrevimiento de modicarte el archivo espero que te sirva de algo
Adjuntos
ejemplo dialogo.ods
(29.38 KiB) Descargado 204 veces
LibreOffice 6.1 en KDE Neon
nicodavid
Mensajes: 10
Registrado: Vie May 31, 2019 8:37 pm

Re: Control de Imagen en Dialogo

Mensaje por nicodavid »

Muchas gracias Gustavo, era justo lo que necesita, una consulta mas si se puede, en el caso de luego de copiar la imagen a la hoja e imprimirse, ¿como se podria borrar la imagen de la hoja para que quede la forma vacia?

Graciass
OpenOffice 3.1 / Windows
Avatar de Usuario
gustavodiaz00
Mensajes: 64
Registrado: Mié Abr 26, 2017 1:29 am
Ubicación: Argentina, San Nicolás de los Arroyos

Re: [RESUELTO]Control de Imagen en Dialogo

Mensaje por gustavodiaz00 »

Hola Nico en realidad hay una pequeña trampa con la imagen, la forma es una imagen incrustada a la cual la cambias mediante asignandole utra URL.

Para Borrar la imagen Primero debe tener un nombre si no cuando la busques en el lazo no la encuentra.

Código: Seleccionar todo

i = 0
     Borrado = False
     do
       oForma = oPaginaDibujo.getByIndex(i)
       if oForma.Name = "FG" then
         oPaginaDibujo.Remove(oForma)
        end if
       i = i + 1
     loop While i < oPaginaDibujo.getCount()
Aca busco la foma que se llama "FG" y la borro.

Para crear una Forma por código por ejemplo un línea es:

Código: Seleccionar todo

 Dim oPaginaDibujo As Object
  Dim oForma As Object
  
  oPaginaDibujo=ThisComponent.getCurrentController.getActiveSheet.getDrawPage() 
  oForma=ThisComponent.createInstance("com.sun.star.drawing.LineShape")
  
  oPaginaDibujo.add(oForma)
  
  dim oPos as new com.sun.star.awt.Point 
  oPos.x = 100000 
  oPos.y = 100000
  dim LineSize as new com.sun.star.awt.Size 
  'LineSize.Width =  0
  LineSize.Height = 10000 

  
  With oForma 
    .name = "FG"
    .LineStyle=com.sun.star.drawing.LineStyle.SOLID 'El estilo de línea
    .LineColor=RGB(0,0,0)     'El color de la línea
    .LineTransparence=0     'La transparencia de la línea
    .Position = oPos
    .Size = 50000
    .LineWidth=70     'El ancho de la línea
  End With
Fijate que el nombre lo asigno en el modelo de la forma a crear

Tambien podes cambiar el nombre haciendo click derecho del muse en la forma creada y cambair el nombre.

Para colocar una imagen por codigo

Código: Seleccionar todo

Sub Imagenes1()
 Dim oDoc As Object
 Dim oPaginaDibujo As Object
 Dim oImagen As Object
 Dim sRuta As String
 Dim oTam As New com.sun.star.awt.Size
 
     'La ruta de la imagen
     sRuta = ConvertToURL("/home/gustavo/Imágenes/logo.png")
     oDoc = ThisComponent
     'Pagina de dibujo de la hoja activa
     oPaginaDibujo = oDoc.getCurrentController.getActiveSheet.getDrawPage()    
     'Para crear y manipular imagenes
     oImagen = oDoc.createInstance( "com.sun.star.drawing.GraphicObjectShape" )     
     'Establecemos la ruta de la imagen
     oImagen.GraphicURL = sRuta
     'La agregamos a la página de dibujo, por ende, al conjunto de formas
     oPaginaDibujo.add( oImagen )
     'Establecemos el tamaño de la imagen, siempre establece un tamaño, si no
     'se insertará con un tamaño mínimo casi invisible
     'la unidad es centésimas de milímetro
     oTam.Width = 10000
     oTam.Height = 7500
     oImagen.setSize( oTam )
 
 End Sub
En el siguiente Link encontraras bastante informacion para trabajar con formas

https://wiki.openoffice.org/wiki/ES/Ma ... sGraficos
LibreOffice 6.1 en KDE Neon
nicodavid
Mensajes: 10
Registrado: Vie May 31, 2019 8:37 pm

Re: [RESUELTO]Control de Imagen en Dialogo

Mensaje por nicodavid »

Muchas gracias, voy a probar cual es la opcion que mas me funciona. El ultimo caso ya lo tenia visto, pero tuve el probema de que la imagen la inserta en en principio de la hoja o sea a partir de "A1", ¿hay alguna forma de cambiar la celda donde se puede insertar? esta es la opcion que mas me cerraba pero no pude modificar eso.
OpenOffice 3.1 / Windows
nicodavid
Mensajes: 10
Registrado: Vie May 31, 2019 8:37 pm

Re: [RESUELTO]Control de Imagen en Dialogo

Mensaje por nicodavid »

repecto a la url , la estoy asignando por medio de un selector de archivos en el dialogo y un control de imagen. en elselector de archivo de dialogo busco la ruta de la imagen , y la carga como imagen en el control.
OpenOffice 3.1 / Windows
Avatar de Usuario
gustavodiaz00
Mensajes: 64
Registrado: Mié Abr 26, 2017 1:29 am
Ubicación: Argentina, San Nicolás de los Arroyos

Re: [RESUELTO]Control de Imagen en Dialogo

Mensaje por gustavodiaz00 »

En el primer ejemplo la forma aparece segun las coodenadas que le pasa por medio de oPos.

Y las formas se dibujan sobre una capa que se llama oPaginaDibujo, no directamente en la celda.

Para que quede sobre la celda elegida deberias anclar la forma a la celda, eso te lo dejo para que lo averigues.

Nos vemos saludos, yo por donde vivo no conozco a nadie que este trabajando con openoffice o libreoffice, asi que toda la info la obtengo del foro y algo de la web.

Con un poco de paciencia podes lograr muchas cosas. Suerte
LibreOffice 6.1 en KDE Neon
nicodavid
Mensajes: 10
Registrado: Vie May 31, 2019 8:37 pm

Re: [RESUELTO]Control de Imagen en Dialogo

Mensaje por nicodavid »

muchas gracias gustavo, si si yo tambien , van a cambiar todo a libreoffice en la empresa pero me tiraron todo a mi para pasar todo lo de excel jaja, tambien tuve q buscar muchas cosas de la web por que nadie lo conoce aca, y otras las hice en Vba y las pase a libO.


saludos
OpenOffice 3.1 / Windows
Responder