첨부 소스 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

TestProject.zip
0.01MB

▶ MainForm.cs

using System;
using System.Drawing;
using System.Windows.Forms;

using Steema.TeeChart.Drawing;

namespace TestProject
{
    /// <summary>
    /// 메인 폼
    /// </summary>
    public partial class MainForm : Form
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
        ////////////////////////////////////////////////////////////////////////////////////////// Public

        #region 생성자 - MainForm()

        /// <summary>
        /// 생성자
        /// </summary>
        public MainForm()
        {
            InitializeComponent();

            Text = "Graphics3D 클래스 : PyramidTrunc 속성을 사용해 잘라진 피라미드 그리기";

            this.xTrackBar.Minimum = 0;
            this.xTrackBar.Maximum = 50;
            this.xTrackBar.Value   = 10;

            this.zTrackBar.Minimum = 0;
            this.zTrackBar.Maximum = 50;
            this.zTrackBar.Value   = 10;

            this.tChart.Aspect.View3D         = true;
            this.tChart.Aspect.Orthogonal     = false;
            this.tChart.Aspect.Chart3DPercent = 45;
            this.tChart.Aspect.Perspective    = 45;
            this.tChart.Panel.Pen             = new ChartPen(Color.Black);

            this.xTrackBar.Scroll += xTrackBar_Scroll;
            this.zTrackBar.Scroll += zTrackBar_Scroll;
            this.tChart.AfterDraw += tChart_AfterDraw;
        }

        #endregion

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Private

        #region X 트랙바 스크롤시 처리하기 - xTrackBar_Scroll(sender, e)

        /// <summary>
        /// X 트랙바 스크롤시 처리하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="e">이벤트 인자</param>
        private void xTrackBar_Scroll(object sender, EventArgs e)
        {
            this.tChart.Invalidate();
        }

        #endregion
        #region Z 트랙바 스크롤시 처리하기 - zTrackBar_Scroll(sender, e)

        /// <summary>
        /// Z 트랙바 스크롤시 처리하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="e">이벤트 인자</param>
        private void zTrackBar_Scroll(object sender, EventArgs e)
        {
            this.tChart.Invalidate();
        }

        #endregion
        #region TChart 그리기 후 처리하기 - tChart_AfterDraw(sender, graphics3D)

        /// <summary>
        /// TChart 그리기 후 처리하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="graphics3D">이벤트 인자</param>
        private void tChart_AfterDraw(object sender, Graphics3D graphics3D)
        {
            graphics3D.Pen.Color               = Color.DarkRed;
            graphics3D.Brush.Gradient.EndColor = Color.Orange;
            graphics3D.Brush.Gradient.Visible  = true;
            graphics3D.Brush.Visible           = true;

            graphics3D.PyramidTrunc
            (
                new Rectangle
                (
                    graphics3D.ChartXCenter,
                    graphics3D.ChartYCenter,
                    60,
                    70
                ),
                0,
                50,
                this.xTrackBar.Value,
                this.zTrackBar.Value
            );
        }

        #endregion
    }
}
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요