Vagabond K's Libraries Vagabond K's Libraries
Vagabond K's Libraries Vagabond K's Libraries
https://k.vagabond.builders

검색 결과:

    GlyphOutline 클래스

    글리프의 전체 윤곽(outline)을 나타냅니다. 하나 이상의 닫힌 윤곽(GlyphContour)으로 구성됩니다. 예를 들어 'B' 글리프는 바깥 윤곽과 안쪽 구멍 윤곽 2개로 이루어집니다. glyf 테이블의 simple glyph에 해당합니다. contour의 감김 방향(winding direction)은 이 구현에서 검증하지 않으며, 렌더러는 nonzero fill rule로 구멍을 처리합니다. IList<T>를 구현해 contour를 인덱스로 접근하거나 중간에 삽입/제거할 수 있습니다.

    상속
    object
    GlyphOutline
    구현
    IList<GlyphContour>
    ICollection<GlyphContour>
    IEnumerable<GlyphContour>
    IEnumerable
    네임스페이스: VagabondK.OpenType.Geometry
    어셈블리: VagabondK.OpenType.dll
    구문
    public class GlyphOutline : IList<GlyphContour>, ICollection<GlyphContour>, IEnumerable<GlyphContour>, IEnumerable

    생성자

    이름 설명
    GlyphOutline()

    GlyphOutline의 새 인스턴스를 생성합니다.

    속성

    이름 설명
    Contours

    이 윤곽에 포함된 contour 목록을 반환합니다.

    Count

    contour 개수를 반환합니다.

    IsReadOnly

    읽기 전용 여부를 반환합니다. 항상 false입니다.

    this[int]

    지정된 인덱스의 contour를 가져오거나 설정합니다.

    메서드

    이름 설명
    Add(GlyphContour)

    contour를 목록 끝에 추가합니다. AddContour(GlyphContour)와 동일합니다.

    AddCircle(double, double, double, int, bool)

    원 contour를 추가하고 그 contour를 반환합니다. 3차 베지어 곡선으로 근사하며, 각 세그먼트의 제어점은 (4/3)·tan(세그먼트 각도/4)·반지름으로 계산됩니다. 꼭대기(상단)에서 시작해 clockwise 방향으로 그립니다.

    AddContour(GlyphContour)

    기존 contour를 이 윤곽에 추가합니다. 여러 글리프가 같은 contour 인스턴스를 참조하면 CFF에서는 서브루틴으로 추출됩니다.

    AddEllipse(double, double, double, double, int, bool)

    타원 contour를 추가하고 그 contour를 반환합니다. 3차 베지어 곡선으로 근사하며, 각 세그먼트의 제어점은 (4/3)·tan(세그먼트 각도/4)·반지름으로 계산됩니다. 꼭대기(상단)에서 시작해 clockwise 방향으로 그립니다.

    AddRectangle(double, double, double, double)

    직사각형 contour를 추가하고 그 contour를 반환합니다. (x, y)를 왼쪽 아래 꼭짓점으로 하는 직사각형을 그립니다.

    BeginContour()

    새로운 닫힌 윤곽(contour)을 시작하고 그 contour를 반환합니다. 반환된 GlyphContour에 MoveTo, LineTo, QuadTo, CurveTo 등을 호출하여 모양을 그립니다. 첫 커맨드는 반드시 MoveTo여야 합니다.

    Clear()

    모든 contour를 제거합니다. 로드한 글리프의 윤곽을 비운 후 BeginContour() 등으로 다시 그릴 때 사용합니다.

    ComputeBoundingBox(out int, out int, out int, out int)

    윤곽의 바운딩 박스를 계산합니다. 각 contour의 정확한 바운딩 박스(곡선 극값 포함)를 통합하며, min은 내림(Floor), max는 올림(Ceiling)하여 모든 곡선 극값이 박스에 포함되도록 합니다. head의 xMin/yMin/xMax/yMax 계산과 동일한 규칙입니다.

    Contains(GlyphContour)

    contour가 목록에 있는지 확인합니다.

    CopyTo(GlyphContour[], int)

    contour를 배열에 복사합니다.

    GetEnumerator()

    contour를 순회하는 enumerators를 반환합니다.

    IndexOf(GlyphContour)

    contour의 인덱스를 반환합니다. 없으면 -1입니다.

    Insert(int, GlyphContour)

    지정된 인덱스에 contour를 삽입합니다.

    Remove(GlyphContour)

    contour를 목록에서 제거합니다. 제거되면 true, 없으면 false입니다.

    RemoveAt(int)

    지정된 인덱스의 contour를 제거합니다.

    RemoveContour(int)

    지정된 인덱스의 contour를 제거합니다.

    확장 메서드

    ConvertExtensions.ToNullable<T>(object)
    ConvertExtensions.To<T>(object, T)
    ConvertExtensions.TryConvert<T>(object, out T)
    PropertyExtensions.Get<TProperty>(object, ref TProperty, Func<TProperty>)
    PropertyExtensions.Set<TProperty>(object, ref TProperty, TProperty)
    GenericValueConverter.To<TSource, TTarget>(TSource)
    Copyright © 2024. Vagabond K. All Rights Reserved.