2012-12-17 11 views
5

Teraz wiem jak narysować obraz GIF w Android, oto kod:jak zmienić rozmiar obrazu gif w android

public class GIFView extends View{   
private Movie movie; 
private InputStream is; 
private long moviestart; 
public GIFView(Context context) { 
    super(context); 
    is=getResources().openRawResource(R.drawable.anim_cerca); 
    movie=Movie.decodeStream(is); 
} 

@Override 
protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    long now=android.os.SystemClock.uptimeMillis(); 

    if (moviestart == 0) 
     moviestart = now; 

    int relTime = (int)((now - moviestart) % movie.duration()); 
    movie.setTime(relTime); 
    movie.draw(canvas,10,10); 
    this.invalidate(); 
} 

}

Na koniec, istnieje kod movie.draw(canvas,x,y) , gdzie x i y są współrzędnymi dla obrazu gif (x = left, y = top). Ale jak mogę zmienić szerokość i wysokość filmu? Może podać prawe i dolne współrzędne, ale jak, gdzie? Dziękuję Ci!

+0

Chyba próbowali canvas.scale()? –

+0

Tak, próbowałem, ale nic się nie zmieniło. Mam na myśli nic w rozmiarze, ale obraz zniknął, kiedy dodałem tę metodę. – victorio

Odpowiedz

14

miałem ten sam problem tutaj jest moje rozwiązanie, dodać ten kod w metodzie OnDraw przed movie.draw

canvas.scale((float)this.getWidth()/(float)movie.width(),(float)this.getHeight()/ (float)movie.height()); 

lub

canvas.scale(1.9f, 1.21f);//this changes according to screen size 
+0

Dziękuję, naprawdę mi pomogłeś! – offset

Powiązane problemy