첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
본 블로그는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 블로그 콘텐츠 향상을 위해 쓰여집니다.

728x90
반응형
728x170
using System;

/// <summary>
/// YCbCr 색상
/// </summary>
public class YCbCr
{
    //////////////////////////////////////////////////////////////////////////////////////////////////// Field
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region Field

    /// <summary>
    /// Y 인덱스
    /// </summary>
    public const short YIndex  = 0;

    /// <summary>
    /// Cb 인덱스
    /// </summary>
    public const short CbIndex = 1;

    /// <summary>
    /// Cr 인덱스
    /// </summary>
    public const short CrIndex = 2;

    /// <summary>
    /// Y
    /// </summary>
    public double Y;

    /// <summary>
    /// Cb
    /// </summary>
    public double Cb;

    /// <summary>
    /// Cr
    /// </summary>
    public double Cr;

    #endregion

    //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region 생성자 - YCbCr(y, cb, cr)

    /// <summary>
    /// 생성자
    /// </summary>
    /// <param name="y">Y 컴포넌트</param>
    /// <param name="cb">Cb 컴포넌트</param>
    /// <param name="cr">Cr 컴포넌트</param>
    public YCbCr(double y, double cb, double cr)
    {
        Y  = Math.Max(0d , Math.Min(1d  , y ));
        Cb = Math.Max(-0d, Math.Min(0.5d, cb));
        Cr = Math.Max(-0d, Math.Min(0.5d, cr));
    }

    #endregion

    #region 생성자 - YCbCr()

    /// <summary>
    /// 생성자
    /// </summary>
    public YCbCr() : this(0d, 0d, 0d)
    {
    }

    #endregion

    //////////////////////////////////////////////////////////////////////////////////////////////////// Method
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region 문자열 만들기 - ToString()

    /// <summary>
    /// 문자열 만들기
    /// </summary>
    /// <returns>문자열</returns>
    public override string ToString()
    {
        return string.Format("YCbCr [Y={0}, Cb={1}, Cr={2}]", Y, Cb, Cr);
    }

    #endregion
}
728x90
반응형
그리드형
Posted by 사용자 icodebroker

댓글을 달아 주세요