我有一个不同帧的图像要显示,如下所示:
正如你所看到的那样,图像有三个框架,全心,半心和空白。
现在我只需要三个中的一个帧。我只是想知道是否有一种方法可以在android sdk中使用单个gif来做到这一点。 例如,在几种语言中有一种方法,如:
canvas.drawImage(xpos,ypos,xwidth,xheight,gifx,gify,gifwidth,gifheight)
其中gifx,gify,gifwidth,gifheight是所选框架的坐标和大小。
答案 0 :(得分:1)
好的,我回答自己,我刚刚找到了解决方案。
为了绘制复帧图像,可以使用以下方法:
public void drawBitmap (Bitmap bitmap, Rect src, RectF dst, Paint paint)
其中:
另一种方式(我没有经过测试)可能正在使用 BitmapRegionDecoder 首先必须使用BitmapRegionDecoder.newInstance创建对象的新实例( ...) 然后可以用以下方法获得所选择的位图区域:
public Bitmap decodeRegion (Rect rect, BitmapFactory.Options options)
其中rect是要显示的选定区域。有关BitmapRegionDecoder的更多信息: http://developer.android.com/reference/android/graphics/BitmapRegionDecoder.html