在dos下实现图形图像编程(非Graphics.h)和其他第三方库

来源:互联网 发布:数据科学家云上工作室 编辑:程序博客网 时间:2024/05/18 00:35

         看到这个标题,很多的朋友都来问我,dos是不支持图像的怎么可能实现图形图像?其实我这个图形图像是针对windows平台下的,并不是真正的ms-dos操作系统。众所周知:在windows下有个命令提示符,是8086的一个dos虚拟机。但它本身也是一个windows的程序,所以我们可以对它的窗口进行操作。

        好了,废话不多说。先给大家来张图窗口这么大是用dos命令调的。其实对于它的操作和GDI绘图是一模一样的。只是多了获取句柄这一句。在wincon.h文件里有一个函数就可以专门来获取dos窗口的句柄extern "C" WINBASEAPI HWND WINAPI GetConsoleWindow ()然后就和GDI绘图一样了。不多说了直接贴源码。

#include <stdio.h>#include <conio.h>#include <stdlib.h>extern "C" WINBASEAPI HWND WINAPI GetConsoleWindow ();/*不知是我的vs2008抽风了还是怎么的,一直报错说这个函数未定义,我就又给它声明了下*/int main(){system("color f0");system("mode con cols=30 lines=10");HWND   hwnd;HDC    hdc;HDC    hmdc;hwnd = GetConsoleWindow();hdc = GetDC(hwnd);HBITMAP bmp=(HBITMAP)LoadImage(NULL,L"d:\\1.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE) ;hmdc=CreateCompatibleDC(hdc);SelectObject(hmdc,bmp);DeleteObject(bmp);while (1){BitBlt(hdc,0,0,240,160,hmdc,0,0,SRCCOPY);if(getch())break;}DeleteObject(hmdc);                ReleaseDC(hwnd,hdc);return 0;}


 

原创粉丝点击