代码之家  ›  专栏  ›  技术社区  ›  Scott Lundberg

在Outlook工具栏的按钮上保留Alpha通道

  •  0
  • Scott Lundberg  · 技术社区  · 17 年前

    我正在Visual Studio 2008 Pro for Outlook 2003中使用VB.NET开发COM加载项,在将图像分配到自定义工具栏按钮时遇到问题。

    图片会显示,但会丢失Alpha通道,背景不再透明。我可以验证在转换为IPictureDisp对象之前,PixelFormat属性是否设置为Format32bppArgb(2498570)。我正在使用此处建议的编码技术: http://msdn.microsoft.com/en-us/library/ms268747%28VS.80%29.aspx .

    对于C#用户,这个链接blogs.msdn.com/andreww/archive/2007/10/10/preserving-the-alpha-channel-when-converting-images.aspx(抱歉,我是新手,不能发布多个链接!Dumb rule BTW)展示了如何一次修改一个像素并重建透明度,但我在VB.NET中找不到类似的函数。。。

    如果您能给我一些建议,我将不胜感激。谢谢。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Joe Caffeine    17 年前

    如果您阅读到文章的结尾,作者在其中一条评论中指出,命令栏API不支持图像上的alpha通道。当然,你也可以有点作弊,如果你把你的图像绘制到一个与工具栏背景相匹配的位图上,并把这个合成图像分配给工具栏按钮,你会得到一个“看起来”透明的工具栏图像。

    推荐文章