我有一个带有坐标的二维数组用于二维地图显示。 这些被绘制到画布上。 每次我想要在画布上更改某些内容时,它非常重要 所以我在想是否有可能代替通过2d阵列进行For循环,如果我可以保存第一次执行它的结果,并且每次我更改其他东西然后2d-map从保存恢复。
似乎canvas.save()和canvas.restore()只能被调用相同的次数,所以我不能存储第一个输出,然后将其恢复123次。
我在想是否可以通过其他方式保存画布,可能是将第一个结果保存到bipmap?
我知道我不能“调整”/“编辑”任何已经画到画布上的东西, 地图永远不会改变。
答案 0 :(得分:1)
好的,我明白了。 我可以使用画布将包含大量图像的背景绘制到一个位图,它非常简单。
首先创建一个具有所需int高度和int宽度的空位图,这将是您将所有切片绘制到(小图像)的位图。
位图背景= Bitmap.createBitmap(width,heigth,Bitmap.Config.ARGB_4444);
(不确定语法Bitmap.Config.ARGB_4444,使用工具提示) 然后使用新的Canvas(位图)创建一个画布,这将使画布写入位图。
Canvas canvas new Canvas(背景);
现在您可以根据需要编写画布,所有这些都将存储在位图中供以后使用。