现在我知道如何在android中绘制GIF图片了,下面是代码:
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();
}
最后是movie.draw(canvas,x,y)
代码,其中x和y是gif图片的坐标(x=left,y=top) .但是我怎么能改变电影的宽度和高度呢?也许给出右侧和底部坐标,但是如何,在哪里?谢谢!
最佳答案
我遇到了同样的问题,这是我的解决方案, 在ondraw方法中添加这段代码在movie.draw之前
canvas.scale((float)this.getWidth() / (float)movie.width(),(float)this.getHeight() / (float)movie.height());
或
canvas.scale(1.9f, 1.21f);//this changes according to screen size
关于java - 如何在android中更改gif图片大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13924183/