如何用 VBA 设置word文件中嵌入图像的亮度、对比度和清晰度?

本文介绍了一段VBA代码,用于自动调整Word文档中内嵌图像的亮度、对比度和清晰度,确保所有图像具有统一的视觉效果。代码首先将内嵌图像转换为浮动图形,调整其尺寸,并应用锐化、亮度和对比度效果,最后再转换回内嵌图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于内嵌图像比较多的文件,当这些文件具有相似的图像灰度分布时,往往需要给他们设置同样的亮度、对比度和清晰度属性,让它们具有比较理想的感观效果。以下就是可以自动设置图像上述属性的vba代码。

        'On Error Resume Next '忽略错误

        Dim myInline As InlineShape

        Application.ScreenUpdating = False

        For n = 1 To ActiveDocument.InlineShapes.Count

            Set myInline = ActiveDocument.InlineShapes(n)

                'myInline.PictureFormat.IncrementBrightness (0.2)

                'myInline.PictureFormat.IncrementContrast (0.4)

                Set myrange = myInline.ConvertToShape       '先换成浮动图形

                myrange.ScaleHeight 0.7, True, msoScaleFromMiddle '设置图片的尺寸
                myrange .ScaleWidth 0.7, True, msoScaleFromMiddle 

                With myrange.Fill.PictureEffects   '浮动图形才可应用填充图形效果,嵌入图形不可应用图形效果

                    Set sha = .Insert(msoEffectSharpenSoften)        '给图形应用锐化效果

                    sha.EffectParameters(1).Value = 0.7      '锐化+70%

                    Set brightnessContrast = .Insert(msoEffectBrightnessContrast)        '给图形应用亮度和对比度效果

                    'brightnessContrast.EffectParameters(1).Value = 0.2                   '亮度+20%

                    brightnessContrast.EffectParameters(2).Value = 0.5                  '对比度+50%

                End With

                myrange.ConvertToInlineShape       '再换成嵌入图形

                

        Next n

 

        Application.ScreenUpdating = True

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值