如何在 Java 中从原始 byte[] 创建 BMP 文件

2023-12-19

我有一个 C++ 应用程序,它与相机通信并获取原始图像数据。 然后我有一个 C++ 中的 Byte[],我想用 JNI 将其发送到 Java。

但是,我需要将原始 Byte[] 转换为真实的文件格式(.bmp 是我的第一选择)。 如果我使用 BITMAPFILEINFO 和 BITMAPHEADERINFO 将它从 C++ 写入硬盘上的文件,我可以轻松地做到这一点,但我不知道如何将整个格式发送到 Java。

然后我考虑使用 JNI 只发送原始 byte[] 数据,然后将其转换为 .bmp,但我似乎找不到任何好的库可以在 Java 中执行此操作。

我最好的选择是什么?在 C++ 中转换图像,然后使用 JNI 发送它,或者将 RAW 数据发送到 Java,然后将其转换为 .bmp?我如何最容易实现这一目标?


在 Java 1.5 中只有两行:

BufferedImage image = ImageIO.read( new ByteArrayInputStream( byteArray ) );
ImageIO.write(image, "BMP", new File("filename.bmp"));

据我所知,Java(在 Windows 上)知道如何导出 jpg、png 和 bmp。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Java 中从原始 byte[] 创建 BMP 文件 的相关文章

  • 将语句插入 SQL Server 数据库

    最近几天我试图找到这个错误 但没有成功 我正在尝试在数据库中插入一个新行 一切都很顺利 没有错误 也没有程序崩溃 My INSERT声明如下 INSERT INTO Polozaj Znesek Uporabnik Cas Kupec Po
  • 未定义异常变量时通过引用捕获

    捕获异常时 标准指导是按值抛出 按引用捕获 据我了解 这有两个原因 如果由于内存不足异常而引发异常 我们将不会调用可能终止程序的复制构造函数 如果异常是继承层次结构的一部分 我们可能会对异常进行对象切片 如果我们有一个场景 我们没有在 ca
  • 尝试用Java实现基于文本的Hangman游戏

    我需要检查用户输入的字母以及他们猜测的空格是否位于隐藏单词的特定位置 变量one等于用户猜测的空间索引 而letterGuess是他们猜测的字母 我的代码怎么错了 示例 秘密词是你好 hidden word is 用户猜测h 0 1 2 3
  • 在 x64 系统上使用 skype-java-api

    我正在使用 skype java api 在 Java 中使用 Skype 我需要的唯一功能是点击即可拨打电话号码 它在 Windows XP x86 上运行良好 但我刚刚在 Windows 7 x64 上测试它 但失败了 错误是 线程 T
  • 从 ef core 的子集合中删除一些项目

    我有一个父表和子表 其中父表与子表具有一对多关系 我想删除一些子项 并且希望父项的子集合反映该更改 如果我使用删除选定的子项RemoveRange 那么子集合不会更新 如果我使用Remove从子集合中删除子集合然后 显然 它不如使用效率高R
  • 在非指针变量和类成员上放置 new

    考虑以下示例 include
  • 如何使用 C# 代码使用超链接的 onClick 事件?

    我正在尝试为页面中的超链接添加条件 而不是仅仅使用特定的链接 例如 a href help Tutorial html Tutorial a 我想为不同的用户显示不同的页面 例如 如果用户以管理员身份登录 他们将看到与普通用户不同的链接 我
  • 不幸的是 Project_Name 已停止

    我有一个简单的应用程序 您可以在文本视图中输入文本并按提交 它会在另一个活动中显示文本 然而 当我按下提交时 给我消息 不幸的是 发送已停止 我查看了SO上的其他线程 但是不幸的是 myfirstproject 在 java 中停止工作错误
  • 在 C# 中生成随机值

    如何使用以下命令生成随机 Int64 和 UInt64 值RandomC 中的类 这应该可以解决问题 这是一个扩展方法 因此您可以像调用普通方法一样调用它Next or NextDouble上的方法Random目的 public stati
  • Java:易失性足以使类线程安全?

    我有一个关于 Java 中 volatile 语句的问题 请看这个构造的例子 class Master Foo is a class with thread safe methods public volatile Foo foo clas
  • 从存储过程返回 int 值并在 ASP.NET 代码中检查它以验证登录表单

    当我多次尝试但没有得到有效结果时 使此代码运行的真实顺序是什么 SQL存储过程的代码 set ANSI NULLS ON set QUOTED IDENTIFIER ON GO ALTER PROC dbo login proc usern
  • 为什么我的 ITexthandler 不工作?我正在尝试将 XML 解析为 ITextSharp 文档

    我正在使用 Visual Developer 2010 MVC 3 c 我正在尝试将 XML 解析为 iTextSharp 文档 如下所示 ITextHandler textHandler new ITextHandler doc text
  • C# - 命名空间内的类型声明

    在命名空间内而不是在类中声明类型的可能用途是什么 For ex namespace Test public delegate void Ispossible 这是有效的并且不会产生任何编译错误 但我无法想象为什么我们会以这种方式声明它而不是
  • 使 C# 编译器相信执行将在成员返回后停止

    我认为目前这是不可能的 或者这是否是一个好主意 但这是我刚才正在考虑的事情 我使用 MSTest 对我的 C 项目进行单元测试 在我的一项测试中 我执行以下操作 MyClass instance try instance getValue
  • 如何将 printStackTrace() 中的异常写入 Java 中的文本文件?

    我需要用 Java 捕获文本文件中的异常 例如 try File f new File catch FileNotFoundException f f printStackTrace instead of printing into con
  • 如何在Linux上构建GLFW3项目?

    我已经使用 cmake 和 make 编译了 glfw3 和包含的示例 没有出现任何问题 开始编写我的第一个项目 作为 opengl 和 glfw 的新手 并且对 C 和 CMake 没有经验 我正在努力理解示例构建文件 甚至要链接哪些库和
  • 无效的模板相关成员函数模板推导 - 认为我正在尝试使用 std::set

    我有一个继承自基类模板的类模板 基类模板有一个数据成员和一个成员函数模板 我想从我的超类中调用它 我知道为了消除对成员函数模板的调用的歧义 我必须使用template关键字 我必须明确引用this在超级班里 this gt base mem
  • Cassandra 会话与集群 有什么可分享的?

    考虑 Cassandra 的 Session 和 Cluster 类 Java 驱动程序 我想知道有什么区别 在 Hibernate 中 每次都会创建一个会话并共享会话工厂 从许多来源我了解到 它被认为是创建一个会话并在多个线程之间共享它
  • C# 中成员访问中的问号是什么意思?

    有人可以向我解释一下以下代码中会员访问中的问号是什么意思吗 它是标准 C 的一部分吗 尝试在 Xamarin Studio 中编译此文件时出现解析错误 this AnalyzerLoadFailed Invoke this new Anal
  • XmlDocument Save 使文件保持打开状态

    我有一个简单的 C 函数 可以创建一个基本的 XML 文件并保存 private void CreateXMlFile string Filename string Name string Company XmlDocument doc n

