> For the complete documentation index, see [llms.txt](https://docs.overdare.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overdare.com/korean/development/api-reference/classes/uistroke.md).

# UIStroke

UIStroke : `Instance`

## Overview

UIStroke는 부모 UI 오브젝트의 경계 또는 텍스트 외곽에 선을 표시하는 기능을 제공하는 오브젝트입니다. 선의 색상, 두께, 투명도, 표시 위치와 모서리 연결 형태 등을 설정하여 UI 요소를 강조하거나 시인성을 높일 수 있습니다.

UIStroke는 Frame, TextLabel 등 외곽선을 적용할 UI 오브젝트의 자식으로 배치하여 사용할 수 있습니다.

## Properties

### ApplyStrokeMode

`Enum.ApplyStrokeMode`

부모 UI 요소에 선을 적용하는 방식을 지정합니다.

* `Border`: 부모 UI 요소의 경계를 따라 선을 표시합니다.
* `Contextual`: 부모 UI 요소의 유형에 따라 적절한 영역에 선을 표시합니다. 텍스트 UI 요소에서는 텍스트 외곽에 선이 표시됩니다.

Contextual는 TextLabel이나 TextButton 같은 텍스트 UI 요소에서만 설정할 수 있습니다.

#### Code Samples

```lua
local TextLabel = script.Parent
local UIStroke = TextLabel:WaitForChild("UIStroke")

UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
```

### BorderOffset

`UDim`

부모 UI 요소의 경계를 기준으로 외곽선의 위치를 조정합니다.

`Scale`은 부모 UI 요소의 크기에 대한 비율을 의미하며, `Offset`은 픽셀 단위의 추가 거리를 의미합니다. 값은 `UDim.new(scale, offset)` 형식으로 지정합니다.

이 속성은 부모 UI 요소의 경계에 선을 표현할 때만 지정할 수 있습니다.

#### Code Samples

```lua
local TextLabel = script.Parent
local UIStroke = TextLabel:WaitForChild("UIStroke")

UIStroke.BorderOffset = UDim.new(0, 10)
```

### BorderStrokePosition

`Enum.BorderStrokePosition`

부모 UI 요소의 경계를 기준으로 선이 표시되는 위치를 지정합니다.

* `Inner`: 경계 안쪽에 선을 표시합니다.
* `Center`: 경계를 중심으로 선을 표시합니다.
* `Outer`: 경계 바깥쪽에 선을 표시합니다.

이 속성은 부모 UI 요소의 경계에 선을 표현할 때만 지정할 수 있습니다.

#### Code Samples

```lua
local TextLabel = script.Parent
local UIStroke = TextLabel:WaitForChild("UIStroke")

UIStroke.BorderStrokePosition = Enum.BorderStrokePosition.Outer
```

### Color

`Color3`

선에 적용되는 색상을 지정합니다.

#### Code Samples

```lua
local TextLabel = script.Parent
local UIStroke = TextLabel:WaitForChild("UIStroke")
UIStroke.Color = Color3.fromRGB(255, 0, 0)
```

### Enabled

`boolean`

선의 표시 여부를 지정합니다.

#### Code Samples

```lua
local TextLabel = script.Parent
local UIStroke = TextLabel:WaitForChild("UIStroke")

UIStroke.Enabled = false
```

### LineJoinMode

`Enum.LineJoinMode`

선이 모서리에서 연결되는 형태를 지정합니다.

* `Round`: 모서리를 둥근 형태로 연결합니다.
* `Bevel`: 모서리를 비스듬히 잘라낸 형태로 연결합니다.
* `Miter`: 모서리를 뾰족한 형태로 연결합니다.

#### Code Samples

```lua
local TextLabel = script.Parent
local UIStroke = TextLabel:WaitForChild("UIStroke")

UIStroke.LineJoinMode = Enum.LineJoinMode.Round
```

### StrokeSizingMode

`Enum.StrokeSizingMode`

부모 UI 요소의 크기가 변경될 때 선의 두께를 계산하는 방식을 지정합니다.

* `FixedSize`: 부모 UI 요소의 크기와 관계없이 일정한 두께를 유지합니다.
* `ScaledSize`: 부모 UI 요소의 크기에 비례하여 선의 두께를 조정합니다.

#### Code Samples

```lua
local TextLabel = script.Parent
local UIStroke = TextLabel:WaitForChild("UIStroke")

UIStroke.StrokeSizingMode = Enum.StrokeSizingMode.FixedSize
```

### Thickness

`number`

선의 두께를 지정합니다.

값이 클수록 선이 더 두껍게 표시됩니다. 실제 표시 결과는 StrokeSizingMode 설정의 영향을 받을 수 있습니다.

#### Code Samples

```lua
local TextLabel = script.Parent
local UIStroke = TextLabel:WaitForChild("UIStroke")

UIStroke.Thickness = 5
```

### Transparency

`number`

선의 투명도를 지정합니다.

0은 완전한 불투명 상태를 의미하고, 1은 전혀 보이지 않는 상태를 의미합니다.

#### Code Samples

```lua
local TextLabel = script.Parent
local UIStroke = TextLabel:WaitForChild("UIStroke")

UIStroke.Transparency = 0.5
```

### ZIndex

`number`

선이 다른 UIStroke와 겹칠 때 적용되는 표시 우선순위를 지정합니다.

값이 클수록 더 높은 우선순위로 표시됩니다.

이 속성은 부모 UI 요소의 경계에 선을 표현할 때만 지정할 수 있습니다.

#### Code Samples

```lua
local TextLabel = script.Parent
local UIStroke = TextLabel:WaitForChild("UIStroke")

UIStroke.ZIndex = 10
```

## Methods

## Events

## See also

{% content-ref url="/pages/K1g0tEWDJhh6a6E4UURk" %}
[GUI](/korean/manual/studio-manual/gui.md)
{% endcontent-ref %}
