DOS下显示JPG/JPEG图像文件

本文介绍如何使用eCGUI在DOS环境下显示JPEG格式图片,并提供了完整的代码示例,包括图片加载、显示以及作为桌面背景的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用 eCGUI 0.3 for DOS-16bit (Borland C)
可以从 http://www.ecgui.com/bbs 下载。

/*
Jpeg - JPG图像显示,及桌面背景的更换
Website: www.ecgui.com
E-mail:ecgui.com@ecgui.com
*/
#include "gui.h" /* GUI 的头文件 */

void MyJPG(HAND hd,MESSAGE msg)
{
if(msg.type == GM_SYSTEM) /* 判断消息类型,消息类型全部为大写  */
switch(msg.message)      /* 判断消息 */
{
case GM_Draw:
         {
         HDC hdc;
         IMAGE img;/* Image 图像结构 */
         hdc=efGDI->Start(msg.pHOST);/* 获得  HDC 绘图句柄,开始绘图 */
         img.filename="logo.jpg"; /* 图像文件名 */
         img.type=IMAGE_TYPE_JPG;/* 文件类型*/
         img.hdc=hdc;/* 绘图句柄 */
         efImage->Load(&img);/* 初步读图像信息 */
         efImage->Show(&img,0,0);/* 显示图像 */
         efGDI->End(msg.pHOST,hdc); /* 释放 HDC 绘图句柄 */
         }
         return;
default:break;
}

}

void imgjpg_init(void); /*函数声明: 注册JPEG图像函数支持*/
HDC StartDesktopDraw(void); /* 函数声明:获得 桌面 HDC 绘图句柄,开始绘图 */
void EndDesktopDraw(HDC); /*函数声明: 释放桌面 HDC 绘图句柄 */

int gmain(void *data) /* GUI程序 的入口函数 */
{

        imgjpg_init();/* *注册JPEG图像函数支持*/
        {
        HDC hdc;/* HDC 绘图句柄 */
        IMAGE img; /* Image 图像结构 */
        hdc=StartDesktopDraw();/* 获得 桌面 HDC 绘图句柄,开始绘图 */
        img.filename="alizee.jpg"; /* 图像文件名 */
        img.type=IMAGE_TYPE_JPG; /* 文件类型*/
        img.hdc=hdc; /* 绘图句柄 */
        efImage->Load(&img); /* 初步读图信息 */
        efImage->Show(&img,0,0); /* 显示图像 */
        EndDesktopDraw(hdc); /* 释放桌面 HDC 绘图句柄 */
        }
        /* 创建一个主窗口 */
        CreatObject(0,MAINWINDOW,1,1,"JEPG Picture - Power by eCGUI-www.ecgui.com",5,10,510,570,MyJPG,data);
        return True;
}
/* ************** End of file **************** */

;编译
bcc -mh jpeg.c lib/gui.lib lib/libjpeg.lib
;最好再使用upx.exe 压缩一下,在开发包的_up 目录中有upx.exe
_up/upx -5 jpeg.exe

运行结果
Click here to open new window


eCGUI-微型嵌入式GUI/ DOS/Linux/uC/OS-II/等 图形界面开发
www.ecgui.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值