vb.net - MeasureText() - SizeF 到英寸

标签 vb.net dymo

我想我不知道要使用什么搜索词,这应该很简单...我用什么来确定字符串的宽度(以英寸为单位)。

        Dim sSize As System.Drawing.SizeF
        Dim fFont As New Font("Arial", 12)
        sSize = Me.CreateGraphics().MeasureString(txtAddr.Text, fFont)

此处的单位是 IDE 使用的任何单位。我不确定这是一个常量值,如果是,转换应该很简单。

无论如何,当使用指定字体以 100% 打印文本时,我想将返回的单位转换为英寸。我该怎么做?


谢谢汉斯!

        Dim boxGraphics As Graphics = txtAddr.CreateGraphics()
        Dim sSize As System.Drawing.SizeF = boxGraphics.MeasureString(txtAddr.Text, New Font("Arial", 12))
        Dim iInches As Single = sSize.Width / boxGraphics.DpiX

可能感兴趣的 DYMO LabelWriter 450 代码的开始:

        ' project ref to DYMO.Label.Framework .net 3.5/4
        ' Imports DYMO.Label.Framework
        Dim olabel As Label
        olabel = Label.Open("H:\INFO\Forms\ADMIN\Dymo Labels\APCDAddress.label")
        olabel.SetObjectText("ADDRESS", txtAddr.Text) ' case sensitive
        olabel.Print("\\PC3090-117\DYMO LabelWriter 450 Twin Turbo")
        MsgBox("Printed")

我将添加代码来处理对于标签来说可能太大的地址文本,因此是 OP。 DYMO 布局可以设置为缩小以适合文本,但在制作地址标签时有实际限制。

最佳答案

来自@HansPassant:除以 Graphics.DpiX

   Dim boxGraphics As Graphics = txtAddr.CreateGraphics()
    Dim sSize As System.Drawing.SizeF = boxGraphics.MeasureString(txtAddr.Text, New Font("Arial", 12))
    Dim iInches As Single = sSize.Width / boxGraphics.DpiX

关于vb.net - MeasureText() - SizeF 到英寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23256120/

相关文章:

vb.net - 从字符串中删除多余的空格

javascript - 在 Node 中运行 javascript 插件

javascript - 从网络应用程序 DYMO labelwriter 进行打印

java - DYMO LabelWriter 450 DUO 从命令行打印 .label 文件

database - INSERT INTO 语句中的语法错误。在 VB.net 2010 中

vb.net 中的 mysql avg() 函数

asp.net - 发送Excel文件给客户

vb.net - 递归函数不遵循所有路径

javascript - 如何使用 dymo 和 javascript 库将文本分成三行?

javascript - 引用错误: label is not defined in Dymo framework