win10 UWP 剪贴板 Clipboard

来源:互联网 发布:java资料 百度云 编辑:程序博客网 时间:2024/05/17 06:33

win10 UWP 剪贴板 Clipboard使用Windows.ApplicationModel.DataTransfer.Clipboard

设置文本

DataPackage dataPackage = new DataPackage();
            dataPackage.SetText("文本");            Clipboard.SetContent(dp);

获取文本

检查剪贴板包含文本

DataPackageView con = Windows.ApplicationModel.DataTransfer.Clipboard.GetContent();if (con.Contains(StandardDataFormats.Text))
            DataPackageView con = Windows.ApplicationModel.DataTransfer.Clipboard.GetContent();            string str = string.Empty;            if (con.Contains(StandardDataFormats.Text))            {                str = await con.GetTextAsync();            }

获取图片

            if (con.Contains(StandardDataFormats.Bitmap))            {                RandomAccessStreamReference img = await con.GetBitmapAsync();                var imgstream = await img.OpenReadAsync();                BitmapImage bitmap = new BitmapImage();                bitmap.SetSource(imgstream);                Windows.UI.Xaml.Media.Imaging.WriteableBitmap src = new Windows.UI.Xaml.Media.Imaging.WriteableBitmap(bitmap.PixelWidth, bitmap.PixelHeight);                src.SetSource(imgstream);                Windows.Graphics.Imaging.BitmapDecoder decoder = await Windows.Graphics.Imaging.BitmapDecoder.CreateAsync(imgstream);                Windows.Graphics.Imaging.PixelDataProvider pxprd = await decoder.GetPixelDataAsync(Windows.Graphics.Imaging.BitmapPixelFormat.Bgra8, Windows.Graphics.Imaging.BitmapAlphaMode.Straight, new Windows.Graphics.Imaging.BitmapTransform(), Windows.Graphics.Imaging.ExifOrientationMode.RespectExifOrientation, Windows.Graphics.Imaging.ColorManagementMode.DoNotColorManage);                byte[] buffer = pxprd.DetachPixelData();                str = "image";                StorageFolder folder = await _folder.GetFolderAsync(str);                StorageFile file = await folder.CreateFileAsync(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + ".png", CreationCollisionOption.GenerateUniqueName);                using (var fileStream = await file.OpenAsync(FileAccessMode.ReadWrite))                {                    var encoder = await Windows.Graphics.Imaging.BitmapEncoder.CreateAsync(Windows.Graphics.Imaging.BitmapEncoder.PngEncoderId, fileStream);                    encoder.SetPixelData(Windows.Graphics.Imaging.BitmapPixelFormat.Bgra8, Windows.Graphics.Imaging.BitmapAlphaMode.Straight, decoder.PixelWidth, decoder.PixelHeight, decoder.DpiX, decoder.DpiY, buffer);                    await encoder.FlushAsync();                }            }

获取文件

 if (con.Contains(StandardDataFormats.StorageItems))            {                var filelist = await con.GetStorageItemsAsync();                foreach (StorageFile t in filelist)                {                }            }

IStorageItem 转 StorageFile

                     if (t.IsOfType(StorageItemTypes.File))                    {                        StorageFile storageFile = storageItem as StorageFile;                    }

参考:
http://www.cnblogs.com/tcjiaan

http://www.cnblogs.com/chengxingliang/archive/2013/01/21/2857718.html

3 0