2011-09-21 4 views
0

현재 사용자 입력에서 생성 된 텍스트를 유지하는 동적 이미지가 있습니다. 이 텍스트는 위치와 회전을 정의하는 베 지어 곡선을 따릅니다.베 지어 곡선을 따라 이미지 위치 지정

다양한 이유로 글꼴을 매우 구체적으로해야하므로 텍스트를 이미지 집합으로 변경해야합니다. 따라서 우리는 알파벳의 모든 허용되는 문자에 대해 하나의 PNG를 갖습니다. 따라서 사용자가 "TEST"라는 단어를 입력하면 시스템은 T, E, S 및 T 글자를 뽑아서 서로 나란히 놓습니다. 이 부분은 문제가되지 않습니다.

문제는 각 이미지가 graphics.DrawString을 사용하여 텍스트와 동일한 베 지어 곡선을 따라야한다는 것입니다. 이미지는 정확하게 위치해야하며 이상적으로는 올바르게 회전해야합니다.

이것이 가능하며 어떻게 수행 할 수 있습니까?

답변

1

빠른 대답은 "단순히"

그러나 이것은 꽤 좋은 이미지를 얻지 못합니다. 일반적으로 각 이미지에 비선형 변환을 적용하여 곡률 및 볼록성에 따라 커브에서 벗어난 부분이 커브 근처의 너비와 다른 너비를 갖도록해야합니다.

This site explains many of the details by decomposing the outline of an image in paths

그러나, 이전 링크로 확실 시작을 보여주고있어,이 계산 집약적 인 과정이다. 대신 이미지를 글꼴로 변환하고 이전에 사용한 방법을 사용하는 것이 훨씬 쉽습니다. 이 솔루션은 변환을 수행하는 타사 도구에 의존하며 제안을하기를 주저합니다. 한 가지 방향은 오픈 소스 Inkscape과 같은 래스터 - 벡터 그래픽 도구를 사용하고 벡터 그래픽 출력에서 ​​글꼴을 만드는 것입니다. 이 방법은 가장 잘 확장되지만 출력을 True-Type과 같은 선호 글꼴 형식으로 변환하는 별도의 단계가 필요할 수 있습니다.

+0

글자가 다른 아이콘을 사용하기 때문에 글꼴을 사용할 수 없다고 생각합니다. 이것이 우리가 일련의 이미지를 사용하기로 결정한 이유입니다. 아마도 내가 찾고있는 코드 예제를 알고 있습니까? – ajbrun

관련 문제