/**
* Author: Lior Gonnen
* Date: 17-Nov-2007
*
* Please visit: http://liorgonnen.blogspot.com
*/
package org.pace2020.appbox.components
{
import flash.display.BitmapData;
import flash.display.DisplayObject;
import mx.controls.Label;
/**
* Use this Label class instead of the standard
mx.controls.Label to allow text rotation
* (using the 'rotation' property) without using embedded
fonts!
*/
public class RotatableLabel extends mx.controls.Label
{
private var _labelBitmap : BitmapData = null;
/**
* updateDisplayList is used to draw a rotated bitmap of
the label
*/
protected override function
updateDisplayList(unscaledWidth : Number, unscaledHeight : Number) : void {
super.updateDisplayList(unscaledWidth, unscaledHeight);
// 1. Make sure that the
width and the height are greater than zero, otherwise we have nothing to do.
// 2. Make sure rotation is
different than zero, otherwise the label will show normally
// 3. Draw the label into a
bitmap, and then draw it onto the label, since the label is rotated
// the bitmap will be
displayed rotated as well. Nice, ha? ;-)
if (unscaledWidth > 0 &&
unscaledHeight > 0 && rotation != 0) {
graphics.clear();
_labelBitmap
= getBitmapData(this);
if
(_labelBitmap) {
graphics.beginBitmapFill(_labelBitmap);
graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
graphics.endFill();
}
}
}
/**
* Create a bitmap from a displayObject
* @param target The displayObject to draw
* @return The drawn bitmap
*/
public static function getBitmapData(target
: DisplayObject) : BitmapData
{
var bd : BitmapData = new
BitmapData(target.width, target.height, true, 0.0);
bd.draw(target);
return bd;
}
}
}
分享到:
相关推荐
2. **设置图廓标签**:在“图廓属性”对话框中选择“Vertical Label”,可将左右两侧的图廓标签垂直放置,使得地图更加整洁美观。 3. **设置坐标轴样式**:在“坐标格网”属性中,可以根据需求设置不同的坐标轴样式...
在C#编程中,创建具有渐变背景色的圆角矩形Label是一项常见的需求,尤其在设计用户界面时。这通常涉及到图形绘制和颜色处理的知识。让我们深入探讨如何实现这样的功能。 首先,我们需要理解C#中的`System.Drawing`...
在Android中,可以通过设置`android:gravity="center_vertical"`属性或者在XML布局中使用`app:layout_constraintVertical_bias="0.5"`(在ConstraintLayout中)来实现垂直居中对齐。 2. **垂直居上对齐** 在iOS中...
using (LinearGradientBrush brush = new LinearGradientBrush(label.ClientRectangle, Color.Blue, Color.Red, GradientMode.Vertical)) { args.Graphics.DrawString(label.Text, label.Font, brush, new PointF...
该控件库中包含了一些独特的控件,例如"垂直标签"(Vertical Label),这是一种非传统的标签控件,它的文字排列方向是垂直的,这在设计界面布局时可以提供更多的灵活性,尤其是在空间有限或者需要创建垂直布局的场景...
label.setContentHuggingPriority(.required, for: .vertical) ``` 若要裁剪超出边界的内容,可以设置`clipsToBounds`为`true`: ```swift label.clipsToBounds = true ``` 另外,自定义字体或者特殊文字效果(如...
vertical-align: middle; } ``` 在上面的代码中,我们使用了背景图片来美化label标签,我们还使用了边框样式和字体样式来美化label标签的外观。 美化label标签的效果 通过使用上面的CSS代码,我们可以美化label...
Inherits from TextView, can set vertical and horizontal label to TextView 继承 TextView,能够在 TextView 上下左右固定设置文本的 View 以前,我们如果要写出 我的id: drakeet 这样的条目内容,需要使用两个 ...
1. **`vertical-align: middle`**:这是最直观的方法,将`<input>`的`vertical-align`属性设置为`middle`,期望与`<label>`中的文字对齐。然而,这种方法在实际应用中往往效果不佳,因为`<input>`是行内块级元素,而...
在本例中,使用CSS的`vertical-align: middle`属性可以解决`<img>`和`<input>`对齐的问题,这是因为`<img>` 默认是`inline`元素,与其他`inline`元素一样,受到垂直对齐属性的影响。 总之,理解HTML和CSS的布局规则...
verticalLayout->addWidget(label); verticalLayout->addWidget(button); ``` 4. **事件处理**:为控件添加信号与槽连接,以便在用户触发某些事件(如点击按钮)时动态添加新的控件。 ```cpp connect(button, &...
Label Tune提供了两种文本居中模式:Horizontal和Vertical。 * Horizontal:将丝印文本水平居中对齐。 * Vertical:将丝印文本垂直居中对齐。 文本Fit 文本Fit是Label Tune的第三个核心功能。该功能可以根据设计...
EhLib v6.1.132 for Delphi & C++Builder 7-XE4 Full Source + A new component TDBVertGridEh - DataSet Grid with the ...LabelColParams: TDBVertGridLabelColParamEh - The setting of the column with row label.
<label class="checkbox-label" for="checkbox1">复选框1</label> <label class="checkbox-label" for="checkbox2">复选框2</label> ``` 通过这种方式,我们可以创建具有个性化样式的单选和复选按钮,增强...
<label for="email">邮箱:</label> <label for="password">密码:</label> 注册 ``` 这个表单包含了用户名、邮箱和密码字段,每个字段都有相应的`<label>`标签以提高可访问性,并且使用`required`属性...
(1)、将一个图片放入一个div块中,div块背景颜色设置为aquamarine。将会发现图片与div块下边沿有一定间隙。...css中vertical-align和line-height的用法</title> <style> *{
<label for="checkbox1">Checkbox 1</label> <label for="radio1">Radio 1</label> ``` 在CSS3中,我们可以通过设置`display: none`来隐藏这些元素,然后使用`label`元素来触发我们的自定义样式。`for`属性用于...
在本文中,我们将深入探讨如何在Flex环境中创建一个垂直排列的按钮(Flex Vertical Button)以及一个包含垂直标签的TabNavigator组件。Flex是一个基于ActionScript 3.0的开放源代码框架,用于构建富互联网应用程序...
正确的做法是,在样式表中定义`input`、`select`和`label`元素的`vertical-align`属性为`middle`,这样可以确保它们在同一行内居中对齐。例如: ```css input, select, label { vertical-align: middle; } ``` ...