先看效果:

效果還是不錯滴。

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

簡單的添加一個層:

  1. private void draw_mb(CanvasControl sender, CanvasDrawingSession drawingSession)
  2. {
  3. draw_normal(sender, drawingSession);
  4. using (drawingSession.CreateLayer())
  5. {
  6. drawingSession.FillRectangle(, , oriImage_.SizeInPixels.Width, oriImage_.SizeInPixels.Height, Color.FromArgb(, , , ));
  7. }
  8. }

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

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

  1. private void draw_mb2(CanvasControl sender, CanvasDrawingSession drawingSession)
  2. {
  3. Microsoft.Graphics.Canvas.Effects.GaussianBlurEffect gaussianEffect = new Microsoft.Graphics.Canvas.Effects.GaussianBlurEffect();
  4. gaussianEffect.BlurAmount = ;
  5. gaussianEffect.Source = oriImage_;
  6. drawingSession.DrawImage(gaussianEffect);
  7.  
  8. float width = oriImage_.SizeInPixels.Width;
  9. float height = oriImage_.SizeInPixels.Height;
  10.  
  11. using (drawingSession.CreateLayer())
  12. {
  13. Microsoft.Graphics.Canvas.Brushes.CanvasImageBrush br = new Microsoft.Graphics.Canvas.Brushes.CanvasImageBrush(sender);
  14. br.Image = oriImage_;
  15.  
  16. drawingSession.FillCircle(new System.Numerics.Vector2(width / , height / -), , br);
  17. }
  18. }

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

  1. private void draw_mosaic(CanvasControl sender, CanvasDrawingSession drawingSession)
  2. {
  3. draw_normal(sender, drawingSession);
  4.  
  5. float width = oriImage_.SizeInPixels.Width;
  6. float height = oriImage_.SizeInPixels.Height;
  7. using (drawingSession.CreateLayer(1f))
  8. {
  9. Microsoft.Graphics.Canvas.Effects.GaussianBlurEffect gaussianEffect = new Microsoft.Graphics.Canvas.Effects.GaussianBlurEffect();
  10. gaussianEffect.BlurAmount = ;
  11. gaussianEffect.Source = oriImage_;
  12.  
  13. Microsoft.Graphics.Canvas.Brushes.CanvasImageBrush br = new Microsoft.Graphics.Canvas.Brushes.CanvasImageBrush(sender);
  14. br.Image = gaussianEffect;
  15. br.SourceRectangle = new Rect(, , width, height);
  16.  
  17. drawingSession.FillCircle(new System.Numerics.Vector2(width / , height / - ), , br);
  18. }
  19. }

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. net.sf.json------json解析

    下载地址 [plain] view plain copy   本次使用版本:http://sourceforge.net/projects/json-lib/files/json-lib/json-l ...

  2. bzoj千题计划180:bzoj4411: [Usaco2016 Feb]Load balancing

    http://www.lydsy.com/JudgeOnline/problem.php?id=4411 用树状数组维护扫描线 一个树状数组维护扫描线之上的y<=i点,另一个维护扫描线之下y&l ...

  3. My latest news

    2018.04.12  0:01 本站点停止更新,启用0x7c00.vip站点. 2018.03.23 复试报道(心态不太平稳).每一行的深入都是需要知识的积累和时间的沉淀,就像学法律.计算机等等.愿 ...

  4. gdb初步窥探

    本文是通过学习左耳朵皓帝的文章,详见:http://blog.csdn.net/haoel 1.使用gdb gdb主要是用来调试c和c++程序,首先在编译前我们先把调试信息加到可执行程序当中,使用参数 ...

  5. 图的最短路径-----------SPFA算法详解(TjuOj2831_Wormholes)

    这次整理了一下SPFA算法,首先相比Dijkstra算法,SPFA可以处理带有负权变的图.(个人认为原因是SPFA在进行松弛操作时可以对某一条边重复进行松弛,如果存在负权边,在多次松弛某边时可以更新该 ...

  6. CF359B Permutation (构造)

    CF359B Permutation \(solution:\) 作为一道构造题,这题也十分符合构造的一些通性----(找到一些规律,然后无脑循环). 构造一个长度为 \(2n\) 的排列 \(a\) ...

  7. 关于v4包的Fragment过渡动画的事件监听无响应问题解决

    项目中部分功能模块采用了单Activity+多Fragment模式,当Fragment切换时,需要在过渡动画执行完后做一些操作,通常就是在自己封装的FragmentBase中重写onCreateAni ...

  8. CMD常用命令(一)

    常用命令大全 net>user heibai lovechina /add 加一个heibai的用户密码为lovechina net>localgroup Administrators h ...

  9. 学习mysql replication gitd

  10. stdole.dll

    迁移至win1064位后,发布提示stdole.dll错误,查找半天,是因为引用了office组件问题,将其注释掉.解决.因为此块代码无用,但是对有用的代码如何解决发布问题,未找到合适解决方法.