2012-03-31 2 views
0

자바 애플릿에서 움직이는 GIF의 속도를 제어하고 싶습니다. 이것을 할 수있는 방법이 있습니까? 그렇지 않다면 애플릿이 이미지로 애니메이션 이미지를 그릴 수 있도록 애니메이션 GIF의 데이터에 액세스하는 방법이 있습니까?애니메이션 GIF의 속도를 제어하려면 어떻게해야합니까?

+0

* "자바 애플릿에서 움직이는 GIF의 속도를 어떻게 제어합니까?"* 앱에서와 똑같은 방법. 따라서 애플릿은 부적합합니다. –

답변

2

프레임 속도가 GIF에 포함되어 있다고 생각합니다. 어떻게 든 GIF에서 이미지를 추출 할 수 있지만 개별 이미지로 시작하여 JS로 애니메이션하는 것보다 어렵습니다. 원하는 프레임 속도로 GIF를 다시 만드는 것보다 어렵습니다.

GIF를 한 번만 사용하고 프레임 속도가 변경되지 않으면 GIF를 다시 만드십시오. 애플릿의 입력을 기반으로 속도를 변경해야 할 경우 here 접근 방식을 사용할 수 있습니다. 그것은 두 개의 gif를 번갈아 표시하지만, PNG 로딩과 그 배열을 번갈아 가며 멈추는 것도 없습니다.

0

애니메이션 된 GIF 형식은 각 프레임의 데이터와 지연 값 (해당 프레임을 표시하는 기간)으로 구성됩니다. 지연은 각 프레임에 대해 개별적이며 2 바이트로 저장되고 100 초로 측정됩니다.

넷스케이프 (당시 웹이었을 때)는 초당 10 프레임보다 빠르게 프레임을 표시 할 수 없었습니다. 그래서 많은 도구들이 스크류로 말했고, 모든 프레임에 대해 지연을 0으로 설정했습니다. 오래된 GIF와 오래된 도구가 많이 있었기 때문에 프레임 지연 시간을 단축 시켰습니다.

더 빠른 컴퓨터와 브라우저에서는 어떤 프레임이 지연 시간이 < = 50ms (20+ fps)인지 확인하여이 문제를 해결했습니다. 그럴 경우 지연 시간이 100ms (10fps)로 증가했습니다.

원칙적으로 가장 좋은 해결책은 사용중인 GIF를 수정하여 정확한 프레임 지연을 얻는 것입니다. 이것이 실행 가능하지 않다면, 이전과 동일한 해결 방법을 사용하십시오. 애니메이션 GIF에서 프레임을 분리하고 애니메이션을 직접 수행하십시오. 지정된 지연이 < = 50ms이면 100ms 지연이 기본값입니다. 이렇게하면 대부분의 웹 브라우저에서 볼 수있는 것과 동일한 동작을 얻을 수 있습니다.

잠시 전에 읽어보십시오. Wikipedia에서 언급 된 대부분의 세부 사항 (애니메이션 GIF 형식 및 프레임 당 지연 포함)을 생각해보십시오. 만약 당신이 정말로 확실한 견해를 원한다면, 나는 그들을 당신을 위해 파낼 수 있습니다.

관련 문제