繁体   English   中英

栅格vs油漆(g),paintComponent(g)

[英]Raster vs paint(g) , paintComponent(g)

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

  1. 使用BufferedImages ,即。 使用双缓冲或三缓冲方法绘制图像并显示。
  2. 通过扩展Component或Button使我的精灵组件成为组件。 然后通过repaint(g)进行repaint(g)
  3. 使用栅格和整数数组,位图等进行栅格化。

我意识到方法1和2相似,因为它们使用paint()方法,但是光栅化涉及到一些自制函数,例如。 通过遍历代表每个像素的整个数组并将颜色设置为所需颜色来创建设置背景的函数。

我已经看到许多人在网上使用栅格方法, 即使 1&2看起来更简单。

请在这里帮助我,告诉我我应该走什么路,为什么。

第一种和第二种方法非常相似,并且可以归结为问题所在。

在大多数情况下,第三个选择是提供一种灵活的API,该API与用于浸渍的工具箱或框架无关。 有人可能会说速度有所提高,但是随着Swing和JavaFX更直接地与DirectX和OpenGL管道一起工作,这不再是问题。

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

就个人而言,它将着重于对所涉及的基本原理和原理的理解,以及如何使用前两个选项来实现它们,因为它使您可以使用相对简单的API来专注于这些概念。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM