문제

내 임무는 2 차원 공간에서 주어진 포인트 시퀀스에 다른 종류의 곡선에 맞는 알고리즘을 개발하는 것입니다.

알고리즘을 테스트 할 수 있도록 결과를 표시하기 위해 SVG를 선택했습니다. 몇 가지 문제가 있습니다.

알고리즘의 입력과 출력이 매우 다를 수 있으므로 확대 할 수있는 기능으로 생성 된 SVG 파일을 볼 수 있어야합니다!

그러나 SVG의 경로는 특정 폭으로 만 표시 될 수 있습니다. 확대하면 경로의 너비가 넓어지고 있습니다. 예를 들어 모든 줌 레벨에서 1 픽셀과 같은 너비를 원합니다. 이것에 대한 해결책이 있습니까?

또한 : SVG가 표시 될 수 있습니까? 예, 단순하고 원시 포인트.? 나는 그것이 할 수 없다는 것을 알았다.

감사합니다

도움이 되었습니까?

해결책

Postscript 및 PDF와 같은 다른 많은 벡터 형식을 사용하면 "헤어 라인"스트로크에 0의 뇌졸중 범위를 사용할 수 있습니다. SVG와는 다릅니다. 그러나 나는 생각한다 백분율 뇌졸중 범위를 사용하면 원하는 것을 달성 할 수 있습니다. 보다 자세한 내용은 W3C SVG 사양입니다, 그러나 기본적으로 다음과 같은 일을 할 수 있어야합니다.

stroke-width:"1%"

이것은 줌 레벨에 관계없이 경계 사각형의 일정한 1% 인 선 너비로 곡선을 치야합니다.

포인트는 SVG가 지원하지 않습니다. 과거 에이 작업을 수행했을 때 (PostScript 사용) 항상 사용했습니다. 작은 레드 우스가있는 아크 작은 원을 그리려면 (원하는 경우 점을 만들기 위해 채울 수 있습니다).


@Zoli : 귀하의 의견 후에, 나는 당신이 Postscript를 살펴보면서 내가 만났을 때 헤어 라인 뇌졸중을 사용할 수 있도록 제안하려고했습니다. SVG 사양에서 비 스케일 스트로크 벡터-효과:

vector-effect="non-scaling-stroke"

이것을 곡선에 추가하면 사양에 따라 스케일링에 변하지 않아야합니다. 그들의 예를 사용합니다 line, 그러나 곡선에서도 작동해야합니다.

다른 팁

아니요u003Cpoint> 현재 SVG의 요소 또는 이와 비슷한 내용이지만 SVG WG에서 논의 된 추가 사항이므로 향후 포함될 수 있습니다. 귀하의 요구와 요구 사항을 자유롭게 말하십시오.u003Cpoint> 공개 SVG 메일 링리스트에 대한 요소 : www-svg@w3.org.

해결 방법은 예를 들어 사용하는 것입니다u003Cline> 원소가 제로 길이가되도록하십시오. 원한다면 둥근 라인 캡을 사용하여 점을 표시 할 수 있습니다. 그것은 모두 당신이 필요로하는 것에 달려 있습니다. r = 0 인 원이 더 잘 맞을 수 있습니다.

'비 스케일 스트로크'값을 가진 '벡터-효과'속성은 스트로크가 확장되어서는 안된다고 말하는 데 사용해야 할 것입니다. '벡터-효과'가 기본적으로 지원되지 않으면 스트로크를 올바르게 조정하도록하는 JavaScript 솔루션을 구현하는 것은 어렵지 않습니다. 오페라 9.5+는 기본적으로 지원합니다.

Naaff에게 감사합니다. 나는 Firefox와 함께있을 것이라고 생각하며, 생성 된 SVG 파일의 각 알고리즘-실행에 대해 line-width를 지정할 것입니다. 그것은 나에게 적합 할 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top