c# - WPF 图像 - 尝试使用 TreeView ,但无法使背景清晰

标签 c# .net wpf winforms image

<分区>

问候,

我有一个包含一组 TreeViewItems 的 TreeView - 每个 TreeView 都非常简单(只是一些文本,加上一个图像) - 这些图像通常是文件夹和文件图标。一切都很好,也很简单……除了因为图像的内容不适合一个精确的正方形,所以每个部分周围都有一些白色背景。

当然,问题是当用户绘制并选择时,会显示图像背景的难看的白色像素(而不是清晰并与突出显示混合),造成相当业余的外观。

自从我完成繁重的 Windows GUI 编程以来已经有几年了,但我记得在 Win32/MFC 中,曾经有一个单一的、方便的值可以设置,其中包含不应该呈现的颜色图像(防止这个问题)。但我不知道 WPF 中提供了什么可以提供类似的功能。

有什么建议吗?

谢谢!

最佳答案

而不是使用色度键(这是 so 1990 年代的),您应该将图像转换为 PNG 或具有适当 alpha(透明度)信息的位图格式。

WPF 在呈现图像时将遵循 alpha,这应该会处理白色背景。因为有 256 个级别(而不是色度键提供的两个级别),您还可以获得更平滑的边缘,因为它们可以适本地抗锯齿。

关于c# - WPF 图像 - 尝试使用 TreeView ,但无法使背景清晰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1777132/

相关文章:

c# - .NET 3.5 C# 错误与 System.Timer System.ObjectDisposedException : Cannot access a disposed object

c# - 使用 WCF 接收大对象

c# - Visual Studio 忽略输出文件夹中的 PDB 文件(来自 NUGET 包)

c# - WPF 监视属性更改

c# - 使用 MVC 项目注册 Api Controller 路由

c# - 将 LINQ 查询的结果保存到列表中

c# - C#.Net 正则表达式到 Java 正则表达式模式的转换

c# - 使用Selenium WebDriver查找列表元素

c# - Silverlight/WPF无法绑定(bind)ListBox

.net - 是什么导致 WPF ListCollectionView 使用自定义排序来重新排序其项目?