注册 登录
编程论坛 C语言论坛

求教大佬,怎么用C语言显示图片啊?

狮子头 发布于 2021-06-02 19:03, 2110 次点击
最好要一个在C语言程序内显示图片的,劳烦大佬了。
3 回复
#2
我善治鬼2021-06-02 21:58
程序代码:


#include <windows.h>    // 需要包含的头文件
#include <stdio.h>

int main()
{
    FILE* file = 0;
    fopen_s(&file, "1.bmp", "r");    // 在这里修改自己的图片名字, 图片文件放在项目目录, 只能显示bmp格式图片
    if (!file) return 0;
    fseek(file, 0, SEEK_END);
    int size = ftell(file);
    LPBITMAPINFOHEADER bi = (LPBITMAPINFOHEADER)malloc(size);
    if (!bi) return 0;
    fseek(file, sizeof(BITMAPFILEHEADER), SEEK_SET);
    fread(bi, 1, size, file);
    char Title[255] = { 0 };
    GetConsoleTitleA(Title, 255);
    HDC dc = GetDC(FindWindowA(0, Title));
    SetConsoleTitleA("控制台显示图片");
    do SetDIBitsToDevice(dc, 100, 0, bi->biWidth, bi->biHeight, 0, -0, 0, bi->biHeight, bi + 1, (LPBITMAPINFO)bi, 0);
    while (printf("%c", getchar()));
    return 0;
}


#3
ml2325282021-06-03 14:51
1、读文件到内存
2、用libjpeg-turbo解码
3、用系统函数显示bmp图片(windwos下搜索hdc显示图片)。
#4
狮子头2021-06-04 20:41
回复 2楼 我善治鬼
请问, 这个应该用什么编译器啊?我用Dev-c++编译报错,显示【error】id returned 1exitstatus。谢谢大佬。
1