【问题标题】:how to change the gif picture size in android如何在android中更改gif图片大小
【发布时间】:2012-12-05 03:22:21
【问题描述】:

现在我知道如何在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)。但是我怎么能改变电影的宽度和高度呢?也许给出右边和底部的坐标,但是如何,在哪里?谢谢!

【问题讨论】:

  • 我猜你试过canvas.scale()?
  • 是的,我试过了,但没有任何改变。我的意思是尺寸没有任何意义,但是当我添加此方法时,图片消失了。

标签: java android android-canvas animated-gif


【解决方案1】:

你可以使用

  implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.4'

图书馆 然后将其添加到 xml

 android:scaleType="fitXY"

【讨论】:

    【解决方案2】:

    我有同样的问题,这是我的解决方案, 在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 
    

    【讨论】:

    • 谢谢你,你真的帮了我!
    猜你喜欢
    • 2023-03-22
    • 2019-12-05
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多