Mostrar los tags: vba

Mostrando del 1 al 8 de 8 coincidencias
<<>>
Se ha buscado por el tag: vba
sin imagen de perfil

.zipQuita Fondo a Imagen en Corel Draw VBA


Visual Basic para Aplicaciones

Actualizado el 22 de Agosto del 2023 por Zeus Alberto (Publicado el 14 de Agosto del 2023)
786 visualizaciones desde el 14 de Agosto del 2023
Bueno estoy tratando de desarrollar un codigo en VBA para Corel que elimine el fondo blanco de las imagenes, pero aun no logro aterrizar un codigo funcional. De momento estoy atorado porque el modelo de clases de Corel no soporta leer bmp.pixel, para comparar el pixel con la tolerancia, dejo el codigo haber si alguien lo puede concretar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Sub RemoveWhiteBackground()
    Dim doc As Document
    Dim sr As ShapeRange
    Dim shape As shape
    Dim bmp As Bitmap
    Dim x As Long, y As Long
    Dim bgColor As Long ' Utilizamos Long para almacenar el valor RGB
    Dim tolerance As Integer
    Set doc = ActiveDocument
    Set sr = doc.ActivePage.Shapes.All
    ' Obtener el valor RGB para el color blanco
    bgColor = RGB(255, 255, 255)
    ' Definir la tolerancia para el rango de colores que consideras "blanco"
    tolerance = 30
    For Each shape In sr
        If shape.Type = cdrBitmapShape Then
            Set bmp = shape.Bitmap
            For x = 1 To bmp.SizeWidth ' Usar SizeWidth en lugar de GetWidth
                For y = 1 To bmp.SizeHeight ' Usar SizeHeight en lugar de GetHeight
                    If ColorDistance(bmp.Pixel(x, y), bgColor) < tolerance Then
                        bmp.Pixel(x, y) = RGB(0, 0, 0) ' Cambiar el píxel a negro
                    End If
                Next y
            Next x
        End If
    Next shape
End Sub
 
Function ColorDistance(color1 As Color, color2 As Long) As Double
    Dim redDiff As Double
    Dim greenDiff As Double
    Dim blueDiff As Double
 
    redDiff = color1.Red - GetRValue(color2)
    greenDiff = color1.Green - GetGValue(color2)
    blueDiff = color1.Blue - GetBValue(color2)
 
    ColorDistance = Sqr(redDiff ^ 2 + greenDiff ^ 2 + blueDiff ^ 2)
End Function

Espero alguien tenga una idea para resolver este tema

Les dejo algunas imagenes en PNG que he estado utilizando con este codigo.

Saludos
Atentamente
Ing. Zeus Paez

five-nights-at-freddys-editable-2_1
five-nights-at-freddys-editable-2_2
five-nights-at-freddys-editable-2_5
five-nights-at-freddys-editable-2_6
five-nights-at-freddys-editable-2_7
five-nihts-at-freddys-1-editable_7
five-nihts-at-freddys-1-editable_8
Imágen de perfil

Contenido en LWPTrucos y tretas en Excel VBA para programadores (parte 1)


Excel

Actualizado el 13 de Julio del 2019 por Gnomi (Publicado el 10 de Julio del 2019)
1.389 visualizaciones desde el 10 de Julio del 2019
macros-e15296369621731

Trucos y tretas en Excel VBA es un post que no está hecho para novatos que no sepan nada de macros de Excel, sino aquellos que saben algo de programación de Visual Basic. Especialmente en finanzas o en bolsa, pero también en negocios de todo tipo, programar macros de Excel suele ser sumemante útil y por eso he querido dedicar este post a transmitir algunos trucos para ahorrarte tiempo.
Imágen de perfil

.pdfMACRO VBA PARA BUSCAR ARCHIVOS EN TU PC


Visual Basic para Aplicaciones

,

Excel

Publicado el 12 de Febrero del 2019 por Javier
7.921 visualizaciones desde el 12 de Febrero del 2019
Básicamente el manual es para conseguir buscar y encontrar archivos en vuestro ordenador desde una Hoja de Excel y con ayuda VBA.
Ejecutemos una Macro Excel que será llamada desde un CommandButton. La Macro hará que se listen todos los archivos con el mismo nombre y extensión iguales a uno que anteriormente hayamos escrito en una celda.
Estos archivo aparecerán a partir de otra celda uno debajo del otro, fila por fila, además del archivo aparecerá su ruta.