zoukankan      html  css  js  c++  java
  • UWP 剪贴板 Clipboard

    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;
                        }

    参考 https://blog.csdn.net/lindexi_gd/article/details/50479180

  • 相关阅读:
    java实现同步的两种方式
    JAVA线程概念
    XML基础总结
    JAVA使用和操作properties文件
    JAVA序列化基础知识
    easyui 在编辑状态下,动态修改其他列值。
    Activiti初学问题,求解
    java web--DOM
    java web(1)
    Java WEB
  • 原文地址:https://www.cnblogs.com/hupo376787/p/8890746.html
Copyright © 2011-2022 走看看