Tag: transparency

使用DirectShow.NET在C#中的IVideoWindow上显示半透明的Image对象

我一直在使用DirectShow.NET与C#中的网络摄像头连接,到目前为止一切都进展顺利。 但是,现在我正在尝试设置一种“裁剪”图像的方法(当它仍然显示为网络摄像头预览时)。 基本上,我试图在IVideoWindow对象的顶部显示某种大多数透明的图像。 然而,处理C#的透明度已经远远没有结束。 那么,我如何在IVideoWindow上层叠Image对象? 谢谢!

使TextBox透明

我在我的表单中有一个TextBox,我想让它变成透明并显示一个PictureBox中的图片,在它后面,但我怎么能这样做? 谢谢。

为什么调整png图像的大小会失去透明度?

我正在尝试按如下方式调整图像大小。 我将resize的图像返回到byte[]以便我可以将其存储在数据库中。 png图像的透明度丢失了。 请帮助改善这一点。 private byte[] GetThumbNail(string imageFile, Stream imageStream, int imageLen) { try { Image.GetThumbnailImageAbort imageCallBack = new Image.GetThumbnailImageAbort(ThumbnailCallback); Bitmap getBitmap = new Bitmap(imageFile); byte[] returnByte = new byte[imageLen]; Image getThumbnail = getBitmap.GetThumbnailImage(160, 59, imageCallBack, IntPtr.Zero); using (Graphics g = Graphics.FromImage(getThumbnail)) { g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; g.DrawImage(getThumbnail, 0, 0, 160, 59); } […]

确定图像中是否使用Alpha通道

当我将图像带入我的程序时,我想确定是否: 他们有一个alpha通道 如果使用那个alpha通道 使用Image.IsAlphaPixelFormat #1非常简单。 但是对于#2 ,除了遍历每个像素之外,还有一种简单的方法可以确定至少有一个像素是否具有使用的alpha通道(即设置为除255以外的其他值)? 我需要的只是一个布尔值,然后我将决定是将其保存为32位还是24位。 更新 :我发现ImageFlags.HasTranslucent应该为我提供我正在寻找的东西 – 不幸的是,它根本不起作用。 例如,具有至少alpha通道为66(半透明)的像素格式的PNG继续报告False (用法: if((img.Flags & ImageFlags.HasTranslucent) == 4) …; )。 我已经测试了所有类型的图像,包括.bmp,其alpha值> 0且<255,并且仍然报告False 。 任何人都使用过它并知道它是否适用于GDI +?