Jump to content

edicion de imagenes en formulario


Recommended Posts

Buen Día, excelentes compañeros, tengo una consulta al respecto y es que en un formulario existe la manera de "jalar" los optimización de imágenes como son aquellos que por ejemplo ponen en escala de grises una imagen, o la ponen esa imagen en espejo, o le dan nitidez o contraste y todo eso que se pueda lograr dentro de un formulario?

y es que la verdad es que no se si se pueda llamar esos controles en un formulario. De antemano agradezco la atención y colaboración y quedo en espera me puedan ayudar al respecto, al menos con la orientación.

 

edicion de imagenes en formularios

Link to comment
Share on other sites

Hace 17 horas, Benito Bartolomé dijo:

Hola Leandro;

Se puede añadir a su macro el efecto transparencia(?).

Un saludo.

Hola las imágenes en Excel no tienen propiedad para cambiar la transparencia (canal alpha) , pero si se puede hacer el truco de agregar un shape (forma) con un relleno de imagen, y a esta si se le puede modificar la transparencia tal como lo marca Antoni mas arriba, seria cuestión de agregar un nuevo scrollbar con un Max = 100

Private Sub ScrollBar6_Change()
    If CancelEvent = True Then Exit Sub
    ActiveSheet.Shapes(ShapeName).Fill.Transparency = ScrollBar6.Value / 100
    ImportImage
End Sub

 
y para tomar su valor en el UserForm_Initialize

ScrollBar6.Value = ActiveSheet.Shapes(ShapeName).Fill.Transparency * 100

no va a arrojar error si es una imagen y no un shape, solo que si es una imagen no vera cambios en su transparencia.

 

 

 

Link to comment
Share on other sites

Hace 17 horas, Antoni dijo:

Esta es la propiedad: ActiveSheet.Shapes(ShapeName).Fill.Transparency = valor (Entre 0 y 1)

Por asociación con el resto de scrollsbar, no creo que un nuevo control para que controle esta propiedad.

Gracias Antoni;

Disculpa pero no he podido probar antes.

También me ha contestado Leandro.

Estoy a vueltas y de momento no he conseguido nada.

Le voy a enviar la macro a ver si hay algo en lo que me equivoco.

Él me cuenta que se puede hacer con el truco "agregar un shape (forma) con un relleno de imagen,pero algo debo estar haciendo mal.

Una duda trasparencia=opacidad ?? 

Lo digo porqué en Photoshop se utiliza el termino OPACIDAD y no vaya ser que estemos hablando de cosas distintas.

 

Saludos y buen día Antoni.

 

Link to comment
Share on other sites

Hace 8 horas, LeandroA dijo:

Hola las imágenes en Excel no tienen propiedad para cambiar la transparencia (canal alpha) , pero si se puede hacer el truco de agregar un shape (forma) con un relleno de imagen, y a esta si se le puede modificar la transparencia tal como lo marca Antoni mas arriba, seria cuestión de agregar un nuevo scrollbar con un Max = 100

Private Sub ScrollBar6_Change()
    If CancelEvent = True Then Exit Sub
    ActiveSheet.Shapes(ShapeName).Fill.Transparency = ScrollBar6.Value / 100
    ImportImage
End Sub

 
y para tomar su valor en el UserForm_Initialize

ScrollBar6.Value = ActiveSheet.Shapes(ShapeName).Fill.Transparency * 100

no va a arrojar error si es una imagen y no un shape, solo que si es una imagen no vera cambios en su transparencia.

 

 

 

Hola Leandro;

He cambiado lo que me comentas pero veo que no hace nada.

Te voy a adjuntar la macro por si hay alguna cosa que esté haciendo mal.

Le comentaba también a Antoni si transparencia era igual a opacidad no vaya ser que lo que yo quiero conseguir sea "opacidad" en vez de "trasparencia"

He insertado un shape "Cuadadro" y después le inserté la imagen y veo que no hace nada.

Si no le es mucha molestia lo prueba y me comenta.

Un abrazo y muy buena la macro que has creado.

 

Editar Imagenes.xlsm

Link to comment
Share on other sites

muy buena aportación me quede sumamente sorprendido, solo falta el botón o el control de invertir colores, osea que lo negro se vuelva blanco y viceversa, también me han surgido las preguntas:

1.- para el hecho que el formulario "cargue" la imagen ¿es necesario que la imagen este inserta en alguna hoja?, osea mi idea era "jalarla" desde el comando de LoadPicture(archivo)?

2.- dado lo anterior, cuando el formulario carga la imagen, esto sucede porque la obtiene en sus dimensiones y resoluciones que originalmente esta tiene, la pregunta es, ¿como estandarizo eso en un formulario para que dentro del formulario tenga las dimensiones y resoluciones que yo desee y obviamente cargando la imagen desde LoadPicture(archivo)?

espero explicado aun así de antemano mil gracias y quedo atento a tus comentarios.

Link to comment
Share on other sites

  • Crear macros Excel

  • Posts

    • Muchas Gracias Janlui. Funciona perfecto, veras que he añadido a la macro una última línea que es la que crea el fichero final TXT en una ubicación concreta. Lo que no se es porque una vez generado el TXT la última parte la vuelve a entrecomillar (en la hoja 5 del fichero que adjunto veras un pantallazo del TXT que genera) Repito, muchas gracias por la ayuda Saludos       Ejemplo3.xlsm
    • Observé un pequeño error, espero ya esté bien. Sub genera_txt()     Set datos = Worksheets("Hoja1")     Sheets("hoja2").Select     Dim cadena As String     Range("a27:a5000").ClearComments     rd = 2     rs = 27     xc = Chr(34)     Do While datos.Cells(rd, 1) <> ""         cadena = xc & Left(datos.Cells(rd, 3), Len(datos.Cells(rd, 3)) - 6) & xc & "," & xc         For i = 7 To 11             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc         For i = 12 To 56             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc         Cells(rs, 1) = cadena         rs = rs + 1         rd = rd + 1     Loop End Sub  
    • Disculpa que no te lo regrese en el archivo, pero mi nivel de membresía no me permite completar al 100% el apoyo que solicitan.
    • Copia la macro y el resultado lo pondrá en la Hoja2... Saludos Sub genera_txt()     Set datos = Worksheets("Hoja1")     Sheets("hoja2").Select     Dim cadena As String     Range("a27:a5000").ClearComments     rd = 2     rs = 27     xc = Chr(34)     Do While datos.Cells(rd, 1) <> ""         cadena = xc & Left(datos.Cells(rd, 3), Len(datos.Cells(rd, 3)) - 6) & xc & "," & xc         For i = 6 To 10             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc         For i = 11 To 56             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc         Cells(rs, 1) = cadena         rs = rs + 1         rd = rd + 1     Loop End Sub  
    • Todas tus celdas deberán tener formato numérico.
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy