通过获取窗口句柄,然后获取窗口DC,然后画图

 #include <Windows.h>
#include <stdio.h> //桌面画线
void drawLine()
{
//获取控制台窗口
//HWND hwnd = GetConsoleWindow();
//获取输出
//HDC hdc = GetDC(hwnd);
//获取桌面窗口
HWND hwnd = GetDesktopWindow();
//获取输出
HDC hdc = GetWindowDC(hwnd);
HPEN hpen = CreatePen(PS_SOLID, , RGB(, , ));
SelectObject(hdc, hpen);//选中笔
while ()
{
LineTo(hdc, , );
Sleep();
LineTo(hdc, , );
Sleep();
LineTo(hdc, , );
Sleep();
LineTo(hdc, , );
Sleep();
LineTo(hdc, , );
Sleep();
LineTo(hdc, , );
} system("pause");
} //桌面或者控制台显示图片
void drawPic()
{
//获取控制台窗口
//HWND hwnd = GetConsoleWindow();
//获取输出
//HDC hdc = GetDC(hwnd);
//获取桌面窗口
HWND hwnd = GetDesktopWindow();
//获取输出
HDC hdc = GetWindowDC(hwnd);
HBRUSH brush = CreateSolidBrush(RGB(, , ));
SelectObject(hdc, brush);//选中笔
while ()
{
Rectangle(hdc, , , , );
Sleep();
}
system("pause"); } //桌面输出文字
void drawText()
{
HWND hwnd = GetDesktopWindow();
HDC hdc = GetWindowDC(hwnd);
SetTextColor(hdc, RGB(, , ));
//设置背景
SetBkColor(hdc, RGB(, , )); while ()
{
HFONT hfont, hfontold;
hfont = CreateFontA(
,
,
,
,
FW_REGULAR,
FALSE,
FALSE,
FALSE,
GB2312_CHARSET,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
PROOF_QUALITY,
FIXED_PITCH | FF_MODERN,
"隶书"
); //选择字体
hfontold = SelectObject(hdc, hfont);
//在区域输出文字
/*RECT rctext;
rctext.left = 10;
rctext.top = 10;
rctext.right = 800;
rctext.bottom = 800;
DrawTextA(hdc, "桌面文字输出测试", strlen("桌面文字输出测试"), &rctext, DT_CENTER);*/
TextOutA(hdc, , , "桌面文字输出测试", strlen("桌面文字输出测试"));
SelectObject(hdc, hfontold);
Sleep();
}
} void main()
{
//drawPic();
//drawLine();
drawText();
system("pause");
}
  • 桌面绘图

     #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h> void main()
    {
    HWND hwnd = GetConsoleWindow();
    HDC hdc = GetDC(hwnd);
    //创建兼容DC
    HDC memdc = CreateCompatibleDC();
    //载入位图
    HBITMAP bit = LoadImageA(hwnd, "C:\\Users\\Administrator\\Desktop\\1.bmp", IMAGE_BITMAP, , , LR_LOADFROMFILE | LR_CREATEDIBSECTION);
    //位图有兼容DC绑定
    SelectObject(memdc, bit);
    //兼容DC与hdc绑定
    BitBlt(hdc, , , , , memdc, , , SRCCOPY); system("pause");
    }

