Tag: 透明度

Windows窗体 – 以透明度为背景的PNG

我正在开展一个小型的个人项目,我需要创建一个非矩形窗口(一个更精确的圆圈 – 虽然可能会改变),它有一个投影。 如果将png设置为背景的表单,我可以通过更改Region属性来设置圆窗。 事情是窗口被改变,PNG的透明度不起作用。 所以问题是我如何获得一个防褪色的窗口和背景图像的透明度或者防砸圆形窗口以及一种向窗口添加阴影效果的方法。 谢谢。

如何制作真正透明的控件?

我需要制作一个仅显示轮廓的控件,我需要将它放在显示video的控件上。 如果我使我的控件透明,那么video会被遮挡,因为透明控件是由其父控件绘制的,而video不是由控件绘制的; 它使用DirectShow或其他库显示,因此父控件绘制其BackColor。 那么 – 我可以制作一个根本不会被绘制的控件,除非它是不透明的吗? 这样,父控件就不会对video进行绘制。 我知道我可以用四个控件制作边框(或者更多,如果我想要它破了)但是有可能只使用一个控件做我想要的吗? rslite是对的 – 尽管你甚至不需要像他的例子一样使用PInvoke – Control.Region属性是完全足够的。

调整无边框窗口的大小wpf

我怎么能用wpf代替windows窗体呢?

如何保持png透明度?

我创建了一个函数,允许将上传的透明.png文件插入到SQL Server数据库中,并通过HttpHandler显示在网页上。 虽然这一切都有效,但是当在网页上查看时,png透明度会变为黑色。 有没有办法保持透明度? 这是我从MVC控制器插入数据库的图像服务: public void AddImage(int productId, string caption, byte[] bytesOriginal) { string jpgpattern = “.jpg|.JPG”; string pngpattern = “.png|.PNG”; string pattern = jpgpattern; ImageFormat imgFormat = ImageFormat.Jpeg; if (caption.ToLower().EndsWith(“.png”)) { imgFormat = ImageFormat.Png; pattern = pngpattern; } ProductImage productImage = new ProductImage(); productImage.ProductId = productId; productImage.BytesOriginal = bytesOriginal; productImage.BytesFull = Helpers.ResizeImageFile(bytesOriginal, 600, […]

透明度和鼠标事件WinForms

我目前有一个具有完全透明背景的表单。 目前,当用户将鼠标hover在表单上的控件上时,我必须在论坛顶部显示图片框。 将鼠标hover在PictureBox上会正确触发MouseEnter事件,并将按钮Visible状态设置为true, MouseLeave事件将其设置为false。 按钮本身具有相同的MouseEnter和MouseLeave事件,但是当Winforms将鼠标事件传递到窗体上透明的任何空间下的窗体时(我在按钮中使用的图像也是透明的)每当我点击按钮时,它们消失,因为表格认为鼠标已经“左”了按钮或表格。 有谁知道阻止事件传递的任何方式? 你问的一些代码? 你得到一些代码:) // Form Constructor! // map = picturebox, this = form, move = first button, attach = second button public Detached(PictureBox map) { InitializeComponent(); doEvents(map, this, this.attach, this.move); } // doEvents method! I use this to add the event to all controls // on the form! void doEvents(params […]

我不能通过c#中的句柄设置窗口的透明度?

我试图设置所有窗口的透明度。 我有以下代码。 public partial class Form1 : Form { [DllImport(“user32.dll”)] static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong); [DllImport(“user32.dll”)] static extern int GetWindowLong(IntPtr hWnd, int nIndex); [DllImport(“user32.dll”)] static extern bool SetLayeredWindowAttributes(IntPtr hwnd, uint crKey, byte bAlpha, uint dwFlags); public const int GWL_EXSTYLE = -20; public const int WS_EX_LAYERED = 0x80000; public const int LWA_ALPHA […]

如何在c#中创建多个图像的透明背景

我有一个窗体forms的图像集合,并希望使它们’非矩形’ – 即透明背景。 但是,使用transparencyKey ,是的都会松开它们的背景颜色。 但是,我任何时候都只能看到一个而不是另一个(取决于哪个是“带来了前方”)。 有没有办法在表格上显示两个图像,都是“非矩形”,两者都有透明背景? 请注意:我设法让背景变得透明( TransparencyKey设置为gray (RGB of 66,66,66) ,两个图像都具有相同的背景。 我听说过“ regions ”一词,但从我所知道的情况来看,这通常是CPU上非常“重”的方式。 任何建议都非常感谢并乐于回答任何澄清问题(因为我不善于解释自己)。 注意。 我试图实现的“效果”类似于项目启动时开启的X战警门 – 我的桌面就在后面。

在C#中绘制父级和父级子级的自定义背景

我正在尝试使用本教程,以便我可以使用透明按钮。 它适用于主背景,但它不会覆盖其他孩子。 如果我使用BringToFront() ,那么它就没有其他孩子的绘图。 我已经开始通过将其添加到代码来解决它: foreach (Control child in Parent.Controls) { if(child != this) { InvokePaintBackground(child, pea); InvokePaint(child, pea); } } 虽然我得到了一些我想要的东西,但是它位于错误的位置(在左边而不是在它的中间)并且在孩子的绘画事件中绘制的形状也没有显示出来。 我如何修改以便让所有其他孩子都充分发挥透明度的幻觉? 注意:我并不担心除了其他孩子之外的任何人的痛苦,因为我知道没有任何人,而且还有其他地方很难找到如何递归地让所有的孩子。 感谢C.Evenhuis回答,它现在正在工作。 我的实现很简单(只有一个孩子),所以这是我的代码。 对于未来的读者,请务必阅读该post,但要获得一个小范围。 using (PaintEventArgs pea = new PaintEventArgs(e.Graphics, rect)) { pea.Graphics.SetClip(rect); InvokePaintBackground(Parent, pea); InvokePaint(Parent, pea); foreach (Control child in Parent.Controls) { if (child != this) { pea.Graphics.ResetTransform(); pea.Graphics.TranslateTransform(child.Left – Left, […]

如何在C#中使表单的一部分部分透明?

我想使表单的一部分半透明,在该部分上的附加文本不透明。 我怎样才能在C#中实现这一目标?

图标到图像 – 透明度问题

我正在尝试在richtext框中构建一个类似树视图的文件列表。 它应该看起来像一个资源管理器树视图。 我的代码能够调整图标大小,但缺少透明度(浅灰色背景而不是透明度)。 我需要在这里更改什么? 图像格式错了吗? 有没有更好的方法将图像添加到richtextbox? // Get file info FileInfo f = new FileInfo(“myfile.name”); // Get icon for fileinfo Icon ico = Icon.ExtractAssociatedIcon(f); // Convert icon to bitmap Bitmap bm = ico.ToBitmap(); // create new image with desired size Bitmap img = new Bitmap(16,16,PixelFormat.Frmat32bpRgb); // Create graphics with desired sized image Graphics g = […]