![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机图形学
默而识之者
帮助别人,快乐自己
展开
-
得到所有有名字的系统颜色
一般来说,操作.NET自带的有名字的颜色比较方便,因为便于根据名字选择颜色。通过以下方法实现,获取所有系统颜色的名字及其对应颜色。1234567891011121314 List allSystemColor = new List();//“系统颜色”集合Liststring> al原创 2015-07-17 21:12:40 · 729 阅读 · 0 评论 -
基于c#的两种最小凸包的生成(三硬币法与串行算法)
凸包(Convex Hull)是一个计算几何(图形学)中的概念。在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。X的凸包可以用X内所有点(X1,...Xn)的线性组合来构造.原创 2014-10-03 14:22:45 · 3142 阅读 · 4 评论 -
基于c#的道格拉斯-普克 Douglas-Peuker算法
道格拉斯-普克抽稀算法,是用来对大量冗余的图形数据点进行压缩以提取必要的数据点。该算法实现抽稀的过程是:1)对曲线的首末点虚连一条直线,求曲线上所有点与直线的距离,并找出最大距离值dmax,用dmax与事先给定的阈值D相比: 2)若dmax 若dmax≥D,保留dmax对应的坐标点,并以该点为界,把曲线分为两部分,对这两部分重复使用该方法,即重复1),2)步,直到所有dmax均原创 2014-09-12 20:50:18 · 8802 阅读 · 11 评论 -
简单的内存法操作BMP图像函数
内存法一般来说是c#三种图像操作方法中最快速的,不过要操纵内存指针,有出错的可能。一般流程就是锁定图像——指针处理——解锁图像。下面贴一个自己整理的操作函数。注意,只在ARGB图像上通过。 C# Code private void Points(Bitmap bmp){ Rectangle lockRect = new Re原创 2015-07-17 21:06:01 · 647 阅读 · 0 评论 -
How it works(7) GDAL2Mbtiles源码阅读(A) 框架与存储
引入gdal2Mbtiles是个小工具(以下简称g2m),其作用是将栅格地图(主要是Tiff格式)切成瓦片,存入Mbtiles格式的数据库中,以便于其他支持Mbtiles格式的地图服务器直接调用.一开始我也是为了用它来切割Tiff底图,发布Tileserver-GL服务的,不过用了一下,发现其切图速度比较快.所以想看一下其内部结构.觉得其代码并不简单,也是一个深思熟虑的系统.整体架构通观...原创 2019-03-03 12:58:54 · 997 阅读 · 0 评论 -
How it works(8) GDAL2Mbtiles源码阅读(B) 影像切割与处理
vips.py最重要的切图模块,使用的是libvips这一快速轻量的c++模块的py绑定pyvips,这也是g2m里最大的一个模块.切图主要分为两部分:瓦片分隔波段处理瓦片分割瓦片分割是g2m的核心功能.基本流程是:获取图片(直接使用原片或重采样后的图片)从图片中裁取固定大小计算该部分所属行列号,进行存储.因为实际使用中,基本不可能只取某个特定的级别,因此对于低缩放级别...原创 2019-03-03 12:59:40 · 844 阅读 · 0 评论 -
How it works(9) GDAL2Mbtiles源码阅读(C) 影像预处理与核心流程
gdal.pygdal.py封装了所需的与gdal相关的操作.主要用来进行切割前的处理.主要操作有投影变换与抽取波段:def preprocess(inputfile, outputfile, band=None, spatial_ref=None, resampling=None, compress=None, **kwargs): # 所有要进行的预...原创 2019-03-03 13:00:13 · 538 阅读 · 0 评论