在特定应用里,我们需要用标尺来标识屏幕上的像素。然而唯一内置的尺是在InkToolbar控件里的,我们没法拿出来用。今天我就教大家如何自己打造一把UWP引用里随处可用的像素尺。 ?...It is available to C#, C++ and VB developers writing apps for the Windows Universal Platform (UWP)....DependencyProperty通常用于UserControl里,这样使用者能够对你的UserControl进行属性的设定。 类似的,添加BackgroundColor属性。...现在你已经完成了像素尺的基本功能,我们来让它更加完善。 更完美的功能 我们的UserControl需要在不同场景下使用,因此我们要让用户能尽可能自定义每一处设置,而不是硬编码进程序里。...获取屏幕分辨率的简单方法可以安装我的UWP助手库获得: Install-Package Edi.UWP.Helpers 现在你可以把每一处1920都改成largePixel了: var pixelW
这里的Emgu.CV选择4.3.0.3890版本,然后安装Emgu.CV和Emgu.CV.runtime.windows。 使用OPenCV剪切矩形 现在,我们进入项目,进行OPenCV的调用。...取到了顶点后,在依据顶点剪切图片就可以了。 下面是截取矩形的代码,代码中只截取了宽度最大的那个矩形。...图中红线为检测到矩形后,手动画上去的矩形轮廓。 使用OPenCV剪切圆形 编写矩形剪切函数——CutCircleImage。 函数里,我们依然先将图像进行缩放,为了有效的减少检测到的圆形数量。...然后再使用霍夫圆检测函数,获取圆的圆心和半径。 最后再根据圆心和半径计算出最小矩形,然后将圆剪切并保存。...使用OpenCV剪切图像中的圆形和矩形就已经介绍完了。
使用OPenCV剪切人脸部分 现在,我们进入项目,进行OPenCV的调用。...然后再使用人脸检测的对象的方法——DetectMultiScale进行人脸数量识别。 最后通过Bitmap类把识别出来的人脸进行剪切保存。...运行结果 点击界面中的打开图片,选中带人脸的图片进行测试。 代码中默认把剪切的图片保存到Debug文件夹下,我们打开Debug文件夹,如下图: ?...因为我选中的图片只有一个人脸,所以得到一个剪切图片——Face_1.png。 原图与剪切后的图片对比如下: ? 现在,我们换一个人脸多的图片,再测试一下。测试图片如下。 ? 运行后结果如下: ?...------------------------------------------------------------------------------------------------- 到此C#
大家好,又见面了,我是你们的朋友全栈君。 什么是基因的可变剪切?...有些基因的前体mRNA(pre-mRNA)通过不同的剪接方式(选择不同的剪接位点)产生不同的mRNA剪接异构体,这一过程称为可变剪接(或者选择性剪切)(Alternative Splicing)。...常见的可变剪切可以分成6类: 1、外显子跳跃(Exon Skipping) 2、内含子保留(Intron Retention) 3、5’端可变剪接(Alternative 5′ splice Site)...可变剪切是调节基因表达和产生蛋白组多样性的重要原因,是导致真核生物基因与蛋白质数量差异效果的主要原因。...可变剪切预测软件 使用Cufflinks软件,与基因原有的剪接模型进行比较,对Mapped Data中的跨内含子Reads,进行新可变剪接事件(Alternative Splicing Events)预测
简介 C#并发编程经典实例 是一本关于使用C#进行并发编程的入门参考书,使用“问题-解决方案-讨论”的模式讲解了以下这些概念: 面向异步编程的async和await 使用TPL(任务并行库) 创建数据流管道的...线程同步访问数据 我还挺喜欢这本书的,只有短短的170页却提供了大量的最佳实践,介绍了当时最新的C#平台并发开发技术,作为参考书时至今日依然很有推荐价值。...实现一个下载工具的UI 为什么这篇文章放在UWP板块下面? 这本书2015年在国内出版,读了这本书后感觉很有用。...最近重读了这本书,试着用UWP复习一下书上的知识,除了有些Nuget包的名字变了其它内容都适用于UWP开发,最终成果是一个(十分阳春的)下载工具UI,所以就放在UWP板块下了。 ?...事实上UWP好像只能使用线程池,不能直接访问及控制线程(因为习惯用Task没关心线程,也许有我不知道的方式),看起来微软希望开发者使用Task这个更合理的抽象而不是直接使用线程。
扩展PointAnimation 上面两个例子的动画都还算简单,如果更复杂些,XAML或C#代码都需要写到很复杂。...可惜的是虽然UWP的Timeline类并不封闭,但完全不知道如何继承并派生一个自定义的Animation。 这时候需要稍微变通一下思维。...不过我并不清楚怎么在UWP上自定义动画,只能通过本文的折衷方式扩展。...不会因为动画API的改变而更改,可以兼容WPF、Silverlight和UWP(大概吧,我没有真的在WPF上测试这些代码)。...结合上一篇文章再发散一下,总觉得将来遇到什么UWP没有提供的功能都可以通过变通的方法实现,Binding和DependencyProperty真是UWP开发者最好的朋友。 4.
/tree/master/uwp/control/Progress,项目所有代码都会发出,所以可以看我的网站 我们使用 Task 异步,我们因为没有什么耗时的,就Task.Delay(1000).Wait.../lindexi/UWP,打开我的进度条文件夹,里面有View文件夹 我在View有一个控件RountProgress复制他到你的解决方案,如果我的控件大小和你不一样,很简单调整,我就不说。...那么我的控件只需要指定Value就好啦,Value其实是从0到100,如果叫别的应该好,但是我不改,如果你觉得不想要,自己改 xmlns:view="using:lindexi.uwp.control.RountProgress.View...,然后换为我们的宽度算,这个简单 代码在https://github.com/lindexi/UWP/tree/master/uwp/control/Progress/Progress/View/RountProgress.xaml...UserControl x:Class="lindexi.uwp.control.RountProgress.View.IndeterminateProgress" xmlns="
UWP 的控件挡住 因此为了给 UWP 的 InkCanvas 控件加上背景色,就需要采用在 WPF 里面 HOST 自定义的 UWP 控件的科技。...UWP 的项目,其中一个是 UWP 的空白应用项目,另一个是 UWP 的控件项目。...让 UWP 的空白应用项目作为 UWP 执行入口,用于提供运行的支持。...让 UWP 的控件项目作为实际的 UWP 自定义控件编写的项目,咱将在 UWP 的控件项目里面完成所有的自定义逻辑 如何创建项目和如何组织,还请参阅 官方文档 本文这里就不多说了 回到如何给 UWP 的...InkCanvas 控件添加背景色的方法上,在新建的 UWP 控件项目里面,添加一个自定义的控件,如 CustomInkControl.xaml 控件 在这个控件里面的 XAML 添加如下代码 UserControl
网页上的复制与剪切 这篇文章翻译自HTML5ROCKS的Cut and Copy Commands。...IE 10及以上的版本修改了Document.execCommand()方法,增加了对剪切和复制的支持。Chrome从43版本开始也支持了这项特性。...你可以决定哪些文本被复制到剪切版。之后我们会详细阐述。 一个简单的例子 让我们来增加一个按钮,点击这个按钮会拷贝一个email地址到用户的剪切版。...剪切命令可以在文本框中使用。你可以移除文本输入框中的文字并放到剪切版中使用。...:前者检测浏览器是否支持剪切或拷贝,后者检测是否有选中的文本用于剪切或拷贝。
视频(Video)泛指将一系列静态影像以电信号的方式加以捕捉、纪录、处理、储存、传送与重现的各种技术。...连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫做视频。...视频技术最早是为了电视系统而发展,但现在已经发展为各种不同的格式以利消费者将视频记录下来。网络技术的发达也促使视频的纪录片段以串流媒体的形式存在于因特网之上并可被电脑接收与播放。...视频与电影属于不同的技术,后者是利用照相术将动态的影像捕捉为一系列的静态照片。 那么当然我们可以用PS进行编辑和处理了,当然如果你安装专业的视频编辑工具最好啦,接下来看看怎么处理。...第三阶段:导出视频 补充 END 视频制作也有很多工具,比如说AE、会声会影等等,当然现在的手机也可做一些编辑,拼接等。我们也可以用它做一下gif格式的图片比如是影片中的经典画面保存为gif格式。
/tree/master/uwp/control/Progress,项目所有代码都会发出,所以可以看我的网站 我们使用 Task 异步,我们因为没有什么耗时的,就Task.Delay(1000).Wait.../lindexi/UWP,打开我的进度条文件夹,里面有View文件夹 我在View有一个控件RountProgress复制他到你的解决方案,如果我的控件大小和你不一样,很简单调整,我就不说。...那么我的控件只需要指定Value就好啦,Value其实是从0到100,如果叫别的应该好,但是我不改,如果你觉得不想要,自己改 xmlns:view="using:lindexi.uwp.control.RountProgress.View...,然后换为我们的宽度算,这个简单 代码在https://github.com/lindexi/UWP/tree/master/uwp/control/Progress/Progress/View/RountProgress.xaml...那么进度条如果不需要进度,那么我有一些好的,例如我之前的博客有说的,还有一个简单,也是上面改,我们一个值是显示一个值是不显示,那么我们可以做 UserControl x:Class="lindexi.uwp.control.RountProgress.View.IndeterminateProgress
1.概述 UWP允许开发者通过两种方式创建自定义的控件:UserControl和TemplatedControl(模板化控件)。...1.1 ControlTemplate UWP的控件有很多属性,使用这些属性可以为控件定制不同的外观,例如将Button的Border变粗,Background改为红色等,但通过这种改造控件,能做到的仍十分有限...注意:UserControl不能使用ControlTemplate。...1.2 模板化控件 可以使用ControlTemplate的控件即为模板化控件(TemplatedControl),在UWP中,所有派生自Control的控件(除了UserControl)都是模板化控件...Style的内容是一组Setter的集合,除了Template外,还可以添加其它的Setter指定控件的默认外观。
Windows 10 开始引入 UWP,更进一步的发展了Windows RunTime 模型,并将WRT 引入了Windows10 内核中。...作为系统内核的一部分,UWP 现在提供创建通用的App平台(即App在运行Windows10的所有设备中都可以运行),当然微软内部也做出了改进,UWP 不仅包含了WinRT API,也增加了适应特定设备群的...无论设备的形式和输入模态的不同,UWP 都可以运行,也可以为特殊设备定制。自适应UI控件和新的布局Panel 有助于解决设备屏幕尺寸的多样性。...在进行UWP平台的开发时,还可以借助一些开发工具。...ComponentOne Studio for UWP是一套可以编写所有 UWP 平台应用的控件集,包括表格、报表、图表、仪表盘、组织图、地图、PDF、Excel、Word、日程安排、输入、导航等多个控件
在本篇缪文中,楼主打算给UWP开发的初学者讲述一个在开发中经常遇到的很现实的问题:页面回退逻辑 。...众所周知,UWP的应用程序理论上是可以运行在Windows上的各种设备上,其中包括Windows PC、WindowsMobile、XBox、IOT等。...当我们的UWP应用程序运行在不同的设备上时,不同设备间的页面回退逻辑我们就要考虑周全,要考虑不同设备间的页面回退操作该如何设计才能更好的满足用户的使用需求。...为了方便,楼主这里只简单论述一下当我们的UWP应用程序运行在PC上和Mobile上时该如何处理不同平台的页面回退逻辑。...当UWP应用程序在PC上运行的时候,通过此API,我们可以为应用程序提供一个回退按钮来向用户暗示此页面是可以回退的,当用户点击该按钮后,页面成功回退。
UserControl vs. TemplatedControl 在UWP中自定义控件常常会遇到这个问题:使用UserControl还是TemplatedControl来自定义控件。...这个控件没有复杂的逻辑,用UserControl的方式实现很简单,代码如下: public sealed partial class DateTimeSelector3 : UserControl {...如果控件只是内部使用,不是放在类库中向第三者公开,也没有修改的必要,使用UserControl也是合适的,毕竟它符合80/20原则:使用20%的时间完成了80%的功能。 3....混合方案 如果需要快速实现控件,又需要适当的扩展能力,可以实现一个继承UserControl的基类,再通过UserControl的方式派生这个基类。...public class DateTimeSelectorBase : UserControl 创建一个名为DateTimeSelectorBase的类,继承自UserControl,其它代码基本上照抄上一篇文章中的
不涉及启动后的应用数据交互,如需深入了解,请戳 MSDN:https://docs.microsoft.com/zh-cn/windows/uwp/launch-resume/launch-app-with-uri...在“名称”(name)那一栏中填写你需要注册的 Uri (随便编)。填写完成后保存,这样就完成了 Uri 的注册。 ? ...Uri 启动应用是以激活的形式启动的应用,和磁贴与Toast通知的激活启动一样,需要在 App.xaml.cs 文件里重写 OnActivated() 事件。...和 MSDN 的“推荐设置”方法不同,这里采用的是先判断 B 应用在设备上存不存在,如果存在直接启动,不存在启动商店搜索。下面直接给出代码,注意把 Uri 换成相应的 Uri 即可。...Uri 内的 ProductID 是一定要写的,不然会报错。
前言 在UWP中DataTemplate是一个十分重要的功能,并且几乎无处不在,例如DataGrid中的DataGridTemplateColumn: UWP大致上有两种使用代码生成DateTemplate的方式。 2....使用资源字典 这其实并不是由代码动态生成DataTemplate,只是比较方便的从资源字典读取DataTemplate的邪道,一般来说不好意思暴露给项目外的用户。...创建一个UserControl,然后把父类从“UserControl”改为“ResourceDictionary”,然后在Xaml中编写DataTemplate,为这个DataTemplate的x:Name...结语 这两种方式我都很常用,复杂的就用资源字典方式,简单但需要动态的就用XamlReader。
可以在form_load事件里把this传给UserControl,然后在usercontrol里调用form的各种方法,不过这种做法不太好,耦合性较高。...标准做法是用事件传递 UserControl里加如下代码: public delegate void FormCloseEventHandler(object sender, EventArgs e...+= new UserControl.FormCloseEventHandler(this.userControl_FormClose); //不明白为什么是用类方法而非对象方法?...然后用这个方法不好使,还是出现我之前的鬼影问题 private void userControl_FormClose(object sender, EventArgs e) { this.Close...(); } 改成用这个方法, 把elementHost1这个对象给销毁掉,这样似乎就好了, 鬼影的问题是在用了第三方的WpfToolkit之中的DataGrid后出现的,如果用.NET4.0里面的DataGrid
,因为 Binding 是性能比较差,他的资源是从他的自己,如果找不到,就到他的上一级,直到找到或没有。...上面的代码可以做修改,让他可以运行 UserControl.Resources> UserControl.Resources> uwp 后台获取资源 参见:https://stackoverflow.com/a/39735867/6116637 ---- 本文会经常更新,请阅读原文: https:/.../lindexi.gitee.io/lindexi/post/win10-uwp-x_Bind-%E6%97%A0%E6%B3%95%E8%8E%B7%E5%BE%97%E8%B5%84%E6%BA%90
领取专属 10元无门槛券
手把手带您无忧上云