草庐IT

ctype_alpha

全部标签

windows - HDC 是否使用 alpha channel ?

有什么方法可以确定HDC是否使用alphachannel?我读了Question333559和Question685684,但他们的问题是关于BITMAP的。显然,某些HDC具有alphachannel(尽管他们可能不使用它。称其为“类型1”),而其他HDC则没有(“类型2”)。我通过执行以下操作知道这一点:给定一个HDC,创建一个兼容的DC,并创建一个DIB部分。选择创建的HBITMAP到兼容的DC中。将源HDCBitBlt到兼容的DC。现在检查DIB部分位。对于2型HDC,每3个字节后有一个字节始终为0(如2552552550);对于类型1,这些字节通常为255(如25024023

.net - WPF 控件和 SystemColors - Alpha 混合?

据我所知,一个在VS2013中构建的简单WPF应用似乎为各种UI元素使用SystemColors。例如,当鼠标悬停在选项卡控件中未选中的选项卡上时,该选项卡似乎采用MenuHighlight系统颜色,但是应用了alpha混合。如果我使用新的模板/触发器/等重新设置控件的样式,我如何像窗口上的其他控件一样为其行为着色?我可以获得系统颜色,但不会显示使用的任何alpha级别。我错了吗?如何在不对任何值进行硬编码的情况下实现拥有标准机器一致外观的目标?更新:我做了一些挖掘,这是我为自己找到的。该图在顶部显示了处于悬停模式的标准WPFMenuItem,然后是选择的SystemColors等,最

python - 如何使用 Python 和 ctypes 在 Windows 上读取或写入 as h r i 文件属性?

备案:a表示“可归档”s表示“系统”h表示“隐藏”r表示“只读”i表示“可索引”我当前从Python脚本读取/写入这些属性的解决方案是使用subprocess调用attrib模块。Python代码:importos,subprocessdefattrib(path,a=None,s=None,h=None,r=None,i=None):attrs=[]ifr==True:attrs.append('+R')elifr==False:attrs.append('-R')ifa==True:attrs.append('+A')elifa==False:attrs.append('-A')i

Python ctypes 无法在结构中传递内存数组

Python2.7.8,Windows7,PhytonUSB程序员的DLL我被Data元素困住了,它应该是一个大内存数组,我尝试使用几种不同的定义,但我无法理解这些错误试图告诉我什么。我遇到的大多数错误都是类型错误,下面这段代码是我最接近的,它似乎是在调用函数,但由于错误而没有处理。CAPI:typedefstructtagACI_Memory_Params{UINTSize;//(in)Sizeofstructure,inbytesUINTBufferNumber;//(in)Numberofbufferofinterest,thefirstbuffernumberis0UINTLa

c++ - 带有 alpha channel 的闪烁子窗口

当绘制包含带逐像素alphachannel的位图的子控件时,每当需要重新绘制它们时,我们会遇到很多闪烁。实际混合工作正常。我找到了很多关于减少闪烁的信息(例如thisquestion或thissite),但我似乎找不到任何专门适用于这种情况的信息。例如,我有一个带有几个不同位图的按钮,这些位图根据按钮的状态进行了alpha混合并blit到窗口。当它们的状态发生变化并且我需要绘制不同的位图时,我需要先重新绘制背景,否则它会与前一个状态位图遗留下来的像素混合。这就是我出现闪烁的地方,偶尔会有一些背景撕裂。让顶层父窗口绘制位图背景而不是纯色,以及子控件重叠的可能性,使问题变得更加复杂;仅仅将

python - 使用 CTypes 时检测从 Windows DLL 调用 Python 脚本

我正在寻求在Windowsdll中添加功能以检测调用Python脚本的名称。我正在使用ctypes通过Python调用dll,如HowcanIcallaDLLfromascriptinglanguage?的答案中所述在dll中,我能够使用WINAPIGetModuleFileName()成功确定调用进程http://msdn.microsoft.com/en-us/library/windows/desktop/ms683197(v=vs.85).aspx.但是,由于这是一个Python脚本,它通过Python可执行文件运行,因此返回的模块文件名为“C:/Python33/Python

python - 从 ctypes windll 获取错误信息

我正在尝试使用Python脚本更改Windows7计算机上的墙纸。如果重要的话,我会从node-webkit应用程序调用脚本。缩短后的脚本如下所示:#...result=ctypes.windll.user32.SystemParametersInfoA(20,0,path,0)通常,它会起作用,但有时,似乎是随机的,它却不起作用。除了状态代码(0或1)之外,我有什么方法可以检索有关错误的更多信息?我一直在尝试使用GetLastError,它有时会在ctypes库中被提及,但无法提取任何错误信息。 最佳答案 ctypes文档建议使用

Python 3.5 ctypes libc printf() 仅打印字符串的第一个字节 Windows 7/10

我正在尝试遵循GrayHatPython示例之一,它在Python2.7中运行良好,但在Python3.5中结果被截断。fromctypesimport*msvcrt=cdll.msvcrtmessage_string="HelloWorld!\n"msvcrt.printf("Testing:%s\n",message_string)您可以在下面看到上面代码的输出只是字母T。基于一些与此类似的其他帖子,在最后一行添加b会有所帮助,但随后message_string会被截断。fromctypesimport*msvcrt=cdll.msvcrtmessage_string="Hello

r - 启动期间 - 警告消息 : Setting LC_CTYPE= failed on Windows

升级Windows10后,每当我启动Rstudio时,我都会收到以下警告消息。启动期间-警告消息:设置LC_CTYPE=失败我目前正在运行MicrosoftROpen版本。有什么方法可以修复此警告消息,我在stackoverflow上找到了一些适用于Mac而不是适用于Windows的解决方案。 最佳答案 我发现针对该问题的最佳解决方法是设置一个.Renviron文件并覆盖那里的语言环境。如何设置和修改.Renviron文件在打开的书的相关章节中有描述EfficientRProgramming.因此,只需要复制这些行user_renv

windows - 在 python 上使用 ctypes 不显示多个消息框

您好,我有一个简单的代码,使用ctypes显示消息框但我的问题是在我添加MB_TOPMOST后它没有附加或重叠消息框?defmsgbox(self,msg):MB_OK=0x0MB_OKCXL=0x01MB_YESNOCXL=0x03MB_YESNO=0x04MB_HELP=0x4000ICON_EXLAIM=0x30ICON_INFO=0x40ICON_STOP=0x10MB_TOPMOST=0x40000"""HEXVALUELINKhttps://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm"""writeLogs=