uwp 图片剪切
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | 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.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步