48章:独自のカラー配列の作成 (WPF)

    作成2013.05.02

     数値計算結果はよく折れ線グラフにして表示します。こんなとき、独自のカラー配列を作成すると便利 です。


  1. 独自のカラー配列の作成 (WPF)
     独自のカラー配列の作成 (WPF)の完成ファイルは以下からダウンロードできます。
     ダウンロード後は解凍してから使用してください。
     
    [独自のカラー配列の作成 (WPF)]をダウンロードする。
     解凍すると「48MyGraph1」フォルダーがあります。
    注(1)「48MyGraph1」フォルダーのMyGraph.sln」ファイルをダブルクリックすると「Express 2012 for Windows Desktop」が起動します。
    注(2)メニューの「ウインド」_「ウインドレイアウトのリセット」で標準に戻ります。
    注(3)「ソリューションエクスプローラ」ウインドウ内の「MainWindow.xaml」をダブルクリックすると「デザイン」と「XAML」が表示されます。
    注(4)メニューの「表示」_「コード」を選択するとコードが表示されます。
    注(5)「MyGraph.sln」の動作確認は「デバッグ」_「デバッグ開始」で実行します。デバッグ機能を用いて動作確認を行います。


  2. DataGrid_WPF01.slnの実行
    (1)「Express 2012 for Windows Desktop」のデバッグ機能を使用します。
    (2)「デバッグ」_「デバッグ開始」を選択します。
    (3)色合いの異なる18本の直線が画面に表示されます。
    (4)クローズボックスで終了します。


  3. プロジェクトの構成
    (1)MainWindow.xaml
    ・Button1を配置します。
    (2)MainWindow.xaml.cs
    ・コードを配置します。


  4. MainWindow.xamlの全コード
    <Window x:Class="MyGraph.MainWindow"	
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"	
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"	
            Title="MainWindow" Height="400" Width="500">	
        <Grid>	
            <StackPanel  Name="StackPanel1"  Orientation="Horizontal" Height="30" VerticalAlignment="Top">	
                <Button Content="実行" Height="23" Name="Button1" Width="75" Click="Button1_Click" />	
            </StackPanel>	
            <Grid  Name="Grid1">	
            </Grid>	
        </Grid>	
    </Window>	
    
    

    (1)一般的なコードのみです。



  5. MainWindow.xaml.csの全コード

    using System;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Media;
    using System.Windows.Shapes;
    
    namespace MyGraph
    {
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
            }
    
            private void Button1_Click(object sender, RoutedEventArgs e)
            {
                myGraph myG = new myGraph();
                myG.SetMyC();
                myG.myLine(Grid1);
            }
        }
    
        public class myGraph
        {
            public Color[] c = new Color[18];
            public void SetMyC()
            {
                int i;
                for (i = 0; i < 3; i++)
                {
                    c[i] = Color.FromArgb(255, Convert.ToByte(255 - 75 * i), 0, 0);
                    c[i + 3] = Color.FromArgb(255, Convert.ToByte(150 - 40 * i), Convert.ToByte(150 - 40 * i), 0);
                    c[i + 6] = Color.FromArgb(255, 0, Convert.ToByte(255 - 75 * i), 0);
                    c[i + 9] = Color.FromArgb(255, 0, Convert.ToByte(150 - 40 * i), Convert.ToByte(150 - 40 * i));
                    c[i + 12] = Color.FromArgb(255, 0, 0, Convert.ToByte(255 - 75 * i));
                    c[i + 15] = Color.FromArgb(255, Convert.ToByte(150 - 40 * i), 0, Convert.ToByte(150 - 40 * i));
                }
            }
    
            public void myLine(Grid Grid1)
            {
                int i;
                for (i = 0; i < 18; i++)
                {
                    Path myPath = new Path();
                    myPath.StrokeThickness = 2;
                    LineGeometry myGeometry = new LineGeometry();
                    myPath.Stroke = new SolidColorBrush(c[i]);
                    myGeometry.StartPoint = new System.Windows.Point(30, 50 + 15 * i);
                    myGeometry.EndPoint = new System.Windows.Point(250, 50 + 15 * i);
                    myPath.Data = myGeometry;
                    Grid1.Children.Add(myPath);
                }
            }
        }
    }
    

    (1)myGraph myG = new myGraph();で変数myGをmyGraph型で生成します。
    (2)myG.SetMyC();で独自定義に色配列を設定します。
    (3)myG.myLine(Grid1);で直線を引きます。


    感想:
    (1)独自のクラスを定義して、独自の色配列を作成すると、折れ線グラフ作成が容易となります。







49章:独自の折れ線グラフの作成 (WPF)に行く。

トップページに戻る。