首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏林德熙的博客

    win2d 图片水印

    本文告诉大家如何使用 win2d 给图片加上水印。 安装 首先需要使用 Nuget 安装 win2d ,安装参见win10 uwp win2d 如果没有更新 dot net core 那么在运行可能会出现下面异常System.TypeLoadException 创建图片 如果需要对图片处理,使用的是 CanvasRenderTarget ,可以看到这个类需要传入两个参数ICanvasResourceCreatorWithDpi,Size,我也就使用这个函数 在 win2d 在图片添加文字的方法实际上和在 win2d 的其他处理相同,具体可以去看我的win2d博客。

    55920发布于 2018-09-19
  • 来自专栏林德熙的博客

    win2d 渐变颜色

    本文告诉大家如何在 win2d 使用渐变颜色。 线条渐变 在 UWP 的 Win2d 使用渐变颜色需要 CanvasLinearGradientBrush 做颜色,本文告诉大家如何在 win2d 使用 CanvasLinearGradientBrush 在 win2d 渐变相对的是整个画布的颜色,也就是设置渐变的开始点不是相对于使用渐变的元素,而是画布的坐标。 ? canvasLinearGradientBrush); 从上面代码可以知道画出来的渐变需要开始的点和结束的点都是从 rect 计算,这样才可以做元素内的渐变 全部代码 xaml xmlns:win2d "></ 相信大家都可以创建一个 win2d 的控件,如果还不知道如何创建,请看win10 uwp win2d 入门 看这一篇就够了 在后台代码 private void CanvasControl_OnDraw

    2K10发布于 2018-09-19
  • 来自专栏林德熙的博客

    WPF 使用 Win2d 渲染

    在当前所有渲染框架里面,做 2D 渲染的,最好的框架是 Win2d 这个提供了大量底层接口封装,不仅性能高同时接口设计非常好 在很久之前,只有在 UWP 等现代应用才能使用 Win2d 而 WPF 是不能使用的 好在微软开放了一些黑科技,可以在 WPF 上使用 Win2d 渲染,下面就让我告诉大家如何在 WPF 上使用 在 2019年7月03日 这个技术还是属于黑科技,还没有正式发布,在开始使用之前,有一定的环境要求 相关方法 在 CompositionHostControl 的构造函数给 Win2d 初始化 private readonly CanvasDevice _canvasDevice; 绘制在界面上,需要在界面存放一张平面,让 Win2d 在这个平面上绘制,然后将平面加入到渲染的平面列表里面,这样就可以进行渲染了 // 创建链接 _compositor 和 _canvasDevice 主要原因是现在 Microsoft.Windows.SDK.Contracts 只能让 Win2d 的 1.22 版本运行,解决方案是将原本的 1.23 版本降级到 1.22 版本 在运行过程,运行到

    1.3K20编辑于 2022-08-04
  • 来自专栏林德熙的博客

    win2d CanvasRenderTarget vs CanvasBitmap

    我在网上找了很多发现了大神的回复,于是我就把他翻译,希望大家看到就知道垃圾微软做 CanvasRenderTarget 和 CanvasBitmap 的区别 在 win2d 需要使用 CanvasBitmap

    36610编辑于 2022-08-09
  • 来自专栏dino.c的专栏

    使用 Win2D 实现融合效果

    这篇文章我将介绍如何使用 Win2D 在 UWP / WinUI 3 中实现融合效果。 2. 使用 Win2D 实现融合效果 Win2D 是一个很简单使用的底层图形 Windows Runtime API。 究其原因,应该是因为 Win2D 图像效果使用直接和预乘 alpha 的混合,所以 Win2D 在某个环节做了类似下面这种处理: result.R = source.R * source.A; result.G 关于预乘的更多信息,可以看这篇文章: Win2D: Premultiplied alpha 4. 最后 将 ColorMatrixEffect.ClampOutput 设置为 True 后,Win2D 就可以使用任何颜色实现融合效果,这样玩法就更多了,例如下面这种: 虽然我之前也用 Win2D 做过一些东西

    76230编辑于 2022-10-05
  • 来自专栏dino.c的专栏

    Win2D实现镂空文字

    前言 之前用PointLight做了一个番茄钟,效果还不错,具体可见这篇文章: [UWP]使用PointLight并实现动画效果 后来试玩了Win2D,这次就用Win2D实现文字的镂空效果,配合PointLight 参考例子 Win2D Gallery提供了大量Win2D的Sample,这次就参考了其中的文字镂空效果例子,地址和运行效果如下: https://github.com/microsoft/Win2D-Samples 实现步骤 Sample的代码量虽多,其实核心并不复杂,下面讲讲需要用到的API: 3.1 CanvasDevice.GetSharedDevice 因为要用到Win2D,所以首先要引用Win2D.uwp

    80420发布于 2019-11-27
  • 来自专栏林德熙的博客

    win2d 画出好看的图形

    本文告诉大家,win2d 不需要从零开始做,以前做出来的很多库其实只需要做很小修改就可以做出好看的效果,而且用在 UWP 上。 本文修改原先 大神写的 GDI 图形到 win2d 上,而且可以运行起来。 一开始先发一张图片给大家看,本文就是告诉大家如何做出下面这张图的效果。 ? 如果需要使用 win2d ,我希望大家先看这篇文章,本文不会继续告诉大家如何安装 win2d 。 首先需要了解一个技术,从 point 数组画出来。 在 win2d 下,可以使用 DrawGeometry 方法画出来。 可以看到 DrawGeometry 的第一个参数是 CanvasGeometry ,第二个参数是可以选的 ,一般使用颜色就好了。 代码:https://github.com/lindexi/UWP/tree/master/uwp/control/win2d/Dclutterpalan ----

    81310发布于 2018-09-19
  • 来自专栏林德熙的博客

    win10 uwp win2d 特效 AlphaMaskEffectArithmeticCompositeEffect

    本文告诉大家 win2d 里面的特效 在开始之前先创建一个项目,这里创建 SeexerefaspeaRoulejur 最低版本 17134 选择比较新的版本可以解决之前一些版本存在的坑 ? 通过 Nuget 安装 Win2d 库 ? Name="Canvas" ClearColor="#F256FA"></canvas:CanvasControl> </Grid> 在资源文件添加两张图片 1.png 2.png 作为素材,在 win2d 有事件 CreateResources 可以用来创建图片 先在后台引用 win2d 需要使用的代码 using Microsoft.Graphics.Canvas; using Microsoft.Graphics.Canvas.UI 更多关于 AlphaMaskEffect 请看 win10 uwp win2d 入门 看这一篇就够了 代码 win2d AlphaMaskEffect-CSDN下载 ArithmeticCompositeEffect

    66220发布于 2019-03-13
  • 来自专栏walterlv - 吕毅的博客

    Win2D 中的游戏循环:CanvasAnimatedControl

    Win2D 除了能做出高性能的视觉效果之外,还可以轻而易举地搭建一个游戏循环出来。使用 Win2D 的游戏循环,你可以直接做出一个简单的游戏出来。 使用 Win2D 做出来的游戏 我在 GitHub 上开源了我正在做的一个基于 Win2D 的小游戏 —— GravityMaze,可以翻译为重力迷宫。 阅读 win10 uwp win2d 入门 看这一篇就够了 - 林德熙 了解如何在你的项目中安装 Win2D,并且了解 Win2D 基本的知识。 Win2D 中的画布控件 Win2D 中的画布有 CanvasControl、CanvasVirtualControl 和 CanvasAnimatedControl。 你可以阅读 使用 Win2D 绘制带图片纹理的圆(或椭圆) 了解如何绘制这样的塑料弹球。

    1.3K20发布于 2020-02-10
  • 来自专栏林德熙的博客

    dotnet WinUI3 Win2D 翻转图片

    本文将告诉大家如何在 WinUI3 里面使用 Win2D 进行图片的翻转,本文的方法也适用于 UWP 框架 图片的翻转在 Win2D 里面,可以使用 Transform2DEffect 特效来辅助实现, 如此即可让 Win2D 等待 LoadImageAsync 完成才完成资源创建逻辑,接着再执行 Draw 绘制。 改为 async void 是不可以的,一旦这么做了,那 Win2D 层是无法感知到资源异步加载完成的,也就让 Win2D 层无法知道在何时才是合适的触发渲染 完成图片资源加载逻辑之后,接下来进入到核心的 相当于图片的左上角就是 0 0 点,直接取宽度高度一半就是刚好中心点的值 接下来按照 win10 uwp win2d 入门 看这一篇就够了 和 win10 uwp win2d 特效 里面提供的方法,创建 ,在 WinUI 3 或 UWP 里面使用 Win2D 进行翻转图片。

    59010编辑于 2024-07-08
  • 来自专栏林德熙的博客

    win10 uwp win2d 离屏渲染

    先来写一个简单的界面,在写之前,请安装 Win2d 。 expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:win2d Ignorable="d" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Grid> <win2d :CanvasControl x:Name="CanvasControl" Draw="CanvasControl_OnDraw"></win2d:CanvasControl> <Button } private CanvasRenderTarget _offscreen; private GaussianBlurEffect _effect; 这时尝试在Win2d

    81620发布于 2018-09-19
  • 来自专栏林德熙的博客

    win10 uwp win2d CanvasVirtualControl 与 CanvasAnimatedControl

    在之前的入门教程win10 uwp win2d 入门 看这一篇就够了我直接用的是CanvasControl,实际上可以使用的画布还有下面两个 CanvasAnimatedControl CanvasVirtualControl 所以做动画的时候需要不停触发重新渲染就使用 CanvasAnimatedControl ,关于这个控件,请看win10 uwp 萤火虫效果 Win2D 中的游戏循环:CanvasAnimatedControl

    43320编辑于 2022-08-04
  • 来自专栏林德熙的博客

    win10 uwp win2d 离屏渲染

    先来写一个简单的界面,在写之前,请安装 Win2d 。 Ignorable="d" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Grid> <win2d :CanvasControl x:Name="CanvasControl" Draw="CanvasControl_OnDraw"></win2d:CanvasControl> <Button } private CanvasRenderTarget _offscreen; private GaussianBlurEffect _effect; 这时尝试在Win2d 多谢暗影吉他手发现问题 参见:Win2D 官方文章系列翻译 - 幕后绘制 - void² - 博客园

    67320编辑于 2022-08-04
  • 来自专栏林德熙的博客

    dotnet C# 从控制台开始 关联 Win2D 和 WinUI 3 应用

    本文将告诉大家如何从最简单的控制台开始搭建,让 Win2D 和 WinUI 3 关联起来,让 Win2D 可以将内容渲染到 WinUI 3 应用上 本文适合想了解 WinUI 3 基础机制以及 Win2D 本文将在此基础上告诉大家如何关联上 Win2D 进行基础界面绘制 大概制作出来的应用的界面如下图 上图里面的左上角的灰色矩形就是使用 Win2D 绘制出来的内容,中间的文字则是 TextBlock 控件所提供的界面内容 本文的重点都在于如何让 Win2D 绘制出上图的左上角的灰色矩形 当然了,只要 Win2D 能在上面绘制出灰色矩形,自然也就能绘制出更多有趣的界面内容了 按照 dotnet 的惯例,在开始之前,咱需要安装 Win2D 的 NuGet 库。 和 WinUI 3 之间的渲染关联 为了使用 Win2D 绘制内容,需要创建出一个平面让 Win2D 绘制。

    41410编辑于 2024-08-25
  • 来自专栏林德熙的博客

    win10 uwp win2d 使用 Path 绘制界面

    本文告诉大家如何在 Win2d 使用 Path 路径绘图 CanvasGeometry 在 win2d ,可以使用 DrawGeometry 的方式画出几何。 或写出文字 lindexi.github.io } } 因为Path 可以使用多个 Path 组合,如果需要新建一个 Path 需要调用 BeginFigure 告诉 win2d 在图形画完需要调用 EndFigure 告诉 win2d 已经画完。

    91210发布于 2018-09-19
  • 来自专栏林德熙的博客

    win10 uwp 通过 win2d 画出笔迹 界面笔迹性能原理完全控制墨迹多指输入转换笔迹无限漫游

    本文告诉大家如何在 UWP 上让 win2d 画出笔迹,通过实际测试发现在 UWP 的笔迹的性能比在 WPF 高很多。 win2d 可以画出笔迹。 界面 如果想要在 win2d 画出笔迹,还是需要使用 InkCanvas 来收集笔迹,不能直接通过 Pointer 来做。 因为使用 win2d 需要通过 Nuget 安装,这部分请看在项目安装win2d 本文就直接使用 先引用命名空间 xmlns:canvas="using:Microsoft.Graphics.Canvas.UI.Xaml 上画出静态笔迹 Canvas.Draw += CanvasControl_Draw 在这个函数里面可以通过 win2d 画出任意的内容 但是需要知道在什么时候开始画,同时 win2d 需要调用 Invalidate

    1.3K20发布于 2019-03-13
  • 来自专栏林德熙的博客

    win10 uwp win2d CanvasVirtualControl 与 CanvasAnimatedControl CanvasAnimatedControlCanvas

    在之前的入门教程win10 uwp win2d 入门 看这一篇就够了我直接用的是CanvasControl,实际上可以使用的画布还有下面两个 CanvasAnimatedControl CanvasVirtualControl 所以做动画的时候需要不停触发重新渲染就使用 CanvasAnimatedControl ,关于这个控件,请看win10 uwp 萤火虫效果 Win2D 中的游戏循环:CanvasAnimatedControl VirtualControl_SizeChanged(object sender, SizeChangedEventArgs e) { VirtualControl.Invalidate(); } 其他博客 win10 uwp win2d 入门 看这一篇就够了 win2d 毛玻璃:win10 uwp 毛玻璃 win2d 画出好看的图形 win10 uwp 萤火虫效果 win2d 图片水印 ---- 本文会经常更新,请阅读原文:

    69910发布于 2019-03-13
  • 来自专栏林德熙的博客

    win10 uwp 萤火虫效果 安装 win2d创建界面后台的方法核心代码

    本文告诉大家,如何使用 win2d 做出萤火虫效果。 安装 win2d 安装win2d的方法请使用 Nuget 下载的方法,参见:win10 uwp win2d ? 创建界面 界面只需要很简单两句代码,第一句代码是命名引用,第二句代码就是添加 win2d xmlns:canvas="using:Microsoft.Graphics.Canvas.UI.Xaml 核心代码 这里的核心就是画出来,如何在 win2d 画出一个点,把这个点高斯模糊。不知道大家知道 PhotoShop ,这里用到了图层,需要自己心中知道是什么东西。 如何在 win2d 使用图层,主要的类是CanvasCommandList用它就可以做出图层,最好使用DrawImage把他弄出来。 在win2d有很多效果,先尝试把点画出来,效果图: ?

    88410发布于 2018-09-18
  • 来自专栏Windows Community

    New UWP Community Toolkit - XAML Brushes

    Win2D 相信广大 UWPer 都不陌生了,UWP 图形渲染方面非常常用的库,引用一段官方介绍吧: Win2D is an easy-to-use Windows Runtime API for immediate Source: https://github.com/Microsoft/Win2D Doc: http://microsoft.github.io/Win2D/html/Introduction.htm 目前共支持 7 种画刷,它们都继承自 XamlCompositionBrushBase,一个创建 XAML Brushes 的基类,使用 CompositionBrush 来绘制一个区域;而实现效果都是用了 Win2D } var backdrop = Window.Current.Compositor.CreateBackdropBrush(); // Use a Win2D 我们看到这里的 BlendEffectMode 设置,会影响融合的方式和效果,效果如下图: 详见 Win2D Doc: http://microsoft.github.io/Win2D/html/T_Microsoft_Graphics_Canvas_Effects_BlendEffectMode.htm

    1.5K40发布于 2018-04-28
  • 来自专栏dino.c的专栏

    使用Win2D的BorderEffect实现图片的平铺功能

    幸好图片平铺可以使用Win2D里的BorderEffect实现。 ? 2. 参考 Border effect - Win32 apps _ Microsoft Docs 合成画笔 - Windows UWP applications _ Microsoft Docs 【Win2D 】【译】Win2D 快速入门 - h82258652 - 博客园 基于关系的动画 - Windows UWP applications Microsoft Docs c# - UWP - How to

    90050发布于 2019-11-18
领券