흐릿하거나 예상치 못하게 채워져 보이는 Affinity SVG를 진단하려면 문제가 있는 곡선 하나를 분리하고, 래스터화 설정을 비교한 다음, 채우기와 채우기 모드를 확인하세요. 이러한 테스트를 통해 내보내기 제한, 개체 설정, 수신 앱의 차이를 구분할 수 있습니다.

이 가이드에서는 현재 Affinity 데스크톱 앱의 Mac 버전에서 벡터 드로잉을 내보낸 뒤 브라우저나 다른 데스크톱 애플리케이션에서 모양을 확인하는 방법을 다룹니다. 메뉴 경로는 현재 Affinity 도움말 센터를 따르며, 이전 버전의 Affinity Designer에서는 메뉴 위치가 다를 수 있습니다.

곡선 하나로 시작하고 내보내기를 통제하세요

Affinity 문서의 작업용 사본을 저장하세요. 문제가 명확히 나타나는 곡선 하나를 선택하고 예상 결과를 적어 둡니다. 예를 들어 “내부가 채워지지 않은 파란색 곡선 획” 또는 “가운데가 투명한 채워진 고리”처럼 적으면 됩니다. 이렇게 하면 서로 관련 없는 여러 속성을 바꾸지 않고 각 테스트 결과를 판단하기 쉽습니다.

File > Export > Export를 열고 파일 형식으로 SVG를 선택한 다음 오른쪽의 설정을 확인하세요. Advanced 아래에 추가 제어 항목이 표시됩니다. 개체 하나만 분리하려면 Area: Selection Only를 선택하세요. Selection Area는 겹치는 레이어도 포함합니다. Affinity는 이러한 차이를 내보내기 대화상자 도움말에 설명합니다.

변경하기 전에 기준 파일을 내보내세요. Safari와 문제가 나타난 애플리케이션에서 파일을 여세요. 비슷한 표시 크기에서 같은 영역을 비교한 뒤 확대해 보세요. 결함이 두 애플리케이션 모두에서 나타나는지, 대상 앱에서만 나타나는지, 아니면 Affinity의 내보내기 미리보기에서 이미 보이는지 기록하세요.

이 비교는 진단을 돕는 수단으로 활용하세요. 두 뷰어에서 결과가 같으면 내보낸 콘텐츠를 조사하고 있다는 확신이 높아지지만, 그것만으로 원인이 밝혀지는 것은 아닙니다. 뷰어 간 차이가 있다면 조사할 호환성 문제의 범위를 좁힐 수 있습니다.

눈에 보이는 증상 첫 번째 테스트 결과로 구분할 수 있는 항목
확대하면 곡선이 흐려짐 래스터화 설정 비교 래스터화된 콘텐츠와 유지된 기하 구조
곡선 획 안쪽이 단색으로 채워짐 선택한 개체의 채우기 확인 원치 않는 채우기와 획의 모양
구멍이 사라지거나 겹친 영역이 채워짐 채우기 모드 비교 도형 내부에 대한 서로 다른 정의
특정 수신 앱에서만 파일이 잘못 표시됨 단순화한 사본 테스트 대상 앱의 처리와 일반적인 내보내기 문제

SVG에 흐릿한 곡선이 생기는 이유는 무엇인가요?

파일 확장자가 SVG라고 해서 파일 안의 모든 개체가 크기를 조절할 수 있는 벡터로 유지되는 것은 아닙니다. Affinity는 SVG 파일 안의 래스터 개체는 크기를 바꿀 때 여전히 품질이 저하된다고 명시합니다. 또한 SVG 작업 설명서에서는 웹용 아트워크를 선명하게 유지하는 데 도움이 되도록 정수 픽셀 위치에 배치하라고 권장합니다.

먼저 부드러워지는 현상이 드로잉 전체에 영향을 주는지, 장식이 있는 특정 개체에만 영향을 주는지 확인하세요. 부드러운 개체 옆의 단순한 곡선은 선명하게 유지된다면, 모든 요소가 부드러워지는 드로잉과는 다른 방향으로 조사해야 합니다. 이 관찰을 바탕으로 다음에 분리할 개체를 결정하세요.

세 가지 래스터화 옵션 비교하기

Affinity SVG 내보내기에는 세 가지 Rasterize 옵션이 있습니다. Nothing은 내보내기 시 래스터화를 수행하지 않고 지원되지 않는 요소를 제외합니다. Unsupported properties는 지원되지 않는 요소를 래스터화합니다. Everything은 모든 요소를 래스터화합니다. 따라서 Nothing을 선택하면 지원되지 않는 콘텐츠의 모양을 벡터로 보존하는 대신 콘텐츠가 제거될 수 있습니다. 내보내기 설정을 참조하세요.

Unsupported properties와 Nothing을 각각 사용해 별도의 파일을 내보내되, 영역과 다른 설정은 그대로 유지하세요. 문제가 있는 곡선과 장식, 누락된 콘텐츠가 있는지 비교하세요. 어떤 설정을 변경했는지 알 수 있도록 파일 이름에 설정을 표시해 비교 과정을 추적할 수 있게 하세요.

