Excel VBA-->;将透明图片放置在另一个透明图片上
找了半天,我还是找不到这个问题的解决办法 背景: 我正在尝试构建一个产品配置程序,它将根据表单中的选择逐步显示成品的图像Excel VBA-->;将透明图片放置在另一个透明图片上,excel,vba,image,transparency,transparent,Excel,Vba,Image,Transparency,Transparent,找了半天,我还是找不到这个问题的解决办法 背景: 我正在尝试构建一个产品配置程序,它将根据表单中的选择逐步显示成品的图像 If machine_form.Image2.Visible = False Then machine_form.Image2.Visible = True Else machine_form.Image2.Visible = False End If “概述”图像将是一个“背景图像”和具有透明背景的图像,这些图像放置在彼
If machine_form.Image2.Visible = False Then
machine_form.Image2.Visible = True
Else
machine_form.Image2.Visible = False
End If
“概述”图像将是一个“背景图像”和具有透明背景的图像,这些图像放置在彼此的顶部
我的问题:
LoadPictureGDI
我只尝试在表单中插入.png图像
(我也尝试过使用.gif图像,没有使用LoadPictureGDI
,但结果与上面的问题中描述的相同)Sub Sample(var_ec_image)
Select Case var_ec_image
Case "ec_base": AddPicture ("ec_base")
End Select
End Sub
Sub AddPicture(picname As String)
' print picture from selection of form
image_box.Picture = LoadPictureGDI( _
ThisWorkbook.Path & "\images\" & picname & ".png")
' print test image on top of first image
image_box.Picture = LoadPictureGDI( _
ThisWorkbook.Path & "\images\ec_tilt_upper_part.png")
End Sub
正如您所发现的,默认情况下,Excel会使插入的图像不透明(不透明) 但是,您可以选择透明的特定颜色
手动设置透明颜色
- 选择图像,然后单击功能区上的
选项卡李>格式
- 在
组中,单击颜色李>Adjust
- 单击“设置透明颜色”李>
- 单击图片上应为透明的颜色李>
⤷ 图像源:
使用VBA设置透明颜色 可以使用以编程方式设置透明颜色 例如,要使名为“图片1”的图像的部分变为白色透明:
示例改编自。好的,因此有时最简单的解决方案从未想到:) 这对我来说很有用,因为我只有8张图片要处理 如何解决这个问题: 在userform中,我为每个transparent图像添加了一个图像控件,还为“基本图像”添加了一个图像控件 所有图像控件都具有相同的宽度和高度,并且相互放置。 图像控件的“BackStyle”设置为“Transparent”。 在“图片”中,我插入了不同的(透明)图片 然后根据表单中的选择“隐藏”或“显示”特定的图像控件
If machine_form.Image2.Visible = False Then
machine_form.Image2.Visible = True
Else
machine_form.Image2.Visible = False
End If
我很感激我得到的帮助,我想前面还会有更多与你的问题无关的问题,也许这个例子不能代表你的实际代码,但如果是这样,你的第一个过程可以用一行来代替:
AddPicture(var_ec_image)
,或者您可以去掉它,直接使用var_ec_image
参数调用AddPicture
。