【问题标题】:Does Java have a Bitmap class? [duplicate]Java有位图类吗? [复制]
【发布时间】:2014-11-01 01:37:03
【问题描述】:

我一直在谷歌上搜索“Java 位图”、“创建 Java 位图”等内容,但似乎找不到太多信息。从所有代码示例看来,所有位图库都是第三方的或用于 android 的。

我想做的很简单。我想创建一个可能为 10x80 的小位图,并且能够在 (x,y) 处为每个像素着色。我想做一个小的我猜颜色条,它将按颜色显示队列中项目的位置。

是否有任何构建库可以做到这一点?

【问题讨论】:

    标签: java bitmap


    【解决方案1】:

    java.awt.image.BufferedImage 类。这具有特定于像素的 get/set 方法。 http://docs.oracle.com/javase/7/docs/api/java/awt/image/BufferedImage.html

    【讨论】:

    • 请注意,如果您打算修改图像的像素,那么最好使用VolatileImage。这是因为VolatileImages 即使在修改像素时也是硬件加速的。
    • @ceztko 感谢修复
    【解决方案2】:

    这是一个使用 BufferedImage 创建和写入像素的示例:

    BufferedImage image = new BufferedImage(10, 80, BufferedImage.TYPE_4BYTE_ABGR);
    image.setRGB(5, 20, Color.BLUE.getRGB());
    

    图片上的第三个参数是类型,根据你的使用情况可能会有所不同,但对于基本的纯色,显示的那个是好的。 setRGB 使用颜色的 int 表示,因此您不能直接使用 Color 常量。

    您可能不想使用 VolatileImage,因为它的好处在当前的 Java 实现中是可疑的。请参阅 this stackoverflow question 了解为什么它可能没有帮助。

    查看the Oracle image turorial 以获得帮助。它解释了您的选择以及如何与它们进行交互。

    【讨论】:

    • 为什么不赞成为这个问题提供官方教程?
    • 我没有投反对票,但这个答案本质上是仅链接的,这里不赞成。我知道有时它看起来完全有效,但事实是这个链接有一天可能会过时。解决此问题的方法是在您的答案中总结该教程。
    • 感谢您的解释,我将添加适当的摘要。
    猜你喜欢
    • 2021-12-28
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    • 2011-12-20
    • 2013-05-11
    • 2018-09-10
    • 2011-08-28
    • 2015-08-21
    相关资源
    最近更新 更多