随机推荐

  • 以编程方式查找消息框并生成按钮点击

    我正在尝试自动测试 winform 应用程序 我在与测试代码相同的进程中运行它 因此很容易找到 Net 控件并在它们上模拟用户操作 然而 我遇到了一个消息框 使用标准 MessageBox Show 方法创建 的问题 我怎样才能掌握它并模拟
  • 如何在执行 Environment.Exit() 之前刷新 dotnet 核心应用程序中的所有记录器

    基本上 我遇到了应用程序崩溃并且没有调试日志的老问题 因为应用程序在写入日志之前就终止了 经典的方法是捕获 main 中的所有异常并刷新异常块中的所有日志缓冲区 此外 添加睡眠以降低重新启动速度并允许缓冲区完成刷新 我使用serilog 我
  • 使用 jsonb_set() 更新特定的 jsonb 数组值

    目前我正在使用 PostgreSQL 9 5 并尝试更新 jsonb 字段数组内的值 但我无法获取所选值的索引 我的桌子看起来像这样 CREATE TABLE samples id serial sample jsonb 我的 JSON 看
  • Cocos2d EXC_BAD_ACCESS

    我是 cocos2d 的新手 突然得到了这个 EXC BAD ACCESS 我做了一个新的获胜菜单 但出现了错误 我认为错误是因为我调用了一个已释放的对象 但我没有释放任何东西 我的调试控制台没有错误 这很奇怪 这是我的 Level 1 m
  • 如何在本机反应中创建“全局状态”,以便我可以将用户输入发送到另一个页面?

    我正在尝试获取用户输入 电子邮件 并将其发送到密码页面进行显示 我觉得下面的尝试不起作用 因为输入是本地的 密码页面看不到 我该怎么办 有redux的东西吗 我走在正确的轨道上吗 如果你们需要更多代码 请告诉我 我比你们知道的更感谢您的帮助
  • 使用 gradle 将 pom.xml 包含在 Jar 中

    我正在尝试包含生成的pom xml in the jar我用 gradle 创建的 到目前为止 在我的父项目中 我已经 subprojects apply plugin maven publish publishing publicatio
  • 可以从 Android 模拟器运行 WebGL 内容吗?

    您好 我一直在尝试在许多 Android 模拟器 BlueStacks Andy Duos 和 VirtualBox 中运行 WebGL 内容 当我尝试在浏览器 chrome firefox 中访问任何 WebGL 内容时 我收到一条消息
  • Javascript:最佳单例模式[重复]

    这个问题在这里已经有答案了 可能的重复 在 JavaScript 中实现单例的最简单 最干净的方法 https stackoverflow com questions 1479319 simplest cleanest way to imp
  • 如何使用 MongoDB 和 Mongoid 在 Rails 3 上进行正确的数据库测试 (TDD)

    如何通过 Mongoid on Rails 使用 MongoDB 编写适当的单元测试 以及与此相关的集成测试 我这么问是因为与使用 SQLite3 相反 即使在运行测试时 我所做的一切仍然存在 所以目前我正在编写创建测试 然后我手动删除我所
  • Mock() 函数在 django2 中给出 TypeError

    我正在跟进本教程 https www obeythetestinggoat com book chapter purist unit tests html 当我跑步时test views py根据作者的说法 我有一个不应该出现的错误 Typ
  • SQL Reporting Services - 限制导出格式

    是否可以将导出格式限制为仅 PDF 和 Excel 注释掉或删除要在 渲染 部分中排除的格式rsreportserver config in Program Files Microsoft SQL Server MSSQL
  • 如何更改多个轴标签的字体大小(使用 host_subplot API 创建)

    我在互联网上查看 绝对所有具有多个轴的示例都具有默认值的 xlabel 和 ylabel 并且非常小 我使用以下代码来创建轴 from mpl toolkits axes grid1 import host subplot import m
  • UTF-8 服务器编码会在 ASP.NET 站点上产生 � 字符

    我正在运行 ASP NET WebForms博客引擎 http dotnetblogengine net 网站 maxpavlov com 我的博客上主要用俄语写作 有时 即使我正在写一个完全正常的俄语字符 当我查看生成的渲染博客文章页面时
  • BufferedImage颜色饱和度

    我正在编写一个简单的扫描应用程序自由精神 https github com sjamesr jfreesane and 阿帕奇PDFBox https pdfbox apache org 这是扫描码 InetAddress address
  • 与 QB 桌面产品集成

    几年前 我编写了一个 QB 集成 它使用 Web 连接器在 QB 桌面产品中读取和写入数据 它运行良好 但我不喜欢 Web Connector 我的任务是建立另一个 QB 集成 我希望这次避免使用 Web Connector 我尝试避免使用
  • 如何显示六边形填充颜色的图例?

    我正在 ggplot2 中绘制十六进制图 出现的图例是关于六边形的填充 计数 而不是关于六边形实际热缩放的内容 预测 我如何摆脱计数的图例 但让它显示实际热缩放的内容 预测 这是我的代码和我所指内容的图片 FF1xBARHH lt ggpl
  • Google Cloud Pub/Sub 推送消息 - 空 POST

    我目前已在Google云平台中成功设置主题和订阅 并已通过Google验证了我的网站并将域添加到GCP 每当我尝试从以下位置发送测试消息时https console cloud google com cloudpubsub topics s
  • 无法让小网格线出现在 matplotlib 图中

    好的 我有下面的代码 用于实时绘制通过串行接收的嵌入式设备的一些数据 它并不是一个生产工具 而是一个内部工程工具 因此它不是非常用户友好 问题是 无论我做什么 我都无法让小网格线出现 即使这里它们被设置为True which both 我可
  • 聚合管道和索引

    From http docs mongodb org manual core indexes multikey indexes http docs mongodb org manual core indexes multikey index
  • 如何在 Java 中从原始 byte[] 创建 BMP 文件

    我有一个 C 应用程序 它与相机通信并获取原始图像数据 然后我有一个 C 中的 Byte 我想用 JNI 将其发送到 Java 但是 我需要将原始 Byte 转换为真实的文件格式 bmp 是我的第一选择 如果我使用 BITMAPFILEIN