有没有可以将图片一键替换成二进制数组的软件

[复制链接]
390|11
手机看帖
扫描二维码
随时随地手机跟帖
浪子寻仙|  楼主 | 2023-3-24 14:50 | 显示全部楼层 |阅读模式
如题,想用gd32显示一张图片

使用特权

评论回复
浪子寻仙|  楼主 | 2023-3-24 15:38 | 显示全部楼层
有木有人

使用特权

评论回复
linxi6414| | 2023-3-24 15:58 | 显示全部楼层
取模软件取出来的都是16进制的吧,要二进制用来做什么呢?

使用特权

评论回复
浪子寻仙|  楼主 | 2023-3-24 16:03 | 显示全部楼层
linxi6414 发表于 2023-3-24 15:58
取模软件取出来的都是16进制的吧,要二进制用来做什么呢?

取模软件有哪些,求推荐

使用特权

评论回复
linxi6414| | 2023-3-24 16:05 | 显示全部楼层
目前用的是:Image2Lcd

使用特权

评论回复
浪子寻仙|  楼主 | 2023-3-24 16:20 | 显示全部楼层
linxi6414 发表于 2023-3-24 16:05
目前用的是:Image2Lcd

非常感谢

使用特权

评论回复
天残梦| | 2023-3-24 19:02 | 显示全部楼层
linxi6414 发表于 2023-3-24 16:05
目前用的是:Image2Lcd

这个不能转PNG转HEX

使用特权

评论回复
gxs64| | 2023-3-24 20:30 | 显示全部楼层
// fopen_s.cpp : 定义控制台应用程序的入口点。
//
//#define _CRT_SECURE_NO_WARNINGS 1

#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

//#include "fopen_s.h"


#define length_data 1024*1024*1                //1M
unsigned char buffer[length_data];




//将一个byte的in_char分解成高8位和低8位,分别存入out_char_a和out_char_b

void UCharToHexChar(unsigned char in_char, unsigned char &out_char_a, unsigned char &out_char_b)
{
        char const hex_chars[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
        out_char_a = hex_chars[(in_char & 0xF0) >> 4];
        out_char_b = hex_chars[(in_char & 0x0F) >> 0];

}



void main()
{
       
        unsigned char err;
        unsigned char temp, temp1, temp2;
        unsigned int count;
        unsigned int i;
        count = 0;

        FILE *fp_in;//文件指针
        const char* file_in_path = "./test.jpg";                //源文件
        err = fopen_s(&fp_in, file_in_path, "rb");                //按二进制打开文件,只读
        if (err != NULL) //打开文件出错。
                return;

        FILE *fp_out;//文件指针
        const char* file_out_path = "./DATA.TXT";                //建立新文件
        err = fopen_s(&fp_out, file_out_path, "w+");        //打开一个空的文件进行读写。如果该文件存在,其内容将被销毁。即先删除,后建立
        if (err != NULL) //打开文件出错。
                return;
       
        FILE *fopen_out;
        const char *fopen_out_path = "fopen_out_bin.jpg";                //建立新文件
        err = fopen_s(&fopen_out, fopen_out_path, "wb+");                //指定文件名和文件内容格式为二进制,并且可读写
        if (err != NULL)
                {
                        return;
                }

        while (1)
                {
                        if (fscanf_s(fp_in, "%c", &temp) == EOF)                //将文件中的内容读入temp中,fp_in--->test.jpg
                                break;
                        buffer[count] = temp;        //将temp的同容--->buffer
                        count++;
                        UCharToHexChar(temp, temp1, temp2);                //将一个byte的temp分解成高8位和低8位
                        fprintf(fp_out, "%c%c ", temp1, temp2);                //fp_out--->DATA.TXT,将内容以字符型写入文件DATA.TXT中,格式为字符型
                        //printf("%c%c %X\n", temp1, temp2, temp);
                }

        buffer[6] = 0xFF;        //故意改变图片中某两个字节,测试是否影响图片质量
        buffer[7] = 0xFF;        //故意改变图片中某两个字节,测试是否影响图片质量
        buffer[8] = 0xFF;        //故意改变图片中某两个字节,测试是否影响图片质量
        buffer[9] = 0xFF;        //故意改变图片中某两个字节,测试是否影响图片质量

        for (i = 0; i < count; i++)
                {
                        fprintf(fopen_out, "%c", buffer[i]);                //fopen_out--->"fopen_out_bin.jpg",将buffer中的内容送入fopen_out_bin.jpg中
                }
        fclose(fopen_out);
        fclose(fp_out);
        return ;
}

使用特权

评论回复
trucyw| | 2023-3-25 06:57 | 显示全部楼层
Image2Lcd

使用特权

评论回复
二哲科技| | 2023-3-25 09:02 | 显示全部楼层
https://blog.csdn.net/qq_38390060/article/details/108740947
这是我写的一款JPG转HEX的软件,可以参考一下。

使用特权

评论回复
cooldog123pp| | 2023-3-25 18:48 | 显示全部楼层
有的啊,STWIM提供相关软件的吧,具体我忘记了是啥得去看看,百度搜图片转2进制貌似。

使用特权

评论回复
浪子寻仙|  楼主 | 2023-3-27 15:26 | 显示全部楼层
cooldog123pp 发表于 2023-3-25 18:48
有的啊,STWIM提供相关软件的吧,具体我忘记了是啥得去看看,百度搜图片转2进制貌似。 ...

我用的GD32。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

30

帖子

0

粉丝