naps2/NAPS2.Images.Gtk/GtkExtensions.cs
2023-03-25 16:53:39 -07:00

19 lines
612 B
C#

using Gdk;
namespace NAPS2.Images.Gtk;
public static class GtkExtensions
{
public static Pixbuf RenderToPixbuf(this IRenderableImage image)
{
var gtkImageContext = image.ImageContext as GtkImageContext ??
throw new ArgumentException("The provided image does not have a GtkImageContext");
return gtkImageContext.RenderToPixbuf(image);
}
public static Pixbuf AsPixbuf(this IMemoryImage image)
{
var gtkImage = image as GtkImage ?? throw new ArgumentException("Expected a GtkImage", nameof(image));
return gtkImage.Pixbuf;
}
}