WinFormPictureBox使用汇总
Posted 不溯流光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinFormPictureBox使用汇总相关的知识,希望对你有一定的参考价值。
一、保持图片比例跟随控件大小缩放
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;//PictureBoxSizeMode.StretchImage; pictureBox1.BackgroundImageLayout = ImageLayout.Zoom;//ImageLayout.Stretch;
在 XP 上运行时 Winform PictureBox 不透明
【中文标题】在 XP 上运行时 Winform PictureBox 不透明【英文标题】:Winform PictureBox not transparent when run on XP 【发布时间】:2018-09-22 21:29:07 【问题描述】:我正在尝试制作一个在透明表单背景上在 PictureBox 中显示各种 GIF 的软件。到目前为止一切都很好,但是当我在不同的系统上运行程序时有一个区别。
我在 Win10 64 位笔记本电脑上使用最新的 .NET 框架编写它,并且透明度和动画效果很好。它只是在表单上设置了相同的 TransparencyKey
作为其背景石灰颜色的 PictureBox GIF。
我确定以 .NET 4.0 为目标,因为我听说这是 Win XP 支持的最后一个。当我将它传输到我的其他测试系统(VMWare XP SP3、DX9、.NEt 4.0)时,在 PictureBox 区域中可以看到表单 Lime 背景,表单的其他部分保持透明。
如何使用 WinForms 让带有透明背景的 GIF 在 XP 桌面上显示?
这甚至可以在 XP 上使用 WinForms 吗?为 XP 制作项目不是强制性的,但由于目标系统将非常薄弱,因此非常受欢迎。
【问题讨论】:
一个完全疯狂的猜测是,实际上重要的是图像的背景,而不是图片框的背景。并且虚拟图形适配器以较低的位深度运行,例如 8bpp 或 16bpp。 您可以使用BackgroundImage
表格来显示您的位图吗?我确信这有效,无论图像是静态的还是动画的。作为Backcolor
/TransparencyKey
,使用洋红色。
【参考方案1】:
我要感谢 Hans Passant,因为他的评论给了我一个似乎可以解决问题的想法。
'一个完全疯狂的猜测是,实际上重要的是图像的背景,而不是图片框的背景。并且虚拟图形适配器以较低的位深度运行,例如 8bpp 或 16bpp。 – Hans Passant 19 小时前”
我将代码中提到的所有“石灰”颜色和透明键都更改为“白色”,现在可以正常工作了...
【讨论】:
以上是关于WinFormPictureBox使用汇总的主要内容,如果未能解决你的问题,请参考以下文章