草庐IT

绘制图形

全部标签

c++ - 如何使用 GDI 绘制透明文本?

我的目标是动态地将一些任意文本放入HICON图像(在运行时)。我正在使用以下代码://Errorchecksareomittedforbrevity//FirstcreatefontLOGFONTlf={0};lf.lfHeight=-58;lf.lfWeight=FW_NORMAL;lf.lfOutPrecision=OUT_TT_PRECIS;//UseTrueTypefontsforanti-alliasinglf.lfQuality=CLEARTYPE_QUALITY;lstrcpy(lf.lfFaceName,L"SegoeUI");HFONThFont=::CreateFo

wpf - 更换桌面墙纸/在桌面上绘制

我想在我的Windows桌面上做一些自定义绘图,这样它就可以替换桌面背景(墙纸)。我的第一个尝试是为desktopListView获取一个DC并绘制它:IntPtrdesktopDC=GetWindowDC(desktopListView);Graphicsg=Graphics.FromHwnd(desktopDC);//然后我尝试创建一个NativeWindow并通过将native窗口的句柄分配给桌面并绘制我自己的绘图来捕获WM_PAINT消息,但是我无法在桌面上看到任何消息。理想情况下,我想在WPF中而不是在Windows窗体中执行此操作。有什么线索可以创建一个WPF窗口,我可以在

windows - 绘制自定义 Windows 控件时出现问题

我正在尝试使用Windows中的uxTheme库绘制我自己的自定义控件,但我无法弄清楚为什么我的控件看起来不像(据说)使用与我相同主题的常规Windows控件'我使用:上图显示了一个标准的WindowsComboBox(顶部)和我使用ComboBox主题绘制的自定义控件(底部)。我无法弄清楚为什么我的控件的边框与标准控件的形状和颜色不同。在我的类构造函数中,我打开主题数据:mComboTheme=OpenThemeData(hwnd,L"COMBOBOX");然后在WM_PAINT的处理程序中,我只绘制了ComboBox组件的两个部分:caseWM_PAINT:{PAINTSTRUCT

c++ - 在现有图形应用程序上绘制 DirectX/OpenGL 图形

首先,如果这个问题已经得到解答,让我马上道歉,因为我可能只是在不规则的搜索条件下搜索它。我希望在使用DirectX绘制自己的图形(游戏)的应用程序中绘制2D图形。我将通过将DLL注入(inject)应用程序(我对此没有疑问,我可以做到)并绘制我的图形来做到这一点。但我不太擅长DirectX/OpenGL,所以我有几个基本问​​题要问。1)为了在该窗口上绘制图形,我是否需要从进程内存中获取预先存在的上下文,某种绘制场景的句柄?2)如果应用程序使用DirectX,我可以在上面使用OpenGL图形吗?请告诉我如何解决这个问题。任何细节将不胜感激:-)提前谢谢你。

【点云处理技术之open3d】第四篇:使用open3d绘制常用类型——箭头、圆柱、长方体、球形、箭头、坐标轴和线条

文章目录1.绘制圆锥2.绘制圆柱3.绘制长方体4.绘制球形5.绘制箭头6.绘制坐标轴7.绘制多边形和顶点8.一次绘制多个类型1.绘制圆锥用o3d.geometry.TriangleMesh.create_cone来绘制圆锥,radius控制其半径,height控制其高度importopen3daso3dcone=o3d.geometry.TriangleMesh.create_cone(radius=1.0,height=2.0,resolution=20,split=1)cone.compute_vertex_normals()cone.paint_uniform_color([0,1,0]

c# - 如何在 RichTextBox 中的单词周围绘制边框?

假设我有2个TextPointer。一个指向单词的开头,另一个指向单词的结尾。我想在单词周围绘制单像素边框。我该怎么做?边框应该与单词相关联,并在用户键入或滚动时随之移动。我已经用DrawingBrush尝试了TextDecorations,但无法想出任何可用的方法。 最佳答案 我做过类似的事情,只是在TextBox中给文本加下划线。校长似乎基本相同。添加一个包含RichTextBox但位于ScrollViewer内的AdornerDecorator。创建一个Adorner来渲染矩形并将其添加到AdornerLayervoidHos

c# - 如何在 Windows 窗体应用程序中显示矢量图形 (SVG)?

有没有办法(最好是控件)在Windows窗体应用程序中显示矢量图形(最好是SVG)?我猜这很容易用WPF来做,但我宁愿不必迁移项目。 最佳答案 GDI+Graphics类可以处理矢量图形。对于SVG,您可以尝试将其加载到WebBrowsercontrol中... 关于c#-如何在Windows窗体应用程序中显示矢量图形(SVG)?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3

c# - 如何判断进程是否具有图形界面?

我正在使用自动化来测试应用程序,但有时我想通过批处理文件启动应用程序。当我运行“process.WaitForInputIdle(100)”时出现错误:“WaitForInputIdle失败。这可能是因为进程没有图形界面。”如何判断进程是否有图形界面? 最佳答案 参见Environment.UserInteractive.这将确定进程是否有接口(interface),例如服务不是用户交互的。您还可以查看Process.MainWindowHandle它会告诉你是否有图形界面。这两项检查的组合应涵盖所有可能性。

c# - 在 Windows Vista/7 Aero 标题栏上绘制自定义按钮

我在StackOverflow上发现了这个问题.基本上,用户想在标题栏上绘制自定义按钮。我尝试了代码并意识到只有在Aero被禁用时它才能在vista/7中工作。我的问题是,aero启用时,是否有任何方法可以在标题栏上绘制自定义按钮?此外,是否有任何方法可以从当前主题中读取信息,以便我可以设计我的按钮以匹配已经存在的按钮。更新这是我的电脑截图,展示了上述概念。安装DisplayFusion后,我得到了额外的标题栏按钮。而且我知道DisplayFusion是一个.NET程序,因为它在.NETReflector中打开。不利的一面是程序被混淆了。不像我想反编译程序或任何东西;我只想在我的标题栏

c# - GDI+ 在基线上绘制不同大小的文本存在 off-by-1px 问题

我需要打印数字,通过增加字体大小和粗细来强调中间的一些数字。在下面的示例中,强调了456。使用的字体和两种大小是用户可配置的。当前代码使用对Graphics.DrawString(...)的三个调用来完成此操作。我遇到的问题是,对于大多数字体,我看到偏移1像素的问题(相对于灰线,456比其他数字高一个像素):我在帖子底部附上了一些针对各种字体的调试转储(BobPowell公式)。其他技术产生了类似的结果。为了在公共(public)基线上打印文本,需要计算特定字体的基线偏移量。我尝试使用三种技术:首先是MSDN的代码:http://msdn.microsoft.com/en-us/lib