问题标签 [drawstring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 我的拉绳不起作用
我在java中有点新,现在已经编程了大约一年,我目前正在做一个项目,让用户选择地图(例如世界地图)并通过单击地图将城市添加到该地图。
当用户点击地图时,他/她输入一个名称,然后在这些坐标上绘制城市,这很好。我的问题是我还希望将城市名称绘制在城市上方,但由于某种原因我无法让它工作。这应该是一项简单的任务,但现在已经尝试了几个小时,并且开始变得非常烦人,所以我希望其他人可以帮助我完成这个简单的查询。
编码:
提前致谢/吉米
java - 使用 DecimalFormat(强制点)和 drawString()(y 似乎是错误的)
两个问题合二为一,但我有一个非常简短的测试用例来证明我的问题:
当我使用它时,我得到:
这张图片产生了:
我的问题:
- 如何在不切换语言环境的情况下强制 DecimalFormat 使用点而不是逗号?
- w 似乎是正确的,但是 0 作为高度有什么问题 - 为什么数字会打印在屏幕外?
谢谢!亚历克斯
更新:
我最终使用了语言环境。str.replace(".", ",") 注释也很酷。
c# - C# Graphics.DrawString RectangleF Auto-Height:如何找到那个高度?
我正在使用 Graphics DrawString 方法在图像上写入文本,将我的文本与 RectangleF 绑定。这是我的代码:
这适用于某些情况(即header2
只有 1 行长),但我的measurement
变量只测量字体的高度,而不是整个DrawString
矩形。我不想设置静态header2Rect
高度,因为高度会根据该文本而变化。
yindex 不起作用,因为header2Rect.Height = 0
. 有没有办法查看我的行header2
数?
我只需要做MeasureString
宽度并将其除以我的边界矩形宽度,然后乘以MeasureString
高度吗?我假设有更好的方法。
谢谢
[编辑] 看起来高度实际上是 0,但文本只是溢出到外面,但宽度仍然限制了文本换行。我只是做了一些数学计算来找到高度,但我希望有更好的方法。
graphics - TextRenderer.DrawText 使用 GDI 渲染 OTF 字体?
我试图在位图图像上绘制文本,我做了一些研究,发现 .NET/GDI+ 不支持 OTF 字体。我在某处读到了可以使用TextRenderer.DrawText
GDI 渲染 OTF 字体的文章,但我似乎无法弄清楚如何使用,质量也无法与之相比Graphics.DrawString
。
首先,是否可以在 VS 中使用 OTF 字体或者我读错了什么?
第二,如果答案是TextRenderer.DrawText,我该如何使用OTF字体?看起来我必须使用
System.Drawing.Font
该类,但我认为那些不支持字体,这就是问题所在,对吗?如何让字体像使用 GDI+ (
Graphics.DrawString
)的 TTF 字体一样清晰呈现使用
Graphics.DrawString
我能够使用RectangleF
(指定宽度,0 高度)作为我的文本的边界,并且文本正确包装。使用TextRenderer.DrawText
,使用的能力RectangleF
消失了,只允许Rectangle
似乎不允许 0 高度,同时仍然允许显示文本(即文本必须在矩形内,并且文本换行不起作用)。我做错了吗?
任何帮助将不胜感激。如果无法做到这一点,有没有办法转换OTF字体,或者在TTF版本中在线找到Gotham字体系列?我真的需要这些字体!
.net - .Net 中带有 PathEllipsis 的紧凑型长字符串
我有以下字符串,我正在使用 DrawString 在我的一个树视图控件中绘制它。
树视图正在绘制上面的字符串,如下所示:
现在,我想将上图中显示的相同字符串压缩为另一个字符串。我试过http://www.codeproject.com/KB/vb/NewPathCompactPath.aspx
但是,它没有为我提供上面的图像结果。
请告诉我,如何使用TextRenderer.MeasureText
相同的字符串获得相同的结果。
谢谢
.net - .NET DrawString() 更改图形比例时不同的文本布局
我正在使用简单的代码在指定的矩形内绘制文本。一切正常,除了有时文本布局因图形比例而异(通过 Graphics.ScaleTransform 方法设置)。
很难用语言来描述这个问题,所以看一下示例图像
- ScaleTransform 设置为 0.3 左右 - 文本适合指定矩形内的一行。
- ScaleTransform 设置为 0.6 左右 - 文本在最后一个单词之前换行。
在这两种情况下,它是相同的字体、文本、布局矩形、StringFormatting 等等。唯一改变的是规模。请注意,我不使用“字体缩放”!在这两种情况下,它甚至是同一个字体对象。未设置 StringFormatFlags。
我该如何解决?我不在乎文本是否会被换行——我只需要一致性。无论规模大小,始终包裹或不包裹。怎么做?
java - 工具提示文本擦除Java中的面板绘图
我有一个JPanel
使用方法在其上执行一些绘图paintComponent
,然后当用户单击在其JPanel
上绘制(或任何绘图)的字符串时,当用户将鼠标移到JPanel
它上面时,它会在JPanel
.
1)问题是,当工具提示出现在绘制的字符串上时,它会擦除它,但是这个工具提示文本对我在paintComponent
方法中执行的绘图部分没有擦除效果。我无法理解为什么会这样。
2)而且当我在点击时绘制字符串然后最小化并恢复我的应用程序时,我绘制的字符串消失了。
希望你们都明白我的意思。
这是代码:
提前谢谢....
c# - 在 .NET 中绘制文本
我正在做一些关于在.Net 中绘制文本的测试,我得到了以下结果。
- 第一个字符串是本机标签,
FlatStyle
设置为System
- 第二个字符串是使用
Graphics.DrawString()
方法绘制的 - 最后一个是使用
TextRenderer.DrawText()
方法绘制的
所有案例都使用默认的 Windows Vista/7 字体:Segoe UI, 9
如您所见,第二个字符串与其他字符串之间存在差异(它的质量较低,并且抗锯齿不同)。我尝试在对象中配置抗锯齿和平滑模式Graphics
,但没有任何结果。
是否可以绘制文本Graphics.DrawString
并获得与其他方法相同的质量?
提前致谢。
编辑:我已经用 Reflector 查看了代码。我意识到Graphics.DrawString
使用gdiplus.dll调用方法 GdipDrawString() 并TextRenderer.DrawText
使用user32.dll调用DrawTextExW
和DrawTextExA
.
对此有何评论?
xna - XNA SpriteFont 有多种颜色?
有没有办法绘制具有多个彩色水平区域的文本?例如,我想绘制文本“Hello”,下半部分为红色,上半部分为绿色。要使用的文本必须是动态的。使用普通纹理,我将只使用 Draw 方法并传递一个子矩形来绘制不同颜色的纹理部分,但用于文本?
vb.net - 了解字体的所有细节,获取字符的尺寸
我需要根据指定的字体创建字符位图。当他们指定字体时,他们正在指定:
- 字体(例如 Microsoft Sans Serif)
- 字体样式(例如粗体)
- 大小(例如 14)
- 效果(例如剔除)
- 脚本(例如西方)
知道了这一点,如果我知道字符和上面的所有信息,是否可以准确地确定字符的大小?我必须将它们绘制到与角色大小相同且不更大的位图上。
谢谢!我在 VB.net 中做这一切,所以所有 .net 示例都是可以接受的。