`
gekie
  • 浏览: 158398 次
  • 性别: Icon_minigender_1
  • 来自: 海口
社区版块
存档分类
最新评论

获取字符串所占像素长度

F# 
阅读更多

在图生上处理字符的时候,需要得到字符串所占位置长度。这长度与字体相关。下面的方法判断200像素的长度内是否可以以最小字体为15号字体来显示字符串。str为你要显示的字符串。

 

UIFont *font = [UIFont fontWithName:@"DINNextLTPro-Bold" size:20];    
UILabel *label = [[UILabel alloc] init];    
label.lineBreakMode = UILineBreakModeCharacterWrap;    
label.numberOfLines = 1;    
label.font = font;    
label.text = str;    
label.frame = CGRectMake(0, 0, 0, CGFLOAT_MAX);    
int i = 20;    
for (i = 20; i > 15; i--) {    
    label.font = [label.font fontWithSize:i];    
    [label sizeToFit];    
    NSLog(@"font size = %d label size width = %f max size = %f", i, label.frame.size.width, 200.);    
    if (label.frame.size.width < 200.) {    
        break;    
    }    
    label.frame = CGRectMake(0, 0, 0, CGFLOAT_MAX);    
}    
    
[label release];    
    
if (i <= 15) {    
    return NO;    
}    
return YES;   
 
分享到:
评论

相关推荐

    动态获取字符串高度

    在iOS开发中,动态获取字符串高度是一项常见的任务,特别是在布局用户界面时,需要精确计算文本元素(如UILabel、UIButton)的高度以适应不同长度的文本。标题"动态获取字符串高度"和描述"根据文本内容,设定字体...

    计算字符串宽度

    例如,在Python中,可以使用`PIL`库的`ImageFont`模块来加载字体,并通过`getsize`方法获取字符串宽度;JavaScript中,可以利用`canvas`元素的`measureText`方法。 7. **兼容性与跨平台**:在不同的操作系统、...

    [DataGird]如何截取过长的字符串

    在`DataGrid`的事件处理函数`ItemDataBound`中获取需要展示的字符串。 ```csharp void ItemDataBound(object sender, DataGridItemEventArgs e) { // 获取需要展示的字符串 string title = GetTheString(); ...

    易语言取文本的像素宽度

    本文将详细讲解易语言中如何获取文本的像素宽度,并涉及到相关的API函数,如API_DrawText、API_GetDC和API_GetWindowRect。 首先,我们需要理解“像素宽度”的概念。在计算机图形学中,像素宽度是指在特定字体和...

    C++将文本字符串转换成BMP图片

    2. **分配内存并初始化像素数据**:根据文本字符串的长度和所选字体大小,计算出需要的像素数组大小。然后,遍历每个字符,根据字符的ASCII值或Unicode编码将其转换为相应的像素颜色。这通常涉及到字符的渲染,可以...

    string-length-the-hard-way:如果想在Lua中获取字符串的长度,该怎么办?

    在Lua编程语言中,获取字符串长度是一个非常基本且常见的操作。然而,如果你遇到了一个名为"string-length-the-hard-way"的问题,这可能意味着你正在寻找一种非标准或特殊的方法来计算字符串长度,或许是出于某种...

    Java 字符串转换成点阵字库显示

    字符串可以通过`charAt()`方法访问单个字符,通过`length()`获取长度,以及使用`substring()`截取部分字符串等。 接下来,我们要了解点阵字库的基本概念。点阵字库通常以二维数组的形式存在,每一行代表字符的一行...

    Go-geopattern-在golang中从一个字符串创建漂亮的生成图像模式

    在Golang中,`Go-geopattern`是一个开源库,它允许开发者从任何字符串生成美观的几何图案,这些图案可以用于网站背景、验证码、艺术作品等。这个库的灵感来源于JavaScript的`GeoPattern`库,但在Golang中提供了更...

    c#字符串转化为位图源码

    1. **创建Bitmap对象**:首先,我们需要指定位图的宽度和高度,这是根据字符串的长度和字体大小计算得出的。例如: ```csharp int width = GetWidth(font, text); int height = GetHeight(font); Bitmap bitmap ...

    易语言源码易语言取文本的像素宽度.rar

    1. **字符串操作**:首先,你需要有一个包含文本的字符串变量。易语言支持基本的字符串操作,如创建、拼接、截取等。 2. **绘图接口**:易语言提供了绘图相关的函数,如`绘制文本`,用于在画布上显示文本。在绘制...

    java字符反转代码

    - 计算字符串长度,并利用 `StringBuffer` 对象来实现字符串的反转。 - 将反转后的字符串设置到 `field2` 中,从而实现字符反转的展示。 ### 三、关键类库与组件介绍 #### 3.1 `javax.swing` 和 `java.awt` 包 -...

    截断ASP.NET中的文本字符串以适合给定的像素宽度

    综上所述,截断ASP.NET中的文本字符串以适应特定像素宽度,需要结合C#编程、CSS样式以及可能的JavaScript技术。具体实现取决于你的项目需求,例如是否需要考虑多语言、是否需要保留截断文本的完整性和可点击性等。在...

    js获取input长度并根据页面宽度设置其大小及居中对齐

    在JavaScript中,动态地获取输入框(input)的长度,并根据页面宽度来调整其尺寸以及实现居中对齐,是一项常见的前端布局任务。这有助于创建响应式的用户界面,确保元素在不同屏幕尺寸下都能良好展示。以下将详细...

    关于中gridview 字符串截取的方法

    然而,在某些情况下,列中展示的数据字符串长度可能会过长,从而影响页面布局的美观性和用户的阅读体验。例如,如果某列包含的文本内容非常长,它可能会导致整个表格的列宽被拉得很宽,使得整行乃至整个表格的布局看...

    php gd库生成图片,只需要输入字符串,字数越多字体越小,水平垂直居中

    首先,通过`mb_strlen()`函数获取输入字符串的长度。如果长度超过预设的最大值(本例中为30),则截取前30个字符。 ```php if (mb_strlen($text) &gt; 30) { $text = mb_substr($text, 0, 30); } ``` ##### 2. 计算...

    matlab空域像素值十进制转二进制两个简单的代码示例.pdf

    如果需要固定长度的二进制字符串,可以传递额外的参数来指定所需的位数。例如,`dec2bin(decimalValue, 8)` 会确保返回的二进制字符串至少有8位,不足的部分会在前面补零。 在实际应用中,这样的转换可能用于图像位...

    在DataWindow中实现列的折行

    1. **获取字符串长度**:首先,我们需要测量字符串在当前字体和字号下的实际宽度。使用`TextWidth` API,传入字符串和字体信息,返回字符串的像素宽度。 2. **设定阈值**:确定一个阈值,即列的最大宽度。当字符串...

    七、202209青少年软件编程(Python)等级考试试卷(一级).docx

    * len()函数用于获取字符串的长度 * 字符串可以使用加号(+)进行连接 * 字符串可以使用星号(*)进行重复 二、Python基础知识 * type()函数用于获取对象的数据类型 * Python中可以使用True和False表示布尔值 * ...

    3.3 图像字符画1

    该函数遍历图像的每个像素,获取其灰度值,然后根据灰度值在字符列表中找到相应的字符,将其添加到字符串`t`中。灰度值通过除以255再乘以字符列表长度减1,得到一个0到count-1的整数,作为字符的索引。这个过程实现...

    android xml 布局像素问题

    例如,可以通过`Paint`类的`measureText()`方法来测量字符串的宽度,或者使用`DisplayMetrics`类来获取屏幕的宽度和高度,包括物理像素和逻辑像素。 ```java Rect rect = new Rect(); paint.getTextBounds("abcd", ...

Global site tag (gtag.js) - Google Analytics