zoukankan      html  css  js  c++  java
  • uwp 图片剪切

      public async void BitmapTransformAndSaveTest()
            {
                var uncroppedfile = await Windows.Storage.ApplicationData.Current.LocalFolder.GetFileAsync("uncropped.jpg");
                if (uncroppedfile == null)
                {
                    return;
                }
    
                WriteableBitmap wb = null;
    
                // create a stream from the file and decode the image
                var fileStream = await uncroppedfile.OpenAsync(Windows.Storage.FileAccessMode.Read);
                var decoder = await BitmapDecoder.CreateAsync(fileStream);
    
                // create a new stream and encoder for the new image
                using (InMemoryRandomAccessStream ras = new InMemoryRandomAccessStream())
                {
                    var enc = await BitmapEncoder.CreateForTranscodingAsync(ras, decoder);
    
                    // convert the entire bitmap to a 100px by 100px bitmap
                    enc.BitmapTransform.ScaledHeight = 100;
                    enc.BitmapTransform.ScaledWidth = 100;
    
                    var bounds = new BitmapBounds();
                    bounds.Height = 50;
                    bounds.Width = 50;
                    bounds.X = 50;
                    bounds.Y = 50;
                    enc.BitmapTransform.Bounds = bounds;
    
                    // write out to the stream
                    await enc.FlushAsync();
    
                    // create a writeable bitmap from the stream
                    ras.Seek(0);
                    wb = new WriteableBitmap(100, 100);
                    wb.SetSource(ras);
                }
    
                // save the cropped file now
                var croppedfile = await Windows.Storage.ApplicationData.Current.LocalFolder.CreateFileAsync("cropped.jpg", Windows.Storage.CreationCollisionOption.ReplaceExisting);
                using (var stream = await croppedfile.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite))
                {
                    var pixelStream = wb.PixelBuffer.AsStream();
                    var bytes = new byte[pixelStream.Length];
                    pixelStream.Seek(0, SeekOrigin.Begin);
                    await pixelStream.ReadAsync(bytes, 0, (int)pixelStream.Length);
                    await pixelStream.FlushAsync();
    
                    var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.JpegEncoderId, stream);
                    encoder.SetPixelData(BitmapPixelFormat.Bgra8, BitmapAlphaMode.Straight, (uint)wb.PixelWidth, (uint)wb.PixelHeight, 0, 0, bytes);
                    await encoder.FlushAsync();
                    await stream.FlushAsync();
                }
            }
    

      

    fffffffffffffffff
    test red font.
  • 相关阅读:
    Web打印控件
    excel错误:外部表不是预期的格式 错误
    C#用ado.net访问EXCEL的常见问题及解决方法
    通过反射的方式获取类型中的所有属性
    在64位Windows7上安装64位Oracle11g
    2020&2021的计划
    jQuery_day1
    springboot+mybatis+MySQL(入门级-半小时搞定系列)
    springboot_web开发
    springboot日志
  • 原文地址:https://www.cnblogs.com/wgscd/p/14450812.html
Copyright © 2011-2022 走看看