コード例 #1
0
        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();
            }
        }
コード例 #2
0
 public static bool CanSerialize(AbstractDataFormat type)
 {
     return(type == AbstractDataFormat.Image || type == AbstractDataFormat.Text);
 }
コード例 #3
0
 /// <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);
 }