gpt4 book ai didi

c# - 如何实现映射应用程序的alpha图标透明度

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:14 25 4
gpt4 key购买 nike

我有一个基于时间映射当前应用程序的时间表应用程序,我使用映射的应用程序图标作为指示符号,我无法实现透明度,因为映射完成后黑色背景与应用程序图标一起出现,这是我的代码,我尝试通过很多代码来实现它,但找不到任何解决方案,我认为图像转换器类有问题

这是它的xaml代码

 <Image Source="{Binding Path=IconBinding, Converter={StaticResource imageConverter} }" Canvas.Left="100" Canvas.Top="10" Height="35"/>

这是imageconverter类的代码

 public class ImageConverter : IValueConverter
{
public object Convert(object value, Type targetType,
object parameter, CultureInfo culture)
{
// empty images are empty...
if (value == null) { return null; }

var image = (System.Drawing.Image)value;
// Winforms Image we want to get the WPF Image from...
var bitmap = new System.Windows.Media.Imaging.BitmapImage();
bitmap.BeginInit();
MemoryStream memoryStream = new MemoryStream();
// Save to a memory stream...
image.Save(memoryStream, ImageFormat.Bmp);
// Rewind the stream...
memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
bitmap.StreamSource = memoryStream;
bitmap.EndInit();
return bitmap;
}

public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
{
return null;
}
}

最佳答案

我找到了解决方案,实际上位图不支持透明度,它支持但是你必须硬编码一点,我找到了一个简单的解决方案,你必须以 png 格式制作图像,然后你才能实现透明。,所以只改了一行

image.Save(memoryStream, ImageFormat.Bmp);

将转换器类中的这一行更改为

 image.Save(memoryStream, ImageFormat.Png);

关于c# - 如何实现映射应用程序的alpha图标透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22654531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com