Android 将图像加载到SCanvasView中的特定坐标
我正在创建一个android应用程序,正在使用canvas位图(特别是Samsung SPen SDK)。我目前有我想要的功能,但是加载的实现方式使得运行时间太长 我所拥有的: 保存:我将画布保存为位图,并将此位图拆分为X个特定大小的较小位图(仅保存写入的部分)。这一部分的效率没有问题 加载::Android 将图像加载到SCanvasView中的特定坐标,android,canvas,bitmap,Android,Canvas,Bitmap,我正在创建一个android应用程序,正在使用canvas位图(特别是Samsung SPen SDK)。我目前有我想要的功能,但是加载的实现方式使得运行时间太长 我所拥有的: 保存:我将画布保存为位图,并将此位图拆分为X个特定大小的较小位图(仅保存写入的部分)。这一部分的效率没有问题 加载:: 然后,我将X个较小的位图组合起来,使用canvas.drawBitmap(imgs[X][y]、xCoordinate、yccoordinate、null)对所有具有写入功能的图像(imgs[][]=位
imgs[][]
=位图数组)重新生成原始位图setclearImageBitmap(BitmapName)
函数将其显示在画布的前景中。除了将一幅大图像加载到前景中需要占用约90%的运行时间之外,这种方法工作得很好李>
私有void loadCanvasImage(){
位图bmOverlay=Bitmap.createBitmap(mSCanvas.getWidth()、mSCanvas.getHeight()、Bitmap.Config.ARGB_8888);
画布=新画布(bmOverlay);
int yCo=0;
对于(int-yCount=0;yCount
}
问题:
我想知道是否有更有效的方法来实现这一点。可能通过实施这一想法:
通过在画布视图(最好是前景)的特定x、y坐标处添加多个位图(这可能会使其速度更快,因为不在其上写入的较小位图将不必显示)。
我未能实现的另一个方法是将SCanvasView设置为包含我重新创建的一个大位图的画布。我通过尝试重写onDraw(canvas)方法,并传递画布结果canvas.drawBitmap(imgs[x][y],xCoordinate,yCoordinate,null)