2012-05-14 4 views
3

영화 클래스를 사용하여 gif 애니메이션 파일을 재생하고 있지만 화면에 맞지 않습니다.GIF 파일을 android의 화면 크기에 맞추는 방법

gif 파일을 화면 크기에 맞게 조정하거나 맞추는 방법은 무엇입니까?

나는 Movie 클래스를 사용하여 GIF보기 사용자 정의보기 및 재생 애니메이션을 찍었습니다.

+0

해결책을 찾았습니까 ?? – atasoyh

답변

0

나는 here을 살펴볼 것입니다. GIF를 표시/재생하는 3 가지 방법을 다루는 전체 자습서. 분명히 쉬운 일이 아니며 Google과 함께 공개 된 문제 보고서가 있습니다. 행운을 빌어 요.

+0

기본적으로 다른 사이트에 대한 링크 인 답변은 일반적으로 도움이되지 않습니다. 링크도 시대에 뒤떨어 지거나 끊어 지므로 여기에 중요한 비트를 요약해도 되겠습니까? 특히 튜토리얼의 어느 부분에서 GIF 스케일링을 다루는 지,이 질문에 관한 것입니다. –

2

캔버스 (@ surface 뷰)를 사용하는 경우 gameloop에서 높이와 너비를 가져 와서 그 값으로 배경 이미지를 그립니다. 그렇지 않은 경우

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); 
Display display = wm.getDefaultDisplay(); 
float tmp = display.getHeight; 

지금 TMP는 디스플레이 높이의 값이 포함됩니다. 너비가 똑같아. 해당 속성을 사용하여 gif를 늘립니다.

나는이 기능이 지원되지 않습니다 말을해야 더 나은 방법이있을 그러나, 이것은 잘하지만 :)

3
당신은이 코드를 사용하여이 작업을 수행 할 수

작동합니다

float scaleWidth = (float) ((screenwidth/(1f*gifwidth)));//add 1f does the trick 
    float scaleHeight = (float) ((screenheight/(1f*gifheight))); 
    canvas.scale(scaleWidth, scaleHeight); 
    mMovie.draw(canvas, 0, 0);//mMovie is my gif picture 
+0

작동하지 않습니다. – Khuong

1

당신은 사용할 수 있습니다 비슷한 최종 결과와 스케일링을 얻으려면 애니메이션 GIF 대신 프레임 애니메이션을 사용하십시오. gif에서 각 프레임을 추출하고 개별 프레임을 res/drawable 폴더에 png (또는 다른 지원되는 형식) 파일로 저장해야합니다. 애니메이션 드로어 블을 만들고 사용

http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html

애니메이션, check this을 확장하십시오.

scaleTypes이 방법을 사용하여 애니메이션의 크기를 조절할 수 있습니다.

이 질문에 직접 대답하지는 않지만 원하는 최종 결과를 제공한다는 것을 알고 있습니다.

관련 문제