【问题标题】:How to get byte array form javafx.scene.image.Image object?如何从 javafx.scene.image.Image 对象中获取字节数组?
【发布时间】:2019-06-17 01:16:19
【问题描述】:

我想将图像保存到数据库中。我有一个 Customer 模型,其中包含 Image 属性。我正在创建一个处理所有与客户相关的数据库操作的类。在那个类中,我有一个方法可以接收 Customer 对象并将其插入到数据库中。因此,我只有客户对象可以使用。如何将该 Image 对象转换为字节数组,以便将其插入数据库?

我知道如何从文件对象中提取字节数组。我应该将客户模型更改为包含图像文件而不是图像对象吗?

【问题讨论】:

  • 你能上传你的代码吗?
  • 我只想知道是否可以从 Image 对象中获取字节数组。我还没有为数据库操作编写任何代码。
  • 可以通过多种途径实现。这是一个非常基本的介绍:geeksforgeeks.org/image-processing-java-set-1-read-write 阅读并尝试更好地了解您到底想要做什么,然后如果您在实施或任何问题上遇到问题,您可以提出更具体的问题。
  • 我想知道是否可以从 javafx.scene.image.Image 获取字节数组?
  • 嘿伙计,你能试试这个吗? BufferedImage bImage = ImageIO.read(new File("sample.jpg")); ByteArrayOutputStream bos = new ByteArrayOutputStream(); ImageIO.write(bImage, "jpg", bos);字节 [] 数据 = bos.toByteArray();

标签: java arrays image


【解决方案1】:

这对我有用:

Image image = customer.getImage();

BufferedImage bufferedImage = SwingFXUtils.fromFXImage(image, null);
ByteArrayOutputStream byteArrayInputStream = new ByteArrayOutputStream();
try {
    ImageIO.write(bufferedImage, "jpeg", byteArrayInputStream);
} catch (IOException e) {
    e.printStackTrace();
}
byte[] buffer = byteArrayInputStream.toByteArray();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多