Windows DPI 设置影响 Graphics.DrawString

2024-01-02

我已经创建了一个新的 Bitmap 对象,现在想要使用 GDI+ 向其绘制一些文本。 所以我调用 Graphics.DrawString(...)。

问题是字符串的大小取决于 Windows 7 的 DPI 设置。 有什么方法可以使我的文本绘制独立于 Windows 设置吗?

PS:DPI 设置似乎只影响文本。例如,在更改 DPI 时,矩形的大小相同......


刚刚自己找到了解决方案: 关键是用参数GraphicsUnit.Pixel创建字体。这样,绘制字符串就可以独立于系统的 DPI 设置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows DPI 设置影响 Graphics.DrawString 的相关文章

  • 从实体获取单列

    如何从查询中获取单个列而不是整个对象 我可以这样做来获取整个对象 但我想要的只是名称 IList
  • 在 Web 浏览器中禁用 F5 [重复]

    这个问题在这里已经有答案了 可能的重复 禁用浏览器的后退按钮 https stackoverflow com questions 961188 disable browsers back button 如何禁用浏览器上的 F5 刷新 htt
  • 从 Invoke 方法获取 RETURN

    我正在尝试从另一个线程上的列表框项目中读取值 我尝试创建一种新方法来运行调用命令 我可以设法将命令发送到列表框 例如通过调用方法添加 但我似乎无法得到响应 我似乎无法获取该项目的值 我尝试了几种方法 一旦我将它从空变为字符串 事情就开始变得
  • libtool 在 Ubuntu 13.04 上构建 thrift 0.9.1 时出错

    在 Ubuntu 13 04 上构建 thrift 0 9 1 支持 C C java C perl python 时出现此错误 configure 不带任何选项运行 make 不带任何选项运行 Making all in test mak
  • 关闭整数的最右边设置位

    我只需要关闭最右边的设置位即可 我的方法是找到最右边位的位置 然后离开该位 我编写这段代码是为了这样做 int POS int n int p 0 while n if n 2 0 p else break n n 2 return p i
  • 判断串口是普通COM还是SPP

    我正在寻找一种方法来确定 COM 是标准 COM 还是 SPP COM 也称为 COM 设备的电缆替换蓝牙适配器 我有一个可以在 USB COM gt USB 和蓝牙下工作的设备 并且蓝牙接口可以与 SPP 一起工作 我目前正在使用Syst
  • C 类型命名约定,_t 或 ALLCAPS

    我一直想知道是否有任何命名约定 例如何时对类型使用全部大写以及何时追加 t 什么时候不使用任何东西 我知道当时 K R 发布了各种有关如何使用 C 的文档 但我找不到任何相关内容 在 C 标准库类型中 t看起来漂亮占主导地位 time t
  • 无法获取本地或参数的值,因为它在此指令指针处不可用,可能是因为它已被优化掉

    Visual Studio 2010 会删除 没有其他词 不安全块中函数参数之一中的数据 什么可能导致此错误 调试器显示以下消息 Cannot obtain value of local or argument as it is not a
  • 如何设置消息队列的所有者?

    System Messaging MessageQueue 类不提供设置队列所有权的方法 如何以编程方式设置 MSMQ 消息队列的所有者 简短的答案是 p invoke 对 windows api 函数的调用MQSetQueueSecuri
  • 如何在新窗口中打开图像或pdf文件?

    我有一个 gridview 它包含文件名和文件路径 图像和 pdf 格式文件 其中我使用了模板字段 在该字段下放置了 1 个图像按钮 单击该图像按钮 即 查看 按钮 时 我想在新窗口中打开所选文件 这是我的代码 protected void
  • MSChart 控件中的自定义 X/Y 网格线

    我有一个带有简单 2D 折线图的 C Windows 窗体 我想向其中添加自定义 X 或 Y 轴标记 并绘制自定义网格线 例如 以突出显示的颜色 虚线 我查看了 customLabels 属性 但这似乎覆盖了我仍然想显示的默认网格 这是为了
  • C 与 C++ 中的 JNI 调用不同?

    所以我有以下使用 Java 本机接口的 C 代码 但是我想将其转换为 C 但不知道如何转换 include
  • 在 C++ 代码 gdb 中回溯指针

    我在运行 C 应用程序时遇到段错误 在 gdb 中 它显示我的一个指针位置已损坏 但我在应用程序期间创建了 10 万个这样的对象指针 我怎样才能看到导致崩溃的一个 我可以在 bt 命令中执行任何操作来查看该指针的生命周期吗 谢谢 鲁奇 据我
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 在 Qt 中播放通知(频率 x)声音 - 最简单的方法?

    Qt 5 1 或更高版本 我需要播放频率为 x 的通知声音 n 毫秒 如果我能像这样组合音调那就太好了 1000Hz 持续 2 秒 然后 3000Hz 持续 1 秒 最简单的方法是使用文件 WAV MP3 例如如此处所述 如何用Qt播放声音
  • 与 Entity Framework Core 2.0 的一对零关系

    我正在使用 C 和 NET Framework 4 7 将 Entity Framework 6 1 3 Code First 库迁移到 Entity Framework Core 我一直在用 Google 搜索 Entity Framew
  • 使用 boost 异步发送和接收自定义数据包?

    我正在尝试使用 boost 异步发送和接收自定义数据包 根据我当前的实现 我有一些问题 tcpclient cpp include tcpclient h include
  • 在 C 中使用 #define 没有任何价值

    If a define没有任何价值地使用 例如 define COMMAND SPI 默认值是0吗 不 它的评估结果为零 从字面上看 该符号被替换为空 然而 一旦你有了 define FOO 预处理器条件 ifdef FOO现在将是真的 另
  • 运行 xunit 测试时无法将输出打印到控制台窗口

    public class test2InAnotherProject private readonly ITestOutputHelper output public test2InAnotherProject ITestOutputHel
  • 如何在 Razor 编辑视图中显示选中的单选按钮 Asp net core mvc

    尽管 Razor 视图中的 Asp 网络核心代码 model List

