SetMapmode(dc,MM_Text); //先继承MM_TEXT的属性 SetMapMode(dc,MM_ANISOTROPIC); SetWindowExtEx(dc,rect.Right,rect.Bottom,nil); SetViewportExtex(dc,rect.Right * trckbr1.Position ,rect.Bottom * trckbr1.Position ,nil); 点击查看完整Delphi代码…
<Windows Graphics Programming Win32 GDI and DirectDraw>6.1节中有这样的描述: The Windows NT/2000 graphics engine uses signed fixed-point numbers to represent coordinates, having a 4-bit fraction part and a 28-bit signed integer part. Points with negative coo…
科学经得起实践检验-python3.6通过决策树实战精准准确预测今日大盘走势(含代码) 春有百花秋有月,夏有凉风冬有雪: 若无闲事挂心头,便是人间好时节. --宋.无门慧开 不废话了,以下训练模型数据,采用本人发明的极致800实时指数近期的一些实际数据, 预测采用今日的真实数据 #coding=utf-8 __author__ = 'huangzhi' import math import operator def calcShannonEnt(dataset): numEntries = le…
windows下检验caffe是否配置正确:(注:不考虑搭建caffe的编译环境,而是直接使用caffe官网提供的二进制文件) windows版本源码以及二进制库文件下载地址:https://github.com/BVLC/caffe/tree/windows #encoding: utf-8 import numpy as np;import sys,os;# 注意下面的目录结构,根据自己的实际情况修改即可caffe_root='D:/env/Caffe/caffe/';sys.path.in…
实践是检验真理的唯一标准 要取得屏幕的颜色,首先需要创建一个屏幕DC,然后使用该DC,调用GetPixel就可以了 "Note:GetPixel传入的DC应该是屏幕的DC,而不是桌面的DC,如果使用getDesktopWindow获取handle,然后传入getWindowDc(handle),这样是错误的!而应该使用hdc=CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL)这种方式获得DC" 点击这里看我的Delphi版本代码 点击下…
该程序能够监视Windows剪切板的内容(文字和图片) 其思路是 先调用SetClipBoardViewer(Self.Handle),让Windows剪切板内容发生改变之后,通知本程序: 然后截获WM_DRAWCLIPBOARD消息来查看剪切板里面的内容: 最后关闭程序时调用changeclipboardChain(handle,hwndNextViewer)注销监视剪切板 再处理WM_CHANGECBCHAIN消息来真正撤销 主要代码如下: procedure TForm1.FormCrea…
通过记录键盘和鼠标位置和输入信息,然后模拟发送,就能够创建一个按键精灵! 主要代码如下: library KeyBoardHook; { Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select Project-View Source) USES clause if your DLL exp…
GDI对象在windows中可以描述成为一次绘画操作时可使用的抽象工具.包括(画笔.画刷.字体.区域.调色板.位图等) GDI对象里的对象概念和在编程领域中面向对象编程的对象概念是不一样的! GDI对象更多的偏重于是一个实体,而编程中的对象是一个能提供各种服务抽象概念. 在Windows中可以通过如下方式查看一个进程所拥有的GDI对象总数 1.打开任务管理器. 2.点击查看——选择列 3.选中“GDI对象” 然后再任务管理器中就能够查看了 在Windows中这种Gdi位图就叫做DDB(Devic…
TextOut(hdc,100,100,TEXT(“Love China”),10) 这句GDI函数的作用是在坐标点(100,100)的位置输出一个“Love China”字符串: GDI函数作为硬件设备(显示器,打印机)的接口封装中间层,其传入的参数坐标值(100,100)要在设备上哪个位置显示,是通过GDI映射方式定义的!也就是说: (100,100) ----------------通过方式A映射之后,可以变成---------------->(1,1) (100,100) -------…
GDI:Graphics Device Interface 图形设备接口. 操作系统从命令行界面到图形界面的过度是施乐公司实验室对计算机普及作出的不可估量的贡献,苹果公司乔布斯与微软公司比尔盖茨对其的推广更是举世瞩目.作为该项技术的发明者并没有收获到自己的面包!由此可见:创新并不一定能够在使公司在商场上立于不败之地! 苹果公司从硬件到软件,到销售一体化的服务如今也是取得了万人膜拜的成就,可是在当年失败的恰好是他的封闭.微软公司利用苹果的封闭,与硬件生产商联合起来推出低价的PC,自己专心做软件,一…
在默认情况下,Gdi绘画操作的使用白纸(窗口的客户区)黑字(Pen的颜色)!前面我们已经讲过如何改笔,现在来学习改变白纸(GDI的绘制区域) 正常的纸为一个矩形形状!有时候小孩不小心撕掉纸的一角,不小心被纸中间掏空了,又或者纸被剪成了艺术品,比如: 如果在这样的图片上垂直方向的中央划一根4个像素的黑色的线条讲呈现出下面的效果 黑色的线条被纸分层了若干段,因为白色的部分不是纸! Winodws提供的绘制区域也就是相当于上面提到的纸!其中可用函数的的有 hRgn = CreateRectRgn(xL…
古时候,大师舞文之时需要笔墨纸伺候,不同笔,不同墨,作品风格迥异! 以下是windows提供的笔(带有墨): CreatePen(PS_SOLID,0,clRed);                       直线 CreatePen(PS_DASH,0,clRed);                        ------- CreatePen(PS_DASH,4,clRed);                         ....... CreatePen(PS_DOT,0,clR…
要将文件显示成图片这其中需要经过 1.将磁盘文件内容读取到内存: 2.将文件对应内存里包含的像素为以及像素信息转化为显示驱动器能理解的格式: 3.将转化过后的内存送到显卡的缓存区 4.显示器读取缓存现实于屏幕 在GDI中,WINDOWS不允许用户操作硬件,所以提供了用于显示位图文件到屏幕的API: SetDIBitsToDevice   直接将DIB显示到屏幕上 ( hdc, xDst, yDst,         (xDst,yDst)指定图片左上角的在屏幕上的坐标 cxSrc,       …
“DC: Device content 设备描述表.通常指显示器,或者打印机设备的描述” 如果你不是从事打印机方面的编程,那么就可以将DC简单的理解为显示器的属性表.WINDOWS将内存里面的东西通过显示器展现出来,使用了显示器的绘制(在显示器中间画一条黑色水平1个像素宽的直线)属性,这些属性被WINDOWS装入了一个叫做DC的结构里面!应用程序通过使用DC来绘制自己的窗体. 如何获得DC 1.在处理WM_PAINT消息的时候使用 PAINTSTRUCT ps ; hdc = BeginPain…
对Windows编程新手来说,GDI编程中最困难的部分就是映射模式(Mapping Mode). 什么是映射模式? 我们知道,GDI画图是在设备描述表这个逻辑意义上的显示平面上进行,其使用的是逻辑坐标,简单地说,映射模式就是设备描述表的属性,用于确定从逻辑坐标到设备坐标值的转换方式. Windows支持8中映射模式:MM_TEXT为默认. /* Mapping Modes #define MM_TEXT                 1 #define MM_LOMETRIC        …
EasyPlayer-RTSP windows播放器支持D3D和GDI两种渲染方式,其中D3D支持格式如下: DISPLAY_FORMAT_YV12 DISPLAY_FORMAT_YUY2 DISPLAY_FORMAT_UYVY DISPLAY_FORMAT_A8R8G8B8 DISPLAY_FORMAT_X8R8G8B8 DISPLAY_FORMAT_RGB565 DISPLAY_FORMAT_RGB555 GDI支持格式如下: DISPLAY_FORMAT_RGB24_GDI GDI渲染方式…
高DPI显示器越来越普及,软件自然也要适应这个变化,最近实习的时候也遇到了一个关于DPI缩放的问题.因为内部框架的一个控件有BUG,会导致内容的显示出问题,后来实在没办法改成了用Windows Native API来自己定义字体,但是这一写就出问题了,本来在内部开发机100%放缩下好好的,一跑到我自己的WIN10,在2K屏放上缩放125%就字体就显示不正常了(字体变得过大). Window Vista以后的系统可以直接来个SetProcessDpiAwareness来控制程序的DPI问题,但是这…
设备无关图在windows上面就是一个扩展名为.bmp的文件.我们知道每一种文件都是一个二进制流,只是这个二进制流的开头几个字节是规定了文件的格式..bmp的文件格式如下 “其中信息头是windows3.0版本,扩展板,V4,V5几个版本” windows3.0该图的详细结构如下: 扩展板结构如下: V4: V5 是在V4的基础上增加了 •bv5ProfileData •bv5ProfileSize •bv5Reserved 为了理解清楚请看下图 该图的二进制数据 我们来分析一下…
光电鼠标器是通过红外线或激光检测鼠标器的位移,将位移信号转换为电脉冲信号,再通过程序的处理和转换来控制屏幕上的光标箭头的移动的一种硬件设备. 换句话说,鼠标无时无刻不在监视着人类的活动,当人类用意识去控制鼠标移动时,鼠标就会捕获到人的某种操作(移动鼠标,按键等),捕获之后,立即将消息发送给操作系统,操作系统通过消息分析出鼠标的位置,查找该位置下对应的窗口,然后将消息翻译成windows能理解的消息转发给窗口对应的应用程序! 在默认情况下,windows查找的是鼠标光标下的窗口:但是如果程序调用了…
Windows剪贴板是一种比较简单同时也是开销比较小的IPC(InterProcess Communication,进程间通讯)机制.Windows系统支持剪贴板IPC的基本机制是由系统预留的一块全局共享内存,用来暂存在各进程间进行交换的数据:提供数据的进程创建一个全局内存块,并将要传送的数据移到或复制到该内存块:接受数据的进程(也可以是提供数据的进程本身)获取此内存块的句柄,并完成对该内存块数据的读取. 为使剪贴板的这种IPC机制更加完善和便于使用,需要解决好如下三个问题:提供数据的进程在结束…
WINDOWS的大多数系统并非实时操作系统,所以不能规定计算机在某个精确到纳秒的时间让计算机做某项任务,如果规定了时间WINDOWS也将需要在完成了线程调度后,经行任务执行! 也就是说,如果你的应用程序指定计算机在 8:30:29.365秒执行A程序,那么程序真正执行的时间可能是 8:30:29.369. 8:30:29.378. 8:30:29.421等等,总之是一定大于等于你指定的时间 同理,使用windows的SetTimer函数指定interval(毫秒为单位)时,也不能够精确!Wind…
键盘消息 Windows系统无论何时只有一个窗口(可能是子窗口,也就是控件)能获得焦点. 焦点窗口通过windows消息来响应人的键盘操作,与键盘相关的常用消息罗列如下: WM_KEYDOWN   按下键 WM_KEYUP         松开键 WM_SYSKEYDOWN   按下系统键(Alt) WM_SYSKEYUP         松开系统键 WM_CHAR  按下松开后WINDOWS产生的字符消息  (A B C D ...) WM_SYSCHAR  按下松开后WINDOWS产生的系统…
如果将WINDOWS比做一个人,那么他就是为你提供各种服务的巫师,他手上有各式各样,奇形怪状的奇葩物品.他脑子充满了智慧,能够为你解决你所不能解决的疑难杂症.但是他不认识你! 你从小立志要想考状元,去皇宫当驸马,娶美丽的公主殿下:你悬梁刺股,凿壁偷光,囊萤映雪,闻鸡起舞,奈何榜单上始终找不到你的名字.直到有一天你听说了那个WINDOWS巫师能赐予你智慧,让你梦想成真.于是乎你不远万里,历经艰辛,跋山涉水寻找巫师.终于,皇天不负有心人,如愿在你有身之年见到了巫师的真容,你@#¥%¥%#%……&将你…
"眼睛是人类心灵的窗口,打开窗口,你就能看到整个世界" 在PC时代,计算机的显示屏就是真个世界,WINDOWS将真个世界分解为一个个的窗口,每个窗口有自己的容貌,下面我们将一一揭开她不神秘的面纱: WS_BORDER 创建一个带边框的窗口 WS_CAPTION 创建一个有标题框的窗口(包括WS_BODER风格) WS_OVERLAPPED.WS_TILED 产生一个层叠的窗口.一个层叠的窗口有一个标题条和一个边框. "在老版本的WINDOWS系统中还有平铺的概念也就是TILE…
"我将用C语言作为工具,开始WINDOWS API的使用" windows NT 从底层开始支持unicode. 1.字符类型 WINDOWS的字符类型在WINNT.H和CTYPE.H中有定义: 变量类型\位宽 8位(ASCII) 16位(UNICODE) 模板 变量 char,CHAR wchar_t,WCHAR TCHAR 指针 PCHAR,LPCH,PCH,NPSTR,LPSTR,PSTR PWCHAR,LPWCH,PWCH,NWPSTR,LPWSTR,PWSTR PTCHAR,…
如今,相对于大行其道的对象,服务,API概念的提出要早很多,却依然经久不衰:所谓万变不离其宗,如今很多服务(Web Services,云服务)的提供方式和API如出一辙. Windows API(Application programming inteface )应用程序接口:操作系统平台的与应用程序之间的接口. 平台本身是暗箱操作,而平台必须提供有外部人员利用的接口,外部人员通过使用接口来完成自己的需求.WINDOWS提供的API是为了我们在创建windows平台上的应用程序所必须使用的接口.…
"改革"."革命"."变革" 这几个词语毫无疑问是每一个时代必须被呼吁的词语,当一个国家没有人求变时,那是一个时代的悲剧.无论是文景之治,贞观之治,或是乾康盛世,总有人在求着变:辉煌,荣耀照不亮永久,最多宛如流星能给人带来一丝光亮,之后依旧是黑暗,依旧是变革的期盼. 那一年Bill也在求着变只为要实现"将PC放到每一个办公桌上".他确实做到了,为他的努力致敬,为人类的发展致敬!为全世界做伟大的,结晶智慧最多的产品WINDOW致…
一.前言 近期打算搞搞自动部署,因为是windows服务器,一些工具和系统支持都不是太好.最后发现ansible比较火,最重要的是他支持windows.本文主要就ansible 在windows使用环境搭建过程分享. 二.Ansible简介     ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有…
tagTEXTMETRIC用于定义在window输出文字时字的大小,其结构如下: 我在窗体上写了两句话,来详细解剖该结构(在MM_TEXT模式下输出) tmHeight表示一行文字的高度.改例中值为16,那么两行就应该是32 对于一行数据: 对于中文字符请看: 可以看到上下各一个字符的空虚…
在介绍历史之前,有必要将一个经常使用的词语"标准"解释一下: " 标准是"为了在一定的范围内获得最佳秩序,经协商一致制定并由公认机构批准,共同使用的和重复使用的一种规范性文件." 标准原意为目的,也就是标靶.其后由于标靶本身的特性,衍生出一个"如何与其他事物区别的规则"的意思.会衍生出这个意思也不难理解.标靶是"用来判定技术或成果好不好的根据",标准是另一个说法.将"用来判定技术或成果好不好的根据"…