저는 이미지 위에 텍스트를 놓는 약간 재미있는 프로젝트를 작성하고 있습니다. 문제는 글자 그대로 Verdana 인 font-family를 제외하고 말 그대로 모든 부분이 가변적이라는 것입니다.
그래서 저는 알 수없는 크기의 이미지를 얻고 알 수없는 단어의 문자열을 얻습니다. 현재 문자열을 3 개의 개별 문자열로 나누고 원본 이미지 위에 비트 맵으로 오버레이하고 글꼴 크기를 imgHeight / 25로 설정했습니다. 이것은 내가 정말 정말 긴 문자열을 가지고있을 때를 제외하고는 일반적으로 작동했습니다.이 경우 문자열의 끝 단어가 잘립니다.
내가 완성한 곳에서 가장 짧은 거리는 이미지 너비의 특정 비율로 정확한 글꼴 크기를 계산하는 것입니다. 그래서 이런 종류의 솔루션에 대한 제 질문은 주어진 문자열이 주어진 글꼴에있을 길이 (픽셀)를 어떻게 계산할 수 있습니까? 그로부터 원하는 픽셀 길이에서 필요한 글꼴을 계산하기 위해 반전 할 수 있습니다.
또 다른 옵션은 주어진 크기의 상자에 텍스트를 래핑하는 것이지만, 여전히 비슷한 문제가있을 수 있으며, 그 방법을 알아낼 수 없었습니다.
다른 접근 방식에 대한 제안은 언제나 환영합니다!
Windows Forms TextRenderer를 사용하여 계산할 수 있습니까?
Add-Type -AssemblyName System.Drawing
Add-Type -AssemblyName System.Windows.Forms
$string = 'Example Text.'
$font = New-Object System.Drawing.Font('Verdana', 12, [System.Drawing.FontStyle]'Bold, Italic')
$size = [System.Windows.Forms.TextRenderer]::MeasureText($string, $font)
$size.Width
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다