public static byte[] GetBytes(ClipboardItem item, AbstractDataFormat type) { switch (type) { case AbstractDataFormat.Image: { BitmapFrame frame = ParseImage(item); PngBitmapEncoder png = new PngBitmapEncoder(); png.Frames.Add(frame); using (MemoryStream mem = new MemoryStream()) { png.Save(mem); return(mem.ToArray()); } } case AbstractDataFormat.Text: { string text = ParseText(item); return(Encoding.Unicode.GetBytes(text)); } default: throw new NotSupportedException(); } }
public static bool CanSerialize(AbstractDataFormat type) { return(type == AbstractDataFormat.Image || type == AbstractDataFormat.Text); }
/// <summary> /// Checks if the ClipboardItem contains data /// that can be parsed as the requested type. /// </summary> /// <param name="item">The ClipboardItem.</param> /// <param name="type">The requested abstract data type.</param> /// <returns>True when the fragment contains data that can be parsed as the requested type.</returns> public static bool CanParse(ClipboardItem item, AbstractDataFormat type) { return(GetAbstractFormat(item.Format) == type); }