117.C语言实现桌面输出图片,桌面输出文字,桌面画线的更多相关文章

  1. 找回误删除的UBUNTU16.04桌面壁纸图片,或把桌面背景图片另存。20170114

    今天遇到一个小问题,之前下载并设置为桌面壁纸的一张图片在整理文件的时候不小心删除了.由于想不起来当时从哪里找到的图,所以就想把当前桌面壁纸重新保存.经网上查询,未见正确的保存方法,故写在此处备忘. 1 ...

  2. LODOP直接用base64码输出图片

    Lodop中的ADD_PRINT_IMAGE,也可以直接输出base64码图片,不用加img标签,如果加了img标签,会被当做超文本对待,受浏览器引擎解析的影响. 什么时候使用base64码直接输出比 ...

  3. 用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)

    javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置.大小.粗度.翻转.平滑等操作 javaCV图像处理之2:实时视频添加图片水 ...

  4. Java给图片和PDF文件添加水印(图片水印和文字水印)

    有时候我们看到的图片或者PDF文件会自动加上水印.分为文字水印和图片水印. ----------------------------图片水印---------------------------- 1 ...

  5. C#调用R语言输出图片

    参考:http://rdotnet.codeplex.com/documentation   REngine.SetEnvironmentVariables(); REngine engine = R ...

  6. C#获取桌面壁纸图片的路径(Desktop Wallpaper)

    原文 C#获取桌面壁纸图片的路径(Desktop Wallpaper) 利用 Windows 的 API 获取桌面壁纸的实际路径,使用的是 SystemParametersInfo 这个API,此AP ...

  7. gnome3 修改桌面背景图片模式

    修改背景图片,可以在 桌面右键 选择"修改壁纸",选择"background"(背景),这里没有设定背景图片模式. 可以在 “应用程序”->"工 ...

  8. 下载远程(第三方服务器)文件、图片,保存到本地(服务器)的方法、保存抓取远程文件、图片 将图片的二进制字节字符串在HTML页面以图片形式输出 asp.net 文件 操作方法

    下载远程(第三方服务器)文件.图片,保存到本地(服务器)的方法.保存抓取远程文件.图片   将一台服务器的文件.图片,保存(下载)到另外一台服务器进行保存的方法: 1 #region 图片下载 2 3 ...

  9. 请求一个action,将图片的二进制字节字符串在视图页面以图片形式输出

    有些时候需要将二进制图片字节在发送浏览器以图片形式显示: 下面是一些示例代码: 控制器: /// <summary> /// 将图片的二进制字节字符串在视图页面以图片形式输出 /// &l ...

随机推荐

  1. 15:Challenge 11(主席树裸题)

    总时间限制:  10000ms 单个测试点时间限制:  1000ms 内存限制:  262144kB 描述 给一个长为N的数列,有M次操作,每次操作是以下两种之一: (1)修改数列中的一个数 (2)求 ...

  2. 客户端本地存储(cookie、web Storage、vuex)选择

    一.cookie .localStorage .sessionStorage .vuex 比较 cookie   4K    有时效性    可服务器传递 cookie是由服务器产生,存储在客户端的一 ...

  3. 【Django】模板系统

    目录 一.变量 二.过滤器 Filters 2. length 3. filesizeformat 4. slice 5. add 6. first.last 7. join 8. truncatec ...

  4. RQNOJ PID496/[IOI1999]花店橱窗布置

    PID496 / [IOI1999]花店橱窗布置 ☆   题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序 编号 ...

  5. Activiti工作流(4):编写一个HelloWorld

    版权声明:本文为博主原创文章,未经博主允许不得转载. 1.使用eclipse的activiti插件画流程图 在resource文件夹下新建一个工作流diagram 右键——new——other...— ...

  6. 三种new

    http://www.cnblogs.com/zhuyf87/archive/2013/03/23/2976714.html 第一种是正常的new,它是语言内建的,不能重载. new operator ...

  7. AVEVA PDMS Text Tool

    AVEVA PDMS Text Tool eryar@163.com 网上有个文字工具插件,可以在PDMS中创建三维的字母.数字,不过不能创建中文.所以开发一个小工具,可以在PDMS中创建任意文字,如 ...

  8. js---07 js预解析,作用域---闭包

    js解析器首先不会逐行读代码,这是第二部了. 首先 根据var找到变量,根据function找函数,找到变量var a = 1,js解析器只会读取等号前面的var a,并把a设置值未定义,并不会读取等 ...

  9. windows 常见环境变量(%AppData%、%TEMP%、%TMP%)

    set 命令查看全部环境变量: %AppData%(应用程序数据).%TEMP%(临时文件夹).%TMP%(临时文件夹) .%LocalAppData%(应用程序本地数据)三个环境变量: C:\Use ...

  10. 58.express安装问题:express不是内部也或者外部的命令解决方案

    转自:https://www.cnblogs.com/zhangym118/p/5842094.html "Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列 ...