本文整理汇总了C#中Gdk.SaveToBuffer方法的典型用法代码示例。如果您正苦于以下问题:C# Gdk.SaveToBuffer方法的具体用法?C# Gdk.SaveToBuffer怎么用?C# Gdk.SaveToBuffer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Gdk
的用法示例。
在下文中一共展示了Gdk.SaveToBuffer方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BitmapFromPixbuf
public static Bitmap BitmapFromPixbuf( Gdk.Pixbuf pixbuf )
{
//save bitmap to stream
byte[] bytes = pixbuf.SaveToBuffer( "png" );
System.IO.MemoryStream stream = new System.IO.MemoryStream( bytes );
//verry important: put stream on position 0
stream.Position = 0;
//get the pixmap mask
Bitmap bmp = new Bitmap( stream );
return bmp;
}
示例2: GetBytes
public static byte[] GetBytes(Gdk.Pixbuf pixbuf)
{
try
{
return pixbuf.SaveToBuffer("png");
}
catch
{
return null;
}
}
示例3: Write
public static void Write(this BinaryWriter file, Gdk.Pixbuf pixbuf)
{
byte[] buf = pixbuf.SaveToBuffer("bmp");
for (int i = 1; i <= pixbuf.Height; ++i)
for (int j = 0; j < pixbuf.Width; ++j)
{
int pos = buf.Length - i * pixbuf.Width * 3 + j * 3;
byte data = (byte)(((int)buf[pos + 0] + (int)buf[pos + 1] + (int)buf[pos + 2]) / 3);
file.Write(data);
}
}
示例4: Write
public static void Write(BinaryWriter file, Gdk.Pixbuf pixbuf)
{
byte[] buf = pixbuf.SaveToBuffer ("bmp");
// skip header
for (int i = 54; i < buf.Length; i += 3) {
byte r, g, b;
r = buf[i + 0];
g = buf[i + 1];
b = buf[i + 2];
byte data = (byte)(((int)r + (int)g + (int)b) / 3);
file.Write (data);
}
}
示例5: BitmapImpl
public BitmapImpl(Gdk.Pixbuf pixbuf)
:base(pixbuf.SaveToBuffer("png"))
{
}