Nothing으로 내보냈을 때 문제가 있는 콘텐츠가 사라진다면, 이는 지원되지 않는 콘텐츠에 관한 문서화된 제한과 일치하는 결과입니다. 분리한 개체를 단순화하고 테스트를 반복할 이유가 됩니다. 그렇다고 원래 개체 전체가 벡터로 호환되었다고 단정할 수는 없습니다.

단순한 곡선 버전이 제대로 내보내진다면 스타일을 한 번에 하나씩 복원하세요. 증상이 다시 나타나면 멈추세요. 이 과정을 통해 모든 효과, 브러시 또는 개체 배치의 내보내기 동작이 같다고 가정하지 않고 재현 가능한 조합의 범위를 좁힐 수 있습니다.

모양 보존과 기하 구조 보존 중에서 선택하기

래스터 콘텐츠를 유지하는 경우 Raster DPI는 래스터화 효과의 해상도를 제어하며, Downsample images는 래스터 해상도를 낮출 수 있습니다. Allow JPEG compression과 해당 Quality 설정은 래스터화된 콘텐츠에 영향을 줍니다. Use tile patterns는 래스터화된 영역을 비트맵으로 채워진 벡터 도형으로 감쌀 수 있지만, 일부 앱에서는 지원이 제한적입니다. 자세한 내용은 내보내기 설정에 설명되어 있습니다.

진단용 내보내기에서는 다운샘플링과 JPEG 압축을 끈 다음 같은 개체를 다시 비교하세요. 래스터화된 모양을 유지한다면 최종 사용 크기에서 평가하세요. 래스터 해상도를 높여도 편집 가능한 곡선이 다시 만들어지지는 않습니다. 이는 결과물의 래스터 부분에만 영향을 줍니다.

출력물에 크기 조절이 가능한 기하 구조가 유지되어야 한다면 벡터 개체를 사용해 문제가 있는 모양을 단순화하거나 다시 만든 다음 분리된 상태로 다시 내보내세요. 목표는 의도한 아트워크가 포함되고 확대해도 올바르게 표시되는 파일을 만드는 것입니다. 장식이 빠진 파일은 남은 곡선이 선명하다는 이유만으로 이 목표를 달성한 것이 아닙니다.

열린 곡선에 예상치 못한 채우기가 생기는 이유는 무엇인가요?

곡선에는 획과 채우기가 모두 있을 수 있습니다. SVG는 열린 하위 경로를 끝점끼리 연결하는 닫는 선분이 있는 것처럼 채웁니다. 이 때문에 눈에 보이는 획이 열려 있어도 쐐기 모양이나 넓은 내부 영역이 생길 수 있습니다. SVG에서 채우기의 초기값은 검정이며, 채우기 속성은 상속됩니다. 이러한 동작은 SVG 1.1: 채우기에 명시되어 있습니다.

문제가 있는 곡선을 선택하고 Window > General > Color를 여세요. Fill 선택기를 활성화하고 아트워크가 내부 채우기 없는 획이어야 한다면 None 견본을 선택하세요. Stroke가 아니라 Fill을 변경했는지 확인하세요. 현재 Color 패널 설명서에는 각 선택기와 None 견본이 따로 설명되어 있습니다.

분리한 곡선을 다시 내보내세요. 내부 영역이 사라지면 전체 드로잉을 내보내기 전에 영향을 받은 다른 개체도 각각 확인하세요. 드로잉 전체가 획으로만 구성되어야 하는 경우가 아니라면 모든 개체에 None을 적용하지 마세요.

열린 아치 모양을 예로 들어 보겠습니다. 획은 한쪽 끝점에서 다른 쪽 끝점까지 이어지지만, 채우기는 아치와 끝점을 잇는 것으로 간주되는 직선 가장자리 사이의 영역을 차지할 수 있습니다. 채우기를 제거하면 해당 내부 영역을 직접 해결할 수 있습니다. 곡선을 닫으면 기하 구조가 바뀌고 원치 않는 획 가장자리가 생길 수 있습니다.

단독 SVG는 Safari에서 올바르게 보이지만 다른 애플리케이션으로 가져온 뒤 채우기가 생긴다면, 채우기가 명시적으로 None인 단순한 열린 곡선으로 테스트를 반복하세요. 그러면 대상 애플리케이션을 집중적으로 비교할 수 있습니다. 검은 영역이 보인다는 이유만으로 Affinity가 반드시 검은색 페인트를 내보냈다고 결론짓지 마세요.

구멍과 겹치는 영역이 바뀌는 이유는 무엇인가요?

