先看效果:

效果還是不錯滴。

這功能就有點像PS的圖層和蒙板了。

簡單的添加一個層:

private void draw_mb(CanvasControl sender, CanvasDrawingSession drawingSession)
{
draw_normal(sender, drawingSession);
using (drawingSession.CreateLayer())
{
drawingSession.FillRectangle(, , oriImage_.SizeInPixels.Width, oriImage_.SizeInPixels.Height, Color.FromArgb(, , , ));
}
}

注意:一定要使用using,否則會出錯!!!!

第二效果呢,先畫個模糊背景,再加一個圓就OK了,圓使用圖片填充,就可以顯示清晰的圓形圖片了~~~~~~

private void draw_mb2(CanvasControl sender, CanvasDrawingSession drawingSession)
{
Microsoft.Graphics.Canvas.Effects.GaussianBlurEffect gaussianEffect = new Microsoft.Graphics.Canvas.Effects.GaussianBlurEffect();
gaussianEffect.BlurAmount = ;
gaussianEffect.Source = oriImage_;
drawingSession.DrawImage(gaussianEffect); float width = oriImage_.SizeInPixels.Width;
float height = oriImage_.SizeInPixels.Height; using (drawingSession.CreateLayer())
{
Microsoft.Graphics.Canvas.Brushes.CanvasImageBrush br = new Microsoft.Graphics.Canvas.Brushes.CanvasImageBrush(sender);
br.Image = oriImage_; drawingSession.FillCircle(new System.Numerics.Vector2(width / , height / -), , br);
}
}

第三個效果,也是相當簡單啦,第二個效果都出來了,第三個效果簡直就是複製粘貼那麼簡單:

private void draw_mosaic(CanvasControl sender, CanvasDrawingSession drawingSession)
{
draw_normal(sender, drawingSession); float width = oriImage_.SizeInPixels.Width;
float height = oriImage_.SizeInPixels.Height;
using (drawingSession.CreateLayer(1f))
{
Microsoft.Graphics.Canvas.Effects.GaussianBlurEffect gaussianEffect = new Microsoft.Graphics.Canvas.Effects.GaussianBlurEffect();
gaussianEffect.BlurAmount = ;
gaussianEffect.Source = oriImage_; Microsoft.Graphics.Canvas.Brushes.CanvasImageBrush br = new Microsoft.Graphics.Canvas.Brushes.CanvasImageBrush(sender);
br.Image = gaussianEffect;
br.SourceRectangle = new Rect(, , width, height); drawingSession.FillCircle(new System.Numerics.Vector2(width / , height / - ), , br);
}
}

PS:本來想用微軟的“微軟牛津計劃”的面部識別技術進行動態識別人臉。。。但是那個庫需要連網,而且不牆的話,網速不是很理想,所以就放棄了,使用固定的座標好了。

【WIN10】WIN2D——圖層的更多相关文章

  1. 【WIN10】WIN2D——圖像處理

    源碼下載:http://yunpan.cn/c3iNuHFFAcr8h  访问密码 8e48 還是先來看下截圖: 實現了幾個效果:放大.縮小.旋轉.左右翻轉.上下翻轉,亮度變化.灰度圖.對比度.高斯模 ...

  2. Android 繪圖白板元件,有畫筆和板擦的功能 (转)

    package com.example.drawboard; import java.util.ArrayList; import java.util.List; import android.con ...

  3. IOS APP配置.plist汇总(转自coolweather )

    IOS APP配置.plist汇总(转自coolweather ) 此文转自http://www.cocoachina.com/bbs/read.php?tid=89684&page=1 作者 ...

  4. [转]JSOM绘制地图区块及航道路径

    From :http://support.sailstech.com/kb/c73fd2405d79911253e568ccdc69256dc7c8fb5c/josm 步驟一: 使用JOSM繪製地圖區 ...

  5. PCB成型製程介紹

    PCB成型製程在電子構裝中所扮演的角色 下圖是電腦主機的內部組成 我們將以插在主機板上的一片 USB擴充卡來說明PCB成型製 程在電子構裝中所扮演的角色 PCB成型製程的子製程 USB擴充卡要插入主機 ...

  6. MFC如何在树形图边上添加动态小地图

    MFC如何在树形图边上添加动态小地图 https://www.jianshu.com/p/7b1d828bf5db (简书无法识别缩进的...早知道先在博客园发了) (转载请注明出处) 作者:梦镜谷雨 ...

  7. info.plist的选项含义

    1.     Application does not run in background(鍵名:UIApplicationExistsOnSuspend)自從iOS4.0之後,當你在應用程式執行的時 ...

  8. 色码表 Color code table

    最近打算更新设计博客页面,需要用到CSS色码表,查了一些资料现转载此处以备以后使用,点击此处查看原文,另外还发现了几个不错的网站: color-hex HTML颜色代码 色碼表 色碼表英文為 Colo ...

  9. thinkphp5ajax分頁&&搜索後分頁

    //控制器層 //分頁 public function list_january_table(){ //設置當前頁 $page = input("post.page") ? inp ...

随机推荐

  1. bzoj千题计划268:bzoj3131: [Sdoi2013]淘金

    http://www.lydsy.com/JudgeOnline/problem.php?id=3131 如果已知 s[i]=j 表示有j个<=n数的数码乘积=i 那么就会有 s[a1]*s[a ...

  2. LaTeX文章结构

    %导言 %\documentclass{article} %ctexbook \documentclass{ctexbook} \title{\heiti 监督学习} % 黑体 \author{\ka ...

  3. 从数据库存储,文件结构谈到B树,散列

    昨天俱乐部内部办了一个讲座,关于常规数据库系统实现,听了之后有点混乱,于是花了很多时间特地查了一些资料,基本上自己感觉自己是明白了.特地写下来. 文章开头说明三点, 第一点,本文针对常规数据库,是为了 ...

  4. 第10月第28天 touchesBegan hittest

    1. -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [[self nextResponder] touchesBe ...

  5. Apache的对象复制详解

    BeanUtils.copyProperties 和 PropertyUtils.copyProperties 两个工具类都是对两个bean之前存在name相同的属性进行处理,无论是源bean或者目标 ...

  6. Linux释放内存小脚本

    最近发现渣渣ECS内存总是不够用,内存太小一不小心就用完了,用完就用完吧,内存用来做cache是可以快一些,但是内存用完了老是一顿一顿的卡,实在有点受不了,于是就写了释放内存的小脚本,觉得卡了就释放下 ...

  7. F. Ivan and Burgers(线性基,离线)

    题目链接:http://codeforces.com/contest/1100/problem/F 题目大意:首先输入n,代表当前有n个数,然后再输入m,代表m次询问,每一次询问是询问区间[l,r], ...

  8. linux笔记_day11_shell编程

    1.条件测试类型: 整数测试 字符测试 文件测试 条件测试的表达式: [ expression ] 必须有空格 [[ expression ]] test expression 整数比较 : -eq  ...

  9. python模块分析之hashlib加密(二)

    前言 hashlib模块是py3.+用来对字符串进行hash加密的模块,核心算法是md5,明文与密文是一一对应不变的关系:用于注册.登录时用户名.密码等加密使用. 模块分析 hashlib模块有多种加 ...

  10. linux du查询目录所占的磁盘空间

    linux查询目录所占的磁盘空间 du -hxs /* --exclude=/proc |sort -rh 命令和选项的解释: du – 估计文件的空间使用情况 -hsx – (-h)更易读的格式,( ...