首页 > 其他分享 >能生成BMP

能生成BMP

时间:2024-12-23 21:54:49浏览次数:2  
标签:info map bmp 生成 BMP ------------- file DWORD

能生成BMP| Id | Title | DateAdded | SourceUrl | PostType | Body | BlogId | Description | DateUpdated | IsMarkdown | EntryName | CreatedTime | IsActive | AutoDesc | AccessPermission |

| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------|
| 16937996| 能生成BMP| 2022-11-30T11:54:00| | BlogPost|

能生成BMP

http://bbs.bccn.net/thread-336164-1-1.html    为何该程序生成的BMP图像打不开??   程序代码:   #include <stdio.h> #include <time.h> #include <stdlib.h> #include <malloc.h> #include <conio.h> #include <pshpack2.h> #include <poppack.h>   typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD;     /*定义位图文件头*/ typedef struct tag_BIT_MAP_FILE_HEADER { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } BIT_MAP_FILE_HEADER;   /*定义信息头*/ typedef struct tagBIT_MAP_INFO_HEADER { DWORD biSize; DWORD biWidth; DWORD biHeight; WORD biPlanes; WORD biBitCount; DWORD biCompression; DWORD biSizeImage; DWORD biXPelsPerMeter; DWORD biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; } BIT_MAP_INFO_HEADER;   /*调色板*/ typedef struct tagRGB { BYTE blue; BYTE green; BYTE red; } RGB;       int main() { RGB *bmp_data = NULL; FILE *bmp_file; long i; long width = 80; long height = 80; long date_size = width*height; BIT_MAP_FILE_HEADER bmp_map_file; BIT_MAP_INFO_HEADER bmp_map_info;   if((bmp_file=fopen("cubs.bmp", "wb+")) == NULL) { printf("Error!\n"); system("pause"); exit(0); } /*写入图位文件头*/ bmp_map_file.bfType = 0x4d42; bmp_map_file.bfSize = 14 + 40 + width * height * 3; bmp_map_file.bfReserved1 = 0; bmp_map_file.bfReserved2 = 0; bmp_map_file.bfOffBits = 0x36; fwrite(&bmp_map_file, sizeof(BIT_MAP_FILE_HEADER), 1, bmp_file);   /*写入信息头*/ bmp_map_info.biSize = 40; bmp_map_info.biPlanes = 1; bmp_map_info.biHeight = height; bmp_map_info.biWidth = width; bmp_map_info.biBitCount = 24; bmp_map_info.biClrImportant = 0; bmp_map_info.biClrUsed = 0; bmp_map_info.biSizeImage = width*height*3; bmp_map_info.biCompression = 0; bmp_map_info.biXPelsPerMeter = 0; bmp_map_info.biYPelsPerMeter = 0; fwrite(&bmp_map_info, sizeof(BIT_MAP_INFO_HEADER), 1, bmp_file);   /*给图像分配内存*/ if((bmp_data=(RGB*)malloc(width * height * 3)) == NULL) { printf("申请内存失败!\n"); exit(0); } /*RGB赋值并写入文件中*/ for(i= 0; i<width*height; i++) { bmp_data[i].green=255; bmp_data[i].red=0; bmp_data[i].blue=0; } fwrite(bmp_data, sizeof(RGB), date_size, bmp_file);   printf("BMP图像生成成功!\n\n\n"); fclose(bmp_file); free(bmp_data); bmp_data = NULL; return 0; }     //============================================================================================   #pragma pack(push) #pragma pack(1)   /*定义位图文件头*/ typedef struct tag_BIT_MAP_FILE_HEADER { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } BIT_MAP_FILE_HEADER;   /*定义信息头*/ typedef struct tagBIT_MAP_INFO_HEADER { DWORD biSize; DWORD biWidth; DWORD biHeight; WORD biPlanes; WORD biBitCount; DWORD biCompression; DWORD biSizeImage; DWORD biXPelsPerMeter; DWORD biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; } BIT_MAP_INFO_HEADER;   /*调色板*/ typedef struct tagRGB { BYTE blue; BYTE green; BYTE red; } RGB;   #pragma pack(pop)   如果你用的是VC,这样改一下再编译就行了 | 648658| | 2022-11-30T11:54:00| false| | 2022-11-30T11:53:31.437| true| 能生成BMP http://bbs.bccn.net/thread-336164-1-1.html 为何该程序生成的BMP图像打不开?? 程序代码: #include <stdio.h> #include <time.h> #include <stdlib.h> #include <malloc.h| Anonymous|

