C#中对任意画图区域进行区域边界像素点的记录

问题描述

在inkpresenter上绘制绘制了一个不规则区域,画笔宽度不为1,如果在绘制的过程中记录坐标,记录的是鼠标经过的位置,而不是绘制区域的边界坐标,如果要记录绘制区域的边界像素点的坐标,有什么方法呢?(在java中有一个Shape.getPathIterator,不知在C#中有没有类似的接口)

解决方案

解决方案二:
遍历图片像素点,根据你得画笔颜色获取对应的点
解决方案三:
遍历像素点的方法有考虑过,但是要处理的图片数量很大,计算量也很大,所以就想说能不能有个像java中那样的提取边缘像素的坐标点的接口
解决方案四:
直接遍历效率是很低的,你可以搜一下油漆桶的填充算法,一个是填充,一个是描边,改一改就可以借鉴了。
解决方案五:
由鼠标的坐标来计算出边界坐标,鼠标坐标为划出线条的中间,那线条的粗度左右加减粗度/2,就是边界Y坐标,X坐标等于鼠标X坐标
解决方案六:
加一半线宽就是外缘不过Shape.getPathIterator并非这么简单,他是考虑到沁润效果的
解决方案七:
通过鼠标坐标计算边界坐标的方法只适用于区域宽度和画笔宽度相等的情况,但是如果画的是任意图形的区域的话,提取边缘像素点坐标就不仅仅是鼠标坐标减去画笔宽度的一半了。大家有没有什么好办法呢?
解决方案八:
直接说你要干嘛。。。
解决方案九:
用画笔绘制了一个任意图形,用什么方法能够记录绘制区域的边缘像素点的坐标,而不是记录鼠标经过的点的坐标

时间: 2024-10-30 10:33:31

C#中对任意画图区域进行区域边界像素点的记录的相关文章

把字符串中的任意连续字符换成一个对应字符

<?php //1,把字符串中的任意空格换成一个 $str1 = 'A B C '; echo '<xmp>'; echo '1:'; echo preg_replace ("/\s+/", ' ', $str1); echo '</xmp>'; //2,把字符串中的任意连续字符 M 换成一个 M echo '2: '; $str1 = 'AMMMBMMMMCMM '; echo preg_replace ("/M+/", 'M', $

PHP 提取图片img标记中的任意属性

 这篇文章主要介绍了PHP 提取图片img标记中的任意属性的简单实例,有需要的朋友可以参考一下  代码如下: <?php   /* PHP正则提取图片img标记中的任意属性 */   $str = '<center><img src="https://img.lookmw.cn/images/20100516000.jpg" height="120" width="120"><br />PHP正则提取或更

在javascript中执行任意html代码的方法

关于javascript的eval()函数无法执行html代码的问题,下面为大家介绍下一种在javascript中执行任意html代码的方法,感兴趣的朋友不要错过 今天码代码中偶然发现有一种情况javascript的eval()函数无法执行html代码,比如:  代码如下: <script>eval('<li>hehe</li>')</script>    代码是不会执行的,但是改为如下就可以执行了:   代码如下: <script>eval('

DNS服务器中创建正向查找区域的操作步骤

  创建正向查找区域ynkm.com,并在该区域下创建主机记录Webserver,ynkm.com.操作步骤如下: ①打开"(Insmgmt"控制台窗口,选择要创建正向查找区域的DNS服务器,然后在菜单栏中选择"操作"-"新建区域"命令,如图1所示. ②弹出如图2所示的"新建区域向导"对话框,该向导将引导用户创建新区域,单击"下一步"按钮. ③弹出如图3所示的对话框,选杼要创建的区域类型.选中"主

任意元素和-求一个数组中选出任意个数元素相加之和,求大神指教

问题描述 求一个数组中选出任意个数元素相加之和,求大神指教 求一个数组中选出任意个数元素相加之和,求大神指教 比如打印出arry[8]中,任意两个数相加的和,任意三个数相加的和,直到任意八个数相加的和. 求大神指教. 解决方案 不知道你用的什么语言 如果C#,参考我写的http://bbs.csdn.net/topics/390550326 这个问题其实就是求M选N,其中M=8,N循环1-8 然后得到每个组合再求和. 解决方案二: 不知道你使用的是什么语言,不过思路是这样的,你的要求是不是随机数

图论 数据结构-指定有向带权图中的任意几点,如何求出是否存在通路以及通路的最短路径?

问题描述 指定有向带权图中的任意几点,如何求出是否存在通路以及通路的最短路径? 指定有向带权图中的任意几点,如何求出是否存在通路以及通路的最短路径? 解决方案 虽然这是一个无向的,但是主要还是方法. 面对这个问题主要还是先解决起点(设为a)到其他点的最短通路,直到找到你所指定的一点(设为z) w(a,b)=4 w(a,d)=2 w(b,c)=3 w(d,e)=3 w(e.z)=1 w(c,z)=2 1.初始P={a},T={b,c,d,e,z} D(b)=4;D(c)=∞:D(d)=2;D(e)

jsp-怎样在MyEclipse中改变JSP脚本区域的字体颜色?

问题描述 怎样在MyEclipse中改变JSP脚本区域的字体颜色? 今天把MyEclipse的背景色改成了黑色,却发现JSP脚本区域的字体也是黑色,无论如何都改变不了,希望大家帮帮我! 背景色改变后的效果如下: 改变字体的地方却显示不能改变: 这是咋回事? 解决方案 [img=http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/23.gif][/img]经过我一整夜的摸索,终于发现JSP的脚本区域跟Java的设置是

给定的 ColumnMapping 与源或目标中的任意列均不匹配。

问题描述 SqlBulkCopy类SqlBulkCopysqlbulk=newSqlBulkCopy(System.Configuration.ConfigurationSettings.AppSettings["sql"],SqlBulkCopyOptions.UseInternalTransaction);sqlbulk.NotifyAfter=dt.Rows.Count;//目标数据库表名sqlbulk.DestinationTableName="dbo.[databl

sqlite-点击listview中的任意item如何实现置顶?

问题描述 点击listview中的任意item如何实现置顶? 如图,点击listview里面的条目,然后点击对话列表框的操作选项,现在卡在不知如何实现置顶这个功能,我在原有数据库中加了整型的isTop字段,然后就不知道下一步该怎么操作了,求各位打救一下菜鸟 解决方案 ListView 禁止Item被点击ListView 的 item 点击效果Android--ListView点击Item展开的实现 解决方案二: 是安卓么?是的话置顶可以通过更新listview的adapt,然后notifydat