java - 将绘制的 Canvas 组件存储到数组中

标签 java android

有没有可能将所有绘制的对象放入一个数组中?这仅适用于绘图游戏,因此可以保存所有对象并从这种方式加载它们。 如果可能的话,谢谢!

最佳答案

看看Picture类 - http://developer.android.com/reference/android/graphics/Picture.html

它被附加到 Canvas 上后,会记录所有绘图操作并存储它。 之后,您可以将它们全部绘制在另一个 Canvas 上,或者存储/传输图片以将其制作在另一个设备或更高版本上。

UPD:类似这样

    Picture picture = new Picture();
    Canvas canvas = picture.beginRecording(300, 300);
    canvas.drawRect(new Rect(5, 5, 10, 10), new Paint()); // configure paint here
    picture.endRecording();

    picture.writeToStream(new FileOutputStream("stored_drawing.pict"));

现在您将能够从文件中恢复此矩形并将其绘制在任何其他 Canvas 上。 所以一般情况下你可以通过这个类来包装用户的绘图,它会存储所有用户的绘图操作。

祝你好运

关于java - 将绘制的 Canvas 组件存储到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12243243/

相关文章:

java - 如何将GroupSequenceProvider级联到成员列表?

java - 设置土耳其语和英语语言环境 : translate Turkish characters to Latin equivalents

android - 从intellij 12导入项目到android studio beta

java - Android 中的 Groovy 扩展模块?

android - 如何在 android 中的两个 Activity 之间应用 3d 转换?

java - Android 从预建的 SQLite 数据库获取数据

Java Swing - 如何在任何 JOptionPane 之前发出蜂鸣声?

Java HashTable 空指针异常

java - 安卓/Java : Determining if text color will blend in with the background?

android - Imageview旋转动画不会在单击时重复