public static Gdk.Pixbuf MakeTransparent(Gdk.Pixbuf icon, double opacity) { Gdk.Pixbuf result = icon.Copy(); result.Fill(0); result = result.AddAlpha(true, 0, 0, 0); icon.Composite(result, 0, 0, icon.Width, icon.Height, 0, 0, 1, 1, Gdk.InterpType.Bilinear, (int)(256 * opacity)); return(result); }
public static Gdk.Pixbuf FadeIcon(Gdk.Pixbuf source) { Gdk.Pixbuf result = source.Copy(); result.Fill(0); result = result.AddAlpha(true, 0, 0, 0); source.Composite(result, 0, 0, source.Width, source.Height, 0, 0, 1, 1, Gdk.InterpType.Bilinear, 128); return(result); }
public override object ChangeOpacity(object backend, double opacity) { Gdk.Pixbuf image = (Gdk.Pixbuf)backend; Gdk.Pixbuf result = image.Copy(); result.Fill(0); result = result.AddAlpha(true, 0, 0, 0); image.Composite(result, 0, 0, image.Width, image.Height, 0, 0, 1, 1, Gdk.InterpType.Bilinear, (int)(255 * opacity)); return(result); }
static DemoApplicationWindow() { // Register our custom toolbar icons, for themability Gdk.Pixbuf pixbuf = Gdk.Pixbuf.LoadFromResource("gtk-logo-rgb.gif"); Gdk.Pixbuf transparent = pixbuf.AddAlpha(true, 0xff, 0xff, 0xff); IconFactory factory = new IconFactory(); factory.Add("demo-gtk-logo", new IconSet(transparent)); factory.AddDefault(); StockManager.Add(new StockItem("demo-gtk-logo", "_GTK#", 0, 0, null)); }
public static Gdk.Pixbuf MakeTransparent(Gdk.Pixbuf icon, double opacity) { Gdk.Pixbuf result = icon.Copy(); result.Fill(0); result = result.AddAlpha(true, 0, 0, 0); icon.Composite(result, 0, 0, icon.Width, icon.Height, 0, 0, 1, 1, Gdk.InterpType.Bilinear, (int)(256 * opacity)); var icon2x = Get2xIconVariant(icon); if (icon2x != null) { Set2xIconVariant(result, MakeTransparent(icon2x, opacity)); } return(result); }