zoukankan      html  css  js  c++  java
  • Win10 for Phone 裁剪保存

    //StorageFolder savedPics = ApplicationData.Current.LocalFolder;
    //BitmapImage bi = new BitmapImage();

    //RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
    //await renderTargetBitmap.RenderAsync(GridImage);

    //IBuffer buffer = await renderTargetBitmap.GetPixelsAsync();
    //StorageFile newfile = await savedPics.CreateFileAsync("snap.jpg", CreationCollisionOption.ReplaceExisting);
    //using (var writeStream = await newfile.OpenAsync(FileAccessMode.ReadWrite))
    //{
    // BitmapEncoder jpgencode = await BitmapEncoder.CreateAsync(BitmapEncoder.JpegEncoderId, writeStream);
    // byte[] data = buffer.ToArray();

    // Rect temp = MeasureUtil.GetBounds(GridImage, LayoutRoot);

    // jpgencode.BitmapTransform.Bounds = new BitmapBounds
    // {
    // X = (uint)Math.Round((measureRect.X - temp.X), 0),
    // Y = (uint)Math.Round((measureRect.Y - temp.Y), 0),
    // Width = (uint)Math.Round(measureRect.Width, 0),
    // Height = (uint)Math.Round(measureRect.Height, 0)
    // };

    // jpgencode.SetPixelData(
    // BitmapPixelFormat.Bgra8,
    // BitmapAlphaMode.Straight,
    // (uint)renderTargetBitmap.PixelWidth,
    // (uint)renderTargetBitmap.PixelHeight,
    // 96d, 96d, data);


    // bi.SetSource(writeStream);

    // // 如果需要设置图片的固定宽、高,可以使用 WriteableBitmap 对象
    // //WriteableBitmap wb = new WriteableBitmap(480, 480);
    // //wb.SetSource(WriteStream);
    // //imgResult.Source = wb;

    // await jpgencode.FlushAsync();
    //}

    RenderTargetBitmap render = new RenderTargetBitmap();
    await render.RenderAsync(CroppedImage);

    IBuffer pixelBuffer = await render.GetPixelsAsync();

    StorageFolder fold = ApplicationData.Current.LocalFolder;
    StorageFile file = await fold.CreateFileAsync("save.jpg", CreationCollisionOption.ReplaceExisting);

    using (var randstream = await file.OpenAsync(FileAccessMode.ReadWrite))
    {
    var logicalDpi = DisplayInformation.GetForCurrentView().LogicalDpi;
    var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.JpegEncoderId, randstream);
    encoder.SetPixelData(
    BitmapPixelFormat.Bgra8,
    BitmapAlphaMode.Ignore,
    (uint)render.PixelWidth,
    (uint)render.PixelHeight,
    logicalDpi,
    logicalDpi,
    pixelBuffer.ToArray());

    await encoder.FlushAsync();

    }

  • 相关阅读:
    高级映射之事务
    配置tomcat-users.xml文件
    动态SQL之标签
    性能测试
    Service
    添加 aar 或 jar 包依赖 的方式
    安卓设备 以太网代理 问题排查
    剑指offer:面试题15、链表中倒数第 K 个结点
    剑指offer:面试题14、调整数组顺序使奇数位于偶数前面
    剑指offer:面试题13、在O(1)时间删除链表结点
  • 原文地址:https://www.cnblogs.com/androllen/p/4545352.html
Copyright © 2011-2022 走看看