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. hadoop运行原理

    包括HDFS和Mapreduce两部分. 1)HDFS自动保存多个副本,移动计算.缺点是小文件存取占用namenode内存,写入只支持追加,不能随机修改. 它存储的逻辑空间称为block,文件的权限类 ...

  2. Python3开启简易服务器

    nohup python3 -m http.server 3000 2>&1 &

  3. 鸿蒙NEXT开发案例:指尖轮盘

    [1]引言 "指尖轮盘"是一个简单而有趣的互动游戏(类似抓阄),这个应用通过触摸屏幕的方式,让玩家参与一个激动人心的游戏,最终选出幸运的赢家.未来可以进一步扩展功能,如增加游戏模式 ...

  4. Linux系统部署Jmeter环境

    1.Linu安装Java环境 Jmeter是Java开发的,需要依赖JDK环境,因此我们需提前安装好JDK,安装地址:https://www.oracle.com/technetwork/java/j ...

  5. MyBatis源码研究-缓存

    在学习Hibernate中,经常有看到一级缓存和二级缓存的概念,并且有了解到,一级缓存是session级别的缓存一般缓存在内存中,二级缓存是指sessionfactory级别的缓存,一般缓存在内存或者 ...

  6. Graylog之告警

    官方文档:https://docs.graylog.org/en/3.0/index.html 前面我们已经了解了Graylog的搭建,以及日志的接入方法.我们知道graylog可以将收集的的日志通过 ...

  7. 150页的剑指Offer解答PDF,它来了!!!

    它来了!!! 终于整理出了第一版剑指Offer的PDF,主要以Java语言为主,一共67道题,100多页. 领取方式如下(无套路直接获取百度网盘的 链接,如果链接失效可以直接找我): [秦怀杂货店]公 ...

  8. java/spring项目打成jar包供第三方引用方案

    分类 单独工具类 比如StringUtils 注入类工具类 实现 单独工具类 将项目打jar包 项目结构 开始打包: 在目标项目中pom引用直接使用 注入类工具类 当我们想要利用SpringBoot封 ...

  9. uniapp云数据库笔记

    1.基本概念 云数据库:一个云空间只能有一个数据库,一个数据库可以有多个集合(表),每个表可以有多行数据(文档) DB Schema:是基于 JSON 格式定义的数据结构的规范,每个表有多少字段都需要 ...

  10. uniapp h5 和 小程序互相传值

    小程序端 <template> <div> <web-view :webview-styles="webviewStyles" :src=" ...