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

  

uwp 图片剪切的更多相关文章

  1. UWP 图片剪切旋转工具

    好久没撸随笔了,明天终于放假休息了..准备去进行信仰充值,看<魔兽>去(话说surface phone 好久出,让我这个做UWP的也充点信仰..) 先上下效果图: 在设计中,遇到一个问题, ...

  2. iOS开发UI篇—Quartz2D使用(图片剪切)

    iOS开发UI篇—Quartz2D使用(图片剪切) 一.使用Quartz2D完成图片剪切 1.把图片显示在自定义的view中 先把图片绘制到view上.按照原始大小,把图片绘制到一个点上. 代码: - ...

  3. 【iOS】Quartz2D图片剪切

    一.使用Quartz2D完成图片剪切1.把图片显示在自定义的view中 先把图片绘制到view上.按照原始大小,把图片绘制到一个点上. 代码: - (void)drawRect:(CGRect)rec ...

  4. 图片上传,图片剪切jquery.imgareaselect

    ---恢复内容开始--- <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  5. android——拍照,相册图片剪切其实就这么简单

    接触android这么久了.还没有真正的浩浩看看android拍照,相册图片剪切到底是怎么回事,每次都是从别人的代码一扣,就过来了.其实,谷歌提供的API已经很强大.只需要用的好,就那么几句就可以搞定 ...

  6. 图片剪切之Croppic插件

    前几天做图片上传时需要进行图片的剪切和缩放,上网查找时找到了这个插件.样式很好看,功能也很OK.但是网上都是php进行后台处理图片的例子,然后只好慢慢琢磨C#的处理.插件地址是:http://www. ...

  7. 用JavaScript实现图片剪切效果

    学会如何获取鼠标的坐标位置以及监听鼠标的按下.拖动.松开等动作事件,从而实现拖动鼠标来改变图片大小. 还可以学习css中的clip属性. 一.CSS实现图片不透明及裁剪效果. 图片剪切三层结构 1.第 ...

  8. php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明

    php有一款插件叫做imagemagick,功能很强大,提供了图片的很多操作,图片剪切.压缩.合并.插入文本.背景色透明等.并且有api方法调用和命令行操作两种方式,如果只是简单处理的话建议api方法 ...

  9. opencv 图片剪切

    import cv2 as cv import numpy as np # 图片剪切 img = cv.imread('../images/moon.jpg', flags=1) # flags=1读 ...

  10. android 7.0以上共享文件(解决调用系统照相和图片剪切出现的FileUriExposedException崩溃问题)

    在android7.0开始试共享“file://”URI 将会导致引发 FileUriExposedException. 如果应用需要与其他应用共享私有文件,则应该使用 FileProvider, F ...

随机推荐

  1. WebElement的常用属性和方法

    WebElement是WebDriver.find_element()方法返回的一个对象,该对象用来描述Web上的一个元素,比如输入框,按钮等.本节介绍WebElement的常用属性和方法. 一.We ...

  2. C++泛型一:模板

    数据类型给程序设计带来的困扰及解决方案 int maxt(int, int); double maxt(double, double); 若有一种占位符T,能够代替类型,便可以简化代码的冗余编写 T ...

  3. 在线激活win

    目前DragonKMS神龙版能激活win11.win10.win8/8.1.win7以及server2008/2012/2016/2019/2022等系统版本,其中包括:专业工作站版.企业版.专业版. ...

  4. chapter4 quantum circuits

    本章内容为 P172--P215: 主机 word 文件为: chapter4.docx 详情见文件 chapter4.1_singlequbit.cdf  或主机同名文件 4.7 Simulatio ...

  5. 基于Java+SpringBoot心理测评心理测试系统功能实现二

    一.前言介绍: 1.1 项目摘要 心理测评和心理测试系统在当代社会中扮演着越来越重要的角色.随着心理健康问题日益受到重视,心理测评和心理测试系统作为评估个体心理状态.诊断心理问题.制定心理治疗方案的工 ...

  6. 女友用python写的充值卡冲话费的代码

    女友最近在学习python ,于是我拿当初我们学习C语言的课程设计 手机号充话费功能让她尝试着做一下,在分析完思路和帮助改错的情况下代码如下: python2.7.17 环境 #/usr/bin/py ...

  7. dp题单vjudge 8.17

    HDU-1024 Max Sum Plus Plus https://acm.hdu.edu.cn/showproblem.php?pid=1024 可以想到用dp过,但是无论时间和空间都不够,然后就 ...

  8. VulnStack之ATT&CK实战系列———红队实战(一)

    目录 前言 环境搭建 外围打点 信息收集 phpmyadmin全局日志getshell 内网信息收集 msf上线 mimikatz抓取明文密码&hash 域信息收集 横向移动 msf+prox ...

  9. Docker镜像管理之Harbor

    github: https://github.com/goharbor/harbor 官网:https://goharbor.io/docs/2.5.0/ [安装] 1. 查看是否达到安装条件 2.根 ...

  10. Blazor 组件库 BootstrapBlazor 中Tag组件介绍

    Tag组件的样子 Tag组件的介绍 Tag组件是一个非常简单的组件. <Tag Icon="fa fa-fw fa-check-circle" Color="Col ...