RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

问题[binary]

Martin Hope
Андрей
Asked: 2022-07-10 23:51:13 +0000 UTC

如何在c ++中更改bmp图片中的一些位

  • 0

尊敬的专家。有一项任务 - 在文件(图片 .bmp)中写下某个文本。文本必须取自文件并写入现有图像。我用谷歌搜索,并决定我需要以二进制形式打开图像文件,但问题是我不知道如何读取这些相同的位。我得到了各种 abra cadabra。所以问题是,需要做什么才能以数字表示的形式将一些字符写入每个字节的末尾,直到消息结束?我写了这段代码:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() {
    string data = "I:\\NumMet\\bmp\\data.txt";
    string image = "I:\\NumMet\\bmp\\bmp.bmp";
    string message = "";
    ifstream fin(data);
    ifstream fin2(image, ios::binary);

    if (!fin.is_open() && !fin2.is_open()) {
        cout << "File not open";
        return 0;
    }

    // считываю текст для записи в картинку
    char ch;
    int count = 0;
    while (fin.get(ch)) {
        message += ch;
        count++;
    }
    cout << count << ' ';
    cout << message;
    fin.close();

    // скипаю байты на всякий случай
    int i = 0;
    fin2.seekg(256);

    // проверяю, что достаточно пикселей для записи
    i = 0;
    while (fin2.get(ch) && i < count) {
        i++;
    }
    if (i < count) {
        cout << "picture is small";
    }
    else {
        cout << "Good";
        // замена битов картинки на биты символов.
    }
    fin2.close();
} 

在其中,我读取要写入的消息,跳过几个字节以免损坏系统数据(但我没有确切找到要跳过多少,所以我留了一点余地)并在检查是否有足够的像素后为了记录,我必须写相同的数据。

补充:上传了一张程序结果的图片在此处输入图像描述

c++ binary
  • 1 个回答
  • 108 Views
Martin Hope
Danny
Asked: 2020-09-24 06:25:47 +0000 UTC

为什么更改和恢复二进制文件(jpeg 图片)时无法再打开它?

  • 2

如果您以文本模式打开图片(或其他文件)并更改/添加某些内容,该文件将被损坏,但如果您将所有内容恢复原位(更改回/删除添加的字符),则文件仍然损坏. 这是为什么?

binary
  • 1 个回答
  • 10 Views
Martin Hope
Viktor Tomilov
Asked: 2020-11-25 20:31:50 +0000 UTC

非二进制系统的布尔值/触发器

  • 1

随着生物信息学和生物计算机的普及,我们计划在5-8年级的学生中开设一系列课程。特别是,将有关于创建具有可变逻辑的生物计算机的实践练习。将介绍具有二进制、三元、四元和五重逻辑的最简单的生物计算机。基本的算术运算已经被定义和阐明,争议在于逻辑运算。对于二元逻辑,一切都清楚了,对于三元逻辑,PROBABLY 被添加到 FALSE 和 TRUE,但是在四元和五元逻辑的情况下添加 USEFUL 呢?

binary
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5