애니메이션을 PostScript로 부드럽게 실행하고 싶습니다. 내가 원하는 것을보기 위해 직접 PostScript로 전환하도록하겠습니다. 고스트 스크립트 호출 및부드러운 포스트 스크립트 애니메이션
200 dup scale .5 setgray 0 0 3 3 rectfill
이제 회색 사각형이 나타납니다.
0 setgray 0 1 3 1 rectfill
검은 색 줄무늬가 있습니다. 우리는 지금 연속적으로 그 스트라이프, 흰색과 검은 색 한 시간을 채울 것입니다 :
{1 setgray 0 1 3 1 rectfill 0 setgray 0 1 3 1 rectfill} loop
이제 원래 검은 색 스트라이프보다 작은 검은 색과 흰색 사각형의 일부 깜박 거림을 볼 수 있습니다. 이상적으로는 원래 회색 사각형 이 표시됩니다. 또는 거의. 오늘 어디서 그런 기능을 사용할 수 있습니까?
는wget http://www.complang.tuwien.ac.at/ulrich/gupu/l5.eps.gz
zcat l5.eps.gz | ghostscript -
몇 년 전에 나는이 문제를 해결하기 위해 시도 않았다
는 더 재미있는 애니메이션 시퀀스의 크기가 5의 마법 사각형 검색 참조하십시오. 그러나 그것은 결코 유령이나 Xfree에 들어 가지 않았습니다. this page을 참조하십시오. 어쩌면 지금 더 좋은 아이디어가 있을까요?편집 : 지금까지의 답변을 읽은 후에 여기에서 한 가지 문제를 명확히하겠습니다. 본질적으로이 질문에는 두 가지 독립적 인 문제가 있습니다.
애니메이션을 언어 수준에서 어떻게보아야합니까? 가장 좋은 방법은 각 프레임을 단일 페이지로 보는 것입니다.
copypage
을 사용하면 적은 노력으로 점증적인 변경을 실현할 수 있습니다. 슬프게도, 그 의미는copypage
은 레벨 1과 2에만 존재합니다. 레벨 3에서는copypage
의 의미가showpage
으로 변경되었습니다. 나는 수년 전 - little modification to ghostscript을 사용하여 표시되는 모든 변경 사항을copypage
또는showpage
까지 지연합니다. 이 방법으로 변경된 영역을 포함하는 단일XCopyArea
이 서버 (즉, 디스플레이)에 로컬로으로 수행됩니다.묘사 된 그래픽에없는 부분의 인공물을 피하기 위해 시각적 디스플레이의 실제 변경 사항을 동기화해야합니다. 당신이 볼 수있는 불규칙한 깜박임은 PostScript의 특권이 아니며 지금까지 본 이중 버퍼 시스템에있는 것처럼 보입니다. 당신이 적합하다고 생각하는 모든 시스템에서 이것을 프로그램하려고하십시오.
또한 편집 :
systemdict /.setlanguagelevel known {2 .setlanguagelevel} if
편집 : 나는이 댓글을 추가하고
올바른 언어 수준을 얻으려면, 그 (고스트 스크립트의 경우) 레벨 1 또는 2 할 일이다 새로운 postscript 명의 기고자를 유치 할 수도 있습니다.
일련의 흰색 및 검은 색 견본에서 회색 "효과"를 얻고 싶다면 디스플레이의 재생 빈도와 동기화해야합니다. 60hz에서, 각각의 최대 2 "프레임"을 원할 것입니다. 30hz는 Persistence of Vision 임계 값 바로 위에 있습니다. –
이것은 무엇이 보이고 무엇이 있어야하는지 분명하게 드러나는 테스트 예제 일뿐입니다. 아무도 그렇게 회색으로 페인트하고 싶지 않습니다. (그것은 25 년 전에 ATARI에서 그렇게 인기가있었습니다 ...).여기서 흥미로운 점은 위와 같은 이산 애니메이션 (l5.eps)과 애니메이션의 일부가 아닌 인공물을 보지 않고이 애니메이션을 보는 것입니다. CLPFD 프로그램이 모든 가능성을 체계적으로 나열하여 마법의 사각형에 대한 해결책을 찾는 방법을 보여줍니다 **. – false
* 배치 모드에서 [포스트 스크립트 및 애니메이션] (https://groups.google.com/forum/#!topic/comp.lang.postscript/olXsoUut2aQ)에 관한 최근 스레드. –