복잡한 곡선 안의 채워진 영역은 단순한 열린 획에 생긴 원치 않는 채우기와는 다른 문제입니다. Affinity에는 자기 교차 곡선에서 어떤 영역을 내부로 볼지 정하는 Alternate와 Winding 채우기 모드가 있습니다. 개체를 선택한 뒤 Vector > Fill Mode 명령을 사용하세요. 채우기 모드를 참조하세요.

Alternate는 홀수 또는 짝수 교차 횟수를 사용합니다. Winding은 경로 방향을 반영한 부호 있는 횟수를 사용합니다. SVG 용어로는 각각 evenodd와 nonzero에 해당합니다. Affinity의 채우기 모드 도움말과 SVG fill-rule 사양에서 설명하듯, 이 차이는 자기 교차와 중첩된 하위 경로에서 중요합니다.

문제가 있는 개체를 복제한 뒤 두 모드를 비교하세요. 의도한 모든 구멍과 겹침을 확인한 다음 하나를 선택하세요. 경로 방향을 조사해야 한다면 Affinity 설명에 따라 펜 도구 또는 노드 도구의 컨텍스트 도구 모음에서 Settings 아래에 있는 Show curve orientation을 사용하세요. 이 기능은 Winding 동작과 관련된 정보를 보여 줍니다. 채우기 모드를 참조하세요.

중첩된 윤곽선을 예로 들면, Alternate에서는 광선이 두 경계를 통과하므로 내부 영역이 채워지지 않을 수 있습니다. Winding에서는 경계의 방향에 따라 결과가 달라집니다. 모드를 바꾸면 한 구멍은 복원되지만 다른 겹침 영역이 달라질 수 있으므로, 한 부분만이 아니라 개체 전체를 살펴보세요.

어느 모드로도 의도한 모양이 나오지 않으면 곡선 구성으로 돌아가세요. 작업용 사본에서 의도한 채움 영역과 열린 부분을 명확하게 만든 뒤 다시 내보내세요. 채우기 모드는 기하 구조를 해석하는 규칙이며, 임의로 선택한 여러 채움 영역과 빈 영역을 각각 표현할 수는 없습니다.

획을 확장하거나 변환을 평탄화해야 하는 경우는 언제인가요?

재현 가능한 문제가 벡터 획의 해석과 관련된다면 Expand Stroke를 사용하세요. Affinity 설명에 따르면 Move Tool 또는 Node Tool로 개체를 선택한 다음 Vector > Expand Stroke를 선택합니다. 이 명령은 획의 경계를 닫힌 곡선으로 바꾸며 SVG 내보내기 전에 획을 준비하는 방법으로 명시되어 있습니다. 획 확장을 참조하세요.

편집 가능한 원본을 보관하고 확장한 복제본으로 테스트하세요. 내보내기 전에 끝점, 연결부, 두께, 둘러싸인 공간을 비교하세요. 확장하면 개체 구조가 바뀌므로, 성공적인 테스트에서는 대상 앱의 문제를 없애는 동시에 의도한 모양도 유지해야 합니다.

문서화된 제한은 두 가지입니다. 확장된 획은 원래 도구로 편집할 수 없으며, 픽셀 기반 브러시로 만든 획은 래스터 기반이므로 확장할 수 없습니다. 따라서 확장은 벡터 획에 사용할 수 있는 지원된 방법이지만, 비트맵을 벡터로 변환하는 일반적인 방법은 아닙니다. 획 확장을 참조하세요.

변환된 개체에서 불일치가 생긴다면 Flatten transforms를 별도로 테스트하세요. Affinity는 여러 애플리케이션에서 표시 정확도를 높이기 위해 내보낸 파일에서 변환된 개체를 고정한다고 설명합니다. 이는 특정 목적의 호환성 테스트이며, 흐림이나 채우기 문제를 모두 해결하는 방법은 아닙니다. 내보내기 설정을 참조하세요.

해결 방법을 유지하기 전에 드로잉 전체를 확인하세요

분리한 개체가 올바르게 내보내지면 의도한 전체 문서나 아트보드를 다시 내보내세요. 실제 표시 크기와 확대된 크기에서 Safari와 수신 애플리케이션 모두로 검토하세요. 이전에 흐렸던 곡선, 열린 획, 투명한 구멍, 겹치는 영역, 주변 아트워크를 확인하세요.

증상을 해결한 변경 사항을 간단히 기록해 두세요. 예를 들면 의도하지 않은 채우기 제거, 적절한 채우기 모드 선택, 지원되지 않는 모양 단순화, 적절한 해상도로 래스터 부분 유지, 벡터 획 확장, 변환 평탄화 등이 있습니다. 그러면 성공한 설정을 모든 드로잉에 적용되는 규칙으로 만들지 않고도 결과를 재현할 수 있습니다.

완성된 SVG는 의도한 아트워크를 보존해야 하며, 유지된 래스터 콘텐츠는 필요한 크기에서 적절해야 합니다. 이후 변경을 원래 곡선에서 시작할 수 있도록 확인이 끝난 내보내기 파일과 함께 편집 가능한 Affinity 원본도 보관하세요.

출처