光栅与油漆(g),油漆组分(g)

时间:2014-06-03 11:32:22

标签: java graphics paintcomponent raster

我是一名新手程序员,最近我遇到了很多动画方法:

  1. 使用BufferedImages,即。使用双缓冲或三重缓冲方法绘制图像和显示。
  2. 通过扩展Component或Button来制作我的精灵组件。并通过repaint(g)重新粉刷。
  3. 光栅,使用栅格和整数数组,位图等。
  4. 我意识到方法1和2与使用paint()方法类似,但是Rastering涉及自制函数,例如。创建通过遍历表示每个像素的整个数组并将颜色设置为所需颜色来设置背景的函数。

    我见过很多人在线使用光栅方法即使 1& 2似乎更简单。

    请帮帮我这些家伙,告诉我应该遵循的路径和原因。

1 个答案:

答案 0 :(得分:0)

第一种和第二种方法非常相似,可以归结为问题的背景。

第三种选择在很大程度上归结为提供灵活的API,该API独立于用于解决它的工具包或框架。有人可能会说速度有所提高,但是随着Swing和JavaFX更直接地使用DirectX和OpenGL流水线,这不是一个问题。

除非您计划使用某些严重低级别的功能或与非标准API接口,否则我不会对它有太多担心(某些效果可能会以这种方式更快地完成绘制,但它全部都是如此关于上下文)

就个人而言,它将专注于了解所涉及的基础知识和原则,以及如何使用前两个选项实现它们,因为它允许您使用相对简单的API专注于这些概念

随着时间的推移或您遇到无法使用这些技术解决的情况,那么可能是时候考虑使用光栅方法了。

请记住,您仍然需要将该字节数组转换为API所需的格式,这本身就会增加开销

相关问题