标签:info,map,bmp,生成,BMP,-------------,file,DWORD
From: https://www.cnblogs.com/ralphlauren/p/18621344

相关文章

  • OpenAI 推出嵌入式硬件 SDK,支持 ESP32 语音开发;INFP:音频驱动的双人对话头像生成,自动区
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的......
  • 一键使用 Bash 脚本生成有效期至 2999 年的 SSL 证书并自动部署
    #!/bin/bash#设置变量CA_KEY="cakey.pem"CA_CERT="ca.crt"CA_SERIAL="ca.srl"CLIENT_KEY="client.pri"CLIENT_CSR="client.csr"CLIENT_CERT="client.crt"CACERT_PEM="cacert.pem"OUTPUT_DIR=&q......
  • Office常用文件 转 PDF 生成输出流返回
    asposejar下载不下来,需要修改下载jar包的来源<repositories><repository><id>aspose-maven-repository</id><url>https://releases.aspose.com/java/repo</url><snapshots>......
  • 电影/短剧解说AI神器~!一键去重生成解说视频!
    今天给大家分享一个非常奈斯的工具,这真得是做短剧或者是影视解说赛道兄弟们的福音啊~!废话不多说,赶紧来看看它是咋样的:它是一款集成了深度去重、视频拼接、智能讲解以及自动识别讲解等功能的AI视频处理工具。以下是这些功能的详细介绍:深度去重提供了帧级深度去重功能,能......
  • 电影/短剧解说AI神器~!一键去重生成解说视频!
    今天给大家分享一个非常奈斯的工具,这真得是做短剧或者是影视解说赛道兄弟们的福音啊~!废话不多说,赶紧来看看它是咋样的:它是一款集成了深度去重、视频拼接、智能讲解以及自动识别讲解等功能的AI视频处理工具。以下是这些功能的详细介绍:深度去重提供了帧级深度去重功能,能......
  • 电影/短剧解说AI神器~!一键去重生成解说视频!
    今天给大家分享一个非常奈斯的工具,这真得是做短剧或者是影视解说赛道兄弟们的福音啊~!废话不多说,赶紧来看看它是咋样的:它是一款集成了深度去重、视频拼接、智能讲解以及自动识别讲解等功能的AI视频处理工具。以下是这些功能的详细介绍:深度去重提供了帧级深度去重功能,能......
  • 电影/短剧解说AI神器~!一键去重生成解说视频!
    今天给大家分享一个非常奈斯的工具,这真得是做短剧或者是影视解说赛道兄弟们的福音啊~!废话不多说,赶紧来看看它是咋样的:它是一款集成了深度去重、视频拼接、智能讲解以及自动识别讲解等功能的AI视频处理工具。以下是这些功能的详细介绍:深度去重提供了帧级深度去重功能,能......
  • 电影/短剧解说AI神器~!一键去重生成解说视频!
    今天给大家分享一个非常奈斯的工具,这真得是做短剧或者是影视解说赛道兄弟们的福音啊~!废话不多说,赶紧来看看它是咋样的:它是一款集成了深度去重、视频拼接、智能讲解以及自动识别讲解等功能的AI视频处理工具。以下是这些功能的详细介绍:深度去重提供了帧级深度去重功能,能......
  • core dumped未生成core文件
    目录一、检查并启用核心文件生成二、指定核心文件生成路径三、使用GDB调试核心文件一、检查并启用核心文件生成查看当前核心文件大小限制:使用命令ulimit-c来查看系统允许的核心文件大小。如果返回值为0,则表示不生成核心文件。临时设置无限制的核心文件大小:在当......
  • 从专业视角深入解读生成式人工智能大模型备案
    AI产品商用前必须通过网信办等机构的审批备案,以规范AI发展。备案需区分大模型与算法,重点在于大模型的内容创新性。提交的备案材料应包括安全评估,确保语料来源和内容的安全性。备案流程通常需要4至7个月,选择服务商时需慎重考虑。一、大模型备案定义:大模型备案是大型AI模型在公开......