gpt4 book ai didi

android - 如何只显示位图的一部分——

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:44:39 25 4
gpt4 key购买 nike

我正在尝试创建一个移动的背景。我的目标是让一个巨大的位图自行滚动,使其看起来好像在移动。但首先我需要弄清楚如何只显示位图的一部分。我试过这段代码,但没有成功。在这种情况下我要找的是子集吗? canvas.drawBitmap(位图, """subset"""src, dst, paint)

这是方法解释bitmap 要绘制的位图 ======src 可以为空。要绘制的位图的子集 =======dst 位图将被缩放/转换以适应的矩形

最佳答案

Canvas.drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint);

它允许我们指定要绘制的位图的一部分通过第二个参数。 Rect 类包含左上角和右下角矩形的坐标。当我们通过 src 指定 Bitmap 的一部分时,我们这样做在位图的坐标系中。如果我们指定 null,将使用完整的位图。第三个参数定义应该将 Bitmap 的部分绘制到哪里,再次以 Rect 实例的形式。 不过,这一次角坐标是在 Canvas 目标的坐标系中给出的( View 或另一个位图)。令人大吃一惊的是,这两个矩形不必大小相同。如果我们指定目标矩形比源矩形小,然后是 Canvas会自动为我们缩放。指定更大的目的地也是如此长方形。

Rect dst = new Rect();
dst.set(50, 50, 350, 350);
canvas.drawBitmap(bmp, null, dst, null);

这里的bmp是原始大小为160*183像素的位图。使用 Rect 将其缩放为 250*250 像素。

关于android - 如何只显示位图的一部分——,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9720719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com