gpt4 book ai didi

android - 使用 SurfaceView 防止绘制超出 Canvas 范围

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:00 31 4
gpt4 key购买 nike

有没有办法防止在 SurfaceView 中绘制超出 Canvas 边界的对象部分(例如位图或路径)?

当我逐渐将一个对象缩放到 Canvas 的大小之外时,尤其是在油漆模糊的情况下,它会全部减速到静止状态,我必须等待几秒钟才能重新获得控制权——它没有反应。我通过在屏幕上移动手指来缩放对象;如果我画得太快并按比例放大,那么它真的会减慢绘图速度。

我在使用普通的 View canvas 时没有遇到同样的问题,所以不知道是什么让它变慢了。就好像 SurfaceView 响应太快然后变得拥挤。

所以改进这一点的一个想法是防止在 Canvas 外绘制,但不确定 SurfaceView 是否有这样的裁剪选项。

最佳答案

一个解决方案可能是使用 Canvas .drawBitmap 方法之一,该方法接受源 Rect/RectF 参数,以便仅呈现 Bitmap 的可见部分。我刚刚在我自己的项目中完成了此操作以加快 SurfaceView 的性能,其中我有多个 Bitmaps 有时只能看到部分内容。

关于android - 使用 SurfaceView 防止绘制超出 Canvas 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15384118/

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