• 大小: 17KB
    文件类型: .cs
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: C#
  • 标签: 云图  等高线图  算法  

资源简介

介绍三种绘制云图或等高线图的算法。点距离反比插值、双线性插值和面距离反比+双线性插值。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.IO;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Imaging;

namespace WPFCtrlLib
{
    /// 
    /// 云图控件
    /// 

    public partial class CloudGraphCtrl : UserControl
    {
        private int DataX DataY;
        private int GraphWidth GraphHeight;
        private WriteableBitmap GraphBitmap;
        private double MinValue MaxValue;
        private double[] MapData;
        private List ColorByteList;
        private byte[] Rs Gs Bs;

        public CloudGraphCtrl()
        {
            InitializeComponent();
        }

        /// 
        /// 数据源
        /// 

        public double[] DataSource
        {
            get { return (double[])GetValue(DataSourceProperty); }
            set { SetValue(DataSourceProperty value); }
        }
        public static readonly DependencyProperty DataSourceProperty =
            DependencyProperty.Register(“DataSource“ typeof(double[]) typeof(CloudGraphCtrl) new Propertymetadata(null (s e) =>
            {
                (s as CloudGraphCtrl).Draw();
            }));

        /// 
        /// 颜色列表
        /// 

        public string ColorList
        {
            get { return (string)GetValue(ColorListProperty); }
            set { SetValue(ColorListProperty value); }
        }
        public static readonly DependencyProperty ColorListProperty =
            DependencyProperty.Register(“ColorList“ typeof(string) typeof(CloudGraphCtrl) new Propertymetadata(“#FA1207#FAAD07#ECFA07#07FAA7#07C4FA#072FFA“));

        /// 
        /// 颜色跨度
        /// 

        public int ColorGap
        {
            get { return (int)GetValue(ColorGapProperty); }
            set { SetValue(ColorGapProperty value); }
        }
        public static readonly DependencyProperty ColorGapProperty =
            DependencyProperty.Register(“ColorGap“ typeof(int) typeof(CloudGraphCtrl) new Propertymetadata(10));

        /// 
        /// 使用算法,取值1、2、3
        /// 

        public int Method
        {
            get { return (int)GetValue(MethodProperty); }
            set { SetValue(MethodProperty value); }
        }
        public static readonly DependencyProperty MethodProperty =
            DependencyProperty.Register(“Method“ typeof(int) typeof(CloudGraphCtrl) new Propertymetadata(1));

        private void UserControl_SizeChanged(object sender RoutedEventArgs e)
        {
            Draw();
        }

        private void Draw()
        {
            if (DataSource == null)
            {
                return;
            }

            DataX = DataSource.GetLength(0);
            DataY = DataSource.GetLength(1);

            GraphWidth = (int)this.ActualWidth - 90;
            Grap

评论

共有 条评论