随机推荐

  • Ruby - 按属性降序对对象数组进行排序

    我有这个 Json 对象数组 students id 1 first name John last name Doe age 14 id 2 first name Victoria last name Secret age 9 id 3 f
  • 在android中动态添加选项卡

    在我的应用程序中 我想通过单击按钮动态添加选项卡 我该如何添加 其余的 GUI 应与原来相同 仅应添加选项卡 这是 xml 文件
  • 为什么在映射定义中需要转义 bar Ex 命令分隔符,但在 Vim 的命令行中不需要转义?

    我不明白为什么以下命令会做不同的事情 粘贴在 vimrc文件中 这两个命令都定义了通过按触发的映射的两个版本t在普通模式下 nnoremap t call search m a b W
  • 使用 Python 在 LibreOffice 中创建流程图

    关于如何使用 Python 控制 LibreOffice 文本文档和电子表格的示例有很多 但关于如何使用绘图程序的文档却很少 我试图弄清楚如何使用 Python 在 LibreOffice 中绘制流程图或至少某些形状 我使用的是 Windo
  • 如何在ES6类中定义类级别常量[重复]

    这个问题在这里已经有答案了 我们如何定义类级常量并在静态方法和实例方法中访问它 class ExternalRequests const HEADERS Accept application json text plain Content
  • 如何使用 Selenium Webdriver 从鼠标悬停弹出元素获取文本[重复]

    这个问题在这里已经有答案了 我正在尝试从电子邮件字段获取登录页面上鼠标悬停的文本 这是网站 https app involve me login ga 2 49216998 1374332121 1660294616 36640509 16
  • 如何在 Git 中将某些文件推送到 origin/master ?

    我对 Git 有点陌生 我想将一些文件推送到我的 Git 源 远程 我做了什么 我有我的主人 我创建了一个分支来做一些工作 之后我将我的分支合并到我的主人 在我的工作期间 大量的二进制文件和项目文件在本地进行了更改 添加 我想only to
  • 单元测试 Maven Mojo - 组件和参数为空

    根据文档和邮件线程 我看到了 3 种将 Maven 项目注入到我的 mojo 中的方法 Project instance parameter default value project required readonly private M
  • 基于元素文本的 Selenium xpath 选择器

    对于以下 HTML Selenium xpath 选择器是什么 ul li First li li Second li li Third li ul 我需要让 Selenium IDE 根据元素文本找到列表中的第二项 我想 li Secon
  • 同一模型的多个关联

    我有两个类 我想指定如下 class Club lt ActiveRecord Base belongs to president class name gt Person foreign key gt president id belon
  • 将 PyQt 转换为 PIL 图像

    我在 QImage 中有一个图像 我想在显示它之前在 PIL 中处理它 虽然 ImageQT 类允许我将 PIL 图像转换为 QImage 但似乎没有任何东西可以从 QImage 转换为 PIL 图像 我使用以下代码将其从 QImage 转
  • 在 Django 中加载静态文件

    我尝试了大约 2 个小时来找出为什么我的 django 静态文件没有加载 这是我在 settings py 中的静态文件配置 STATIC URL static MEDIA URL media STATICFILES DIRS os pat
  • 如何将 Angular 组件完全加载到 iframe 中?

    我正在尝试将一个复杂的组件加载到 iframe 称为其他组件的组件 我已经使用它来加载它ComponentFactoryResolver但没有任何风格 来自这个主题 我们如何将角度组件的样式加载到 iframe 中 https stacko
  • MongoDB 文本索引错误:不支持语言覆盖

    我使用的是2 6 1版本 我正在尝试创建文本索引 但出现错误 connectionId 4932 err language override unsupported en US code 17262 n 0 ok 1 正在搜索的文档有一个值
  • 合并 k 个排序链表 - 分析

    我正在考虑针对一个问题的不同解决方案 假设我们有 K 个已排序的链表 并且我们将它们合并为一个 所有这些列表总共有 N 个元素 众所周知的解决方案是使用优先级队列并从每个列表中弹出 推送第一个元素 我可以理解为什么它需要O N log K
  • Python在for循环中创建对象

    我有一个类来分配一些参数 class body def init self name number L self name name self number number self L L 我想将这些参数分配给 10 个几乎相等的物体 例如
  • Clojure 从 zipmap 中获得最高价值

    所以我在这里得到了我建议的邮政地图 它工作得很好 正如你所看到的 我已经加载了数据 这就是 repl 中的样子 非常完美 这是地图 Year 2020 Day 27 January 59 February 38 Year 2020 Day
  • SSIS Foreach 循环文件夹作为变量

    我需要将 Foreach 循环中的文件夹设置为可变位置 我尝试将位置添加到我的包配置中 它的表现就像它工作一样 但是当我打开配置文件时 它不在那里 我将其设置为 Foreach File Enumerator 并对路径进行硬编码 并检索完全
  • Laravel 9 - 在 artisan 路线中显示中间件:列表

    如何显示 Laravel 路由中使用的中间件 php artisan route list 我找到了显示方式 只需添加详细选项 php artisan route list v
  • Windows DPI 设置影响 Graphics.DrawString

    我已经创建了一个新的 Bitmap 对象 现在想要使用 GDI 向其绘制一些文本 所以我调用 Graphics DrawString 问题是字符串的大小取决于 Windows 7 的 DPI 设置 有什么方法可以使我的文本绘制独立于 Win