117.C语言实现桌面输出图片,桌面输出文字,桌面画线
通过获取窗口句柄,然后获取窗口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语言实现桌面输出图片,桌面输出文字,桌面画线的更多相关文章
- 找回误删除的UBUNTU16.04桌面壁纸图片,或把桌面背景图片另存。20170114
今天遇到一个小问题,之前下载并设置为桌面壁纸的一张图片在整理文件的时候不小心删除了.由于想不起来当时从哪里找到的图,所以就想把当前桌面壁纸重新保存.经网上查询,未见正确的保存方法,故写在此处备忘. 1 ...
- LODOP直接用base64码输出图片
Lodop中的ADD_PRINT_IMAGE,也可以直接输出base64码图片,不用加img标签,如果加了img标签,会被当做超文本对待,受浏览器引擎解析的影响. 什么时候使用base64码直接输出比 ...
- 用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)
javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置.大小.粗度.翻转.平滑等操作 javaCV图像处理之2:实时视频添加图片水 ...
- Java给图片和PDF文件添加水印(图片水印和文字水印)
有时候我们看到的图片或者PDF文件会自动加上水印.分为文字水印和图片水印. ----------------------------图片水印---------------------------- 1 ...
- C#调用R语言输出图片
参考:http://rdotnet.codeplex.com/documentation REngine.SetEnvironmentVariables(); REngine engine = R ...
- C#获取桌面壁纸图片的路径(Desktop Wallpaper)
原文 C#获取桌面壁纸图片的路径(Desktop Wallpaper) 利用 Windows 的 API 获取桌面壁纸的实际路径,使用的是 SystemParametersInfo 这个API,此AP ...
- gnome3 修改桌面背景图片模式
修改背景图片,可以在 桌面右键 选择"修改壁纸",选择"background"(背景),这里没有设定背景图片模式. 可以在 “应用程序”->"工 ...
- 下载远程(第三方服务器)文件、图片,保存到本地(服务器)的方法、保存抓取远程文件、图片 将图片的二进制字节字符串在HTML页面以图片形式输出 asp.net 文件 操作方法
下载远程(第三方服务器)文件.图片,保存到本地(服务器)的方法.保存抓取远程文件.图片 将一台服务器的文件.图片,保存(下载)到另外一台服务器进行保存的方法: 1 #region 图片下载 2 3 ...
- 请求一个action,将图片的二进制字节字符串在视图页面以图片形式输出
有些时候需要将二进制图片字节在发送浏览器以图片形式显示: 下面是一些示例代码: 控制器: /// <summary> /// 将图片的二进制字节字符串在视图页面以图片形式输出 /// &l ...
随机推荐
- 图解RHEL6从安装光盘中进行yum安装
图解RHEL6从安装光盘中进行yum安装 导读:我们这里讲的Yum,是Yellow dog Updater, Modified的缩写,可执行程序名为yum,它的理念是使用一个中心仓库(reposito ...
- 开源计算机集群监控Ganglia应用视频
Ganglia源于Berkeley发起的一个开源集群监视项目,设计用于监测数上千节点的计算机集群.它包含gmond.gmetad以及一个Web前端.可以用来监控系统处理器 .内存.硬盘 I/O.网络流 ...
- Python(九) Python的高级语法与用法
本章节我们揭开Python进阶部分的高级特性,详细讲解枚举.闭包,并对函数式编程做出介绍 一. 枚举其实是一个类 from enum import Enum #枚举类 class VIP(Enum): ...
- 服务器无法远程管理客户端”计算机配置"解决方法
1.确认是否可ping 通 如无法ping通, 在入门规则中找到“文件和打印机共享(回显请求-ICMPv4-In)”,设定为启用(配置文件为:域) 2. 打开139端口 1.2在防火墙中设置如下:
- 通过不修改arc.archives.class.php而保留原有样式调上一篇下
今天织梦58站长分享一个织梦内容页上下篇的调用方法,估计在大家在仿站的过程中,经常会碰到原站的上下篇很美观,比如如图类似的这种:或,但是用织梦原有调用上下篇的标签来调用,总达不到我们想要的效果,找不到 ...
- 最近遇到的若干Web前端问题:disable和readonly,JqueryEasyUI,KindEditor
最近项目中用到了Jquery Easyui和KindEditor等框架组件,问题真不少啊~ 一些看起来很简单理所当然的事情,竟然花费了不少时间,才解决好~ 1.readonly和disable的区 ...
- Swift学习笔记(5)--数组
数组的下标从0开始计数,相关方法属性涉及到下标时也从0开始计数 1.定义: //1.可变数组 var cityArray = ["Portland","San Franc ...
- 彻底解决Linux索引节点(inode)占用率高的告警
今天邮箱里发现有一封某服务器inode使用率发生告警的邮件 登录到服务器上df -i查看,发现/路径下91%,磁盘使用率却不高,猜测可能是某个目录下的小文件过多,进而造成inode占用率过高,但不清楚 ...
- Linux下ping命令、traceroute命令、tracert命令的使用
Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”. ...
- OpenCV —— 写入AVI视频文件
打开视频文件,对每一帧进行极坐标变换,然后将转换生成的图像序列写入视频文件中 #include "cv.h" #include "highgui.h" int ...