public class Paint
extends Object
java.lang.Object | |
↳ | android.graphics.Paint |
Known Direct Subclasses |
Paint类保存关于如何绘制几何图形,文本和位图的样式和颜色信息。
Nested classes |
|
---|---|
枚举 |
Paint.Align 对齐指定drawText如何将文本相对于[x,y]坐标对齐。 |
枚举 |
Paint.Cap Cap规定了描边线和路径的开始和结束的处理。 |
class |
Paint.FontMetrics 描述给定文本大小的字体的各种度量的类。 |
class |
Paint.FontMetricsInt 调用者需要将FontMetrics值设置为整数的便捷方法。 |
枚举 |
Paint.Join 连接指定线条和曲线段在描边路径上连接的处理。 |
枚举 |
Paint.Style 样式指定正在绘制的图元是填充,描边还是两者(以相同颜色)。 |
Constants |
|
---|---|
int |
ANTI_ALIAS_FLAG 绘制时启用抗锯齿功能的绘制标志。 |
int |
DEV_KERN_TEXT_FLAG 遗留涂料标志,不再使用。 |
int |
DITHER_FLAG 在blitting时启用抖动的Paint标志。 |
int |
EMBEDDED_BITMAP_TEXT_FLAG 绘制标记,可在绘制文本时使用位图字体。 |
int |
FAKE_BOLD_TEXT_FLAG 将合成粗体效果应用于绘制文本的Paint标志。 |
int |
FILTER_BITMAP_FLAG Paint标志,用于在缩放的位图上启用双线性采样。 |
int |
HINTING_OFF 禁用字体提示的字体提示选项。 |
int |
HINTING_ON 允许字体提示的字体提示选项。 |
int |
LINEAR_TEXT_FLAG Paint标志,可以平滑线性缩放文本。 |
int |
STRIKE_THRU_TEXT_FLAG 将绘制文字应用于透视修饰的Paint标志。 |
int |
SUBPIXEL_TEXT_FLAG Paint标志使文本的子像素定位。 |
int |
UNDERLINE_TEXT_FLAG 将绘制文本应用下划线装饰的Paint标志。 |
Public constructors |
|
---|---|
Paint() 用默认设置创建一个新的绘图。 |
|
Paint(int flags) 用指定的标志创建一个新的绘画。 |
|
Paint(Paint paint) 创建一个新的绘图,使用指定的绘图参数中的属性进行初始化。 |
Public methods |
|
---|---|
float |
ascent() 基于当前的字体和文字大小,返回上面的距离(负值)基线(上升)。 |
int |
breakText(char[] text, int index, int count, float maxWidth, float[] measuredWidth) 测量文本,如果测量的宽度超过maxWidth,则提前停止。 |
int |
breakText(String text, boolean measureForwards, float maxWidth, float[] measuredWidth) 测量文本,如果测量的宽度超过maxWidth,则提前停止。 |
int |
breakText(CharSequence text, int start, int end, boolean measureForwards, float maxWidth, float[] measuredWidth) 测量文本,如果测量的宽度超过maxWidth,则提前停止。 |
void |
clearShadowLayer() 清除阴影图层。 |
float |
descent() 基于当前字体和文字大小,返回基线(下降)下方(正)的距离。 |
int |
getAlpha() Helper getColor()返回颜色的alpha值。 |
int |
getColor() 返回油漆的颜色。 |
ColorFilter |
getColorFilter() 获取paint的colorfilter(可能为null)。 |
boolean |
getFillPath(Path src, Path dst) 将任何/所有效果(patheffect,stroking)应用于src,并将结果返回到dst。 |
int |
getFlags() 返回油漆的标志。 |
String |
getFontFeatureSettings() 返回字体功能设置。 |
float |
getFontMetrics(Paint.FontMetrics metrics) 给定油漆的字体设置,textSize等等,返回字体推荐的行间距。 |
Paint.FontMetrics |
getFontMetrics() 分配一个新的FontMetrics对象,然后调用getFontMetrics(fm),返回该对象。 |
int |
getFontMetricsInt(Paint.FontMetricsInt fmi) 返回字体的行间距,给定油漆的字体设置,textSize等。 |
Paint.FontMetricsInt |
getFontMetricsInt() |
float |
getFontSpacing() 根据当前的字体和文字大小返回建议的行间距。 |
int |
getHinting() 返回油漆的提示模式。 |
float |
getLetterSpacing() 为文本返回油漆的字母间距。 |
MaskFilter |
getMaskFilter() 获取paint的maskfilter对象。 |
int |
getOffsetForAdvance(char[] text, int start, int end, int contextStart, int contextEnd, boolean isRtl, float advance) 获取位置与指定水平位置最接近的字符串中的字符偏移量。 |
int |
getOffsetForAdvance(CharSequence text, int start, int end, int contextStart, int contextEnd, boolean isRtl, float advance) |
PathEffect |
getPathEffect() 获取涂料的困惑对象。 |
Rasterizer |
getRasterizer() 此方法在API级别21中已弃用.Rasterizer不受HW或PDF后端的支持。 |
float |
getRunAdvance(char[] text, int start, int end, int contextStart, int contextEnd, boolean isRtl, int offset) 在一段文字中测量光标位置。 |
float |
getRunAdvance(CharSequence text, int start, int end, int contextStart, int contextEnd, boolean isRtl, int offset) |
Shader |
getShader() 获取涂料的着色器对象。 |
Paint.Cap |
getStrokeCap() 返回paint的Cap,控制如何处理描边线条和路径的开始和结束。 |
Paint.Join |
getStrokeJoin() 返回绘画的笔画连接类型。 |
float |
getStrokeMiter() 返回涂料的笔触斜角值。 |
float |
getStrokeWidth() 抚摸抚摸的宽度。 |
Paint.Style |
getStyle() 返回paint的样式,用于控制原语几何的解释方式(除了drawBitmap,它总是假定为FILL_STYLE)。 |
Paint.Align |
getTextAlign() 返回绘制文本的颜色对齐值。 |
void |
getTextBounds(String text, int start, int end, Rect bounds) 返回边界(由调用者分配)包含所有字符的最小矩形,其中隐含的原点为(0,0)。 |
void |
getTextBounds(char[] text, int index, int count, Rect bounds) 返回边界(由调用者分配)包含所有字符的最小矩形,其中隐含的原点为(0,0)。 |
Locale |
getTextLocale() 获取文本的主要区域设置。 |
LocaleList |
getTextLocales() 获取文本区域设置列表。 |
void |
getTextPath(char[] text, int index, int count, float x, float y, Path path) 返回指定文本的路径(大纲)。 |
void |
getTextPath(String text, int start, int end, float x, float y, Path path) 返回指定文本的路径(大纲)。 |
float |
getTextScaleX() 返回文本的油漆水平比例因子。 |
float |
getTextSize() 返回油漆的文字大小。 |
float |
getTextSkewX() 返回涂料的文字水平偏斜系数。 |
int |
getTextWidths(char[] text, int index, int count, float[] widths) 返回字符串中字符的提前宽度。 |
int |
getTextWidths(String text, float[] widths) 返回字符串中字符的提前宽度。 |
int |
getTextWidths(String text, int start, int end, float[] widths) 返回字符串中字符的提前宽度。 |
int |
getTextWidths(CharSequence text, int start, int end, float[] widths) 返回字符串中字符的提前宽度。 |
Typeface |
getTypeface() 获取油漆的字体对象。 |
Xfermode |
getXfermode() 获取paint的xfermode对象。 |
boolean |
hasGlyph(String string) 确定绘画上设置的字体是否具有支持该字符串的字形。 |
final boolean |
isAntiAlias() Helper for getFlags(),如果设置了ANTI_ALIAS_FLAG位,则返回true AntiAliasing平滑正在绘制的边缘,但对形状内部没有影响。 |
final boolean |
isDither() Helper for getFlags(),如果设置了DITHER_FLAG位,则返回true抖动会影响比设备更高精度的颜色如何下采样。 |
boolean |
isElegantTextHeight() 获取优雅的度量标志。 |
final boolean |
isFakeBoldText() 用于getFlags()的助手,如果设置了FAKE_BOLD_TEXT_FLAG位,则返回true |
final boolean |
isFilterBitmap() 位图过滤器是否被激活。 |
final boolean |
isLinearText() Helper for getFlags(),如果设置了LINEAR_TEXT_FLAG位,则返回true |
final boolean |
isStrikeThruText() Helper for getFlags(),如果设置了STRIKE_THRU_TEXT_FLAG位,则返回true |
final boolean |
isSubpixelText() Helper for getFlags(),如果设置了SUBPIXEL_TEXT_FLAG位,则返回true |
final boolean |
isUnderlineText() Helper for getFlags(),如果UNDERLINE_TEXT_FLAG位置位,则返回true |
float |
measureText(char[] text, int index, int count) 返回文本的宽度。 |
float |
measureText(CharSequence text, int start, int end) 返回文本的宽度。 |
float |
measureText(String text, int start, int end) 返回文本的宽度。 |
float |
measureText(String text) 返回文本的宽度。 |
void |
reset() 将绘图恢复到其默认设置。 |
void |
set(Paint src) 将来自src的字段复制到此画图中。 |
void |
setARGB(int a, int r, int g, int b) Helper to setColor(),它使用a,r,g,b和构造颜色int |
void |
setAlpha(int a) Helper to setColor(),只分配颜色的alpha值,保持其r,g,b值不变。 |
void |
setAntiAlias(boolean aa) 用于setFlags()的帮助器,设置或清除ANTI_ALIAS_FLAG位AntiAliasing平滑正在绘制的边缘,但对形状内部没有影响。 |
void |
setColor(int color) 设置油漆的颜色。 |
ColorFilter |
setColorFilter(ColorFilter filter) 设置或清除涂料的颜色过滤器,返回参数。 |
void |
setDither(boolean dither) Helper for setFlags(),设置或清除DITHER_FLAG位抖动会影响比设备更高精度的颜色如何下采样。 |
void |
setElegantTextHeight(boolean elegant) 设置油漆的高雅度量标志。 |
void |
setFakeBoldText(boolean fakeBoldText) 帮助器setFlags(),设置或清除FAKE_BOLD_TEXT_FLAG位 |
void |
setFilterBitmap(boolean filter) Helper用于setFlags(),设置或清除FILTER_BITMAP_FLAG位。 |
void |
setFlags(int flags) 设置油漆的标志。 |
void |
setFontFeatureSettings(String settings) 设置字体功能设置。 |
void |
setHinting(int mode) 设置绘画的提示模式。 |
void |
setLetterSpacing(float letterSpacing) 为文本设置油漆的字母间距。 |
void |
setLinearText(boolean linearText) 帮助器setFlags(),设置或清除LINEAR_TEXT_FLAG位 |
MaskFilter |
setMaskFilter(MaskFilter maskfilter) 设置或清除maskfilter对象。 |
PathEffect |
setPathEffect(PathEffect effect) 设置或清除patheffect对象。 |
Rasterizer |
setRasterizer(Rasterizer rasterizer) 此方法在API级别21中已弃用.Rasterizer不受HW或PDF后端的支持。 |
Shader |
setShader(Shader shader) 设置或清除着色器对象。 |
void |
setShadowLayer(float radius, float dx, float dy, int shadowColor) 这会在主图层下绘制一个阴影图层,具有指定的偏移和颜色以及模糊半径。 |
void |
setStrikeThruText(boolean strikeThruText) 帮助器setFlags(),设置或清除STRIKE_THRU_TEXT_FLAG位 |
void |
setStrokeCap(Paint.Cap cap) 设置油漆的帽子。 |
void |
setStrokeJoin(Paint.Join join) 设置涂料的加入。 |
void |
setStrokeMiter(float miter) 设置涂料的笔触斜角值。 |
void |
setStrokeWidth(float width) 设置抚摸的宽度。 |
void |
setStyle(Paint.Style style) 设置油漆的风格,用于控制原始图的几何形状是如何解释的(除了drawBitmap,它总是假定为Fill)。 |
void |
setSubpixelText(boolean subpixelText) 帮助器setFlags(),设置或清除SUBPIXEL_TEXT_FLAG位 |
void |
setTextAlign(Paint.Align align) 设置涂料的文字对齐。 |
void |
setTextLocale(Locale locale) 将文本语言环境列表设置为仅包含语言环境的一个成员列表。 |
void |
setTextLocales(LocaleList locales) 设置文本区域设置列表。 |
void |
setTextScaleX(float scaleX) 为文本设置油漆的水平比例因子。 |
void |
setTextSize(float textSize) 设置颜料的文字大小。 |
void |
setTextSkewX(float skewX) 为文字设置涂料的水平偏斜系数。 |
Typeface |
setTypeface(Typeface typeface) 设置或清除字体对象。 |
void |
setUnderlineText(boolean underlineText) 帮助器setFlags(),设置或清除UNDERLINE_TEXT_FLAG位 |
Xfermode |
setXfermode(Xfermode xfermode) 设置或清除xfermode对象。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
int ANTI_ALIAS_FLAG
绘制时启用抗锯齿功能的绘制标志。
启用此标志将导致支持抗锯齿的所有绘制操作使用它。
也可以看看:
常数值:1(0x00000001)
int DITHER_FLAG
在blitting时启用抖动的Paint标志。
启用此标志将抖动应用于目标的色彩空间比源更受约束的任何blit操作。
也可以看看:
常量值:4(0x00000004)
int EMBEDDED_BITMAP_TEXT_FLAG
绘制标记,可在绘制文本时使用位图字体。
禁用此标志将防止文本绘制操作在字体中使用嵌入式位图打击,导致带有可缩放轮廓和位图打击的字体仅绘制可伸缩轮廓线,并且仅带有位图打击的字体根本不绘制。
也可以看看:
常量值:1024(0x00000400)
int FAKE_BOLD_TEXT_FLAG
将合成粗体效果应用于绘制文本的Paint标志。
启用此标志将导致文本绘制操作在绘制尚未加粗的 Typeface
时应用模拟的粗体效果。
也可以看看:
常量值:32(0x00000020)
int FILTER_BITMAP_FLAG
Paint标志,用于在缩放的位图上启用双线性采样。
如果清除,缩放位图将以最近的相邻采样进行绘制,可能会导致伪像。 这通常应该在绘制位图时进行,除非性能受限(渲染到软件画布),或者在显着缩放时更喜欢像素化人为因素模糊。
如果在创建时缩放设备密度的位图(因为通常是资源位图),则过滤将已完成。
也可以看看:
常量值:2(0x00000002)
int LINEAR_TEXT_FLAG
Paint标志,可以平滑线性缩放文本。
启用此标志实际上并不会缩放文本,而是调整文本绘制操作以适度平滑地调整缩放比例。 启用此标志时,将禁用字体提示以防止比例因子之间的形状变形,并且由于将生成大量字形图像,字形缓存将被禁用。
SUBPIXEL_TEXT_FLAG
应该与此标志一起使用,以防止字形位置在缩放因子被调整时捕捉到整个像素值。
也可以看看:
常量值:64(0x00000040)
int STRIKE_THRU_TEXT_FLAG
将绘制文字应用于透视修饰的Paint标志。
也可以看看:
常量值:16(0x00000010)
int SUBPIXEL_TEXT_FLAG
Paint标志使文本的子像素定位。
启用该标志会使字形的前进以子像素精度进行计算。
这可以与 LINEAR_TEXT_FLAG
一起使用,以防止文本在平滑过渡过程中抖动。
也可以看看:
常量值:128(0x00000080)
int UNDERLINE_TEXT_FLAG
将绘制文本应用下划线装饰的Paint标志。
也可以看看:
常量值:8(0x00000008)
Paint (int flags)
用指定的标志创建一个新的绘画。 在创建绘画后使用setFlags()更改这些。
Parameters | |
---|---|
flags |
int : initial flag bits, as if they were passed via setFlags(). |
Paint (Paint paint)
创建一个新的绘图,使用指定的绘图参数中的属性进行初始化。
Parameters | |
---|---|
paint |
Paint : Existing paint used to initialized the attributes of the new paint. |
float ascent ()
基于当前的字体和文字大小,返回上面的距离(负值)基线(上升)。
Returns | |
---|---|
float |
the distance above (negative) the baseline (ascent) based on the current typeface and text size. |
int breakText (char[] text, int index, int count, float maxWidth, float[] measuredWidth)
测量文本,如果测量的宽度超过maxWidth,则提前停止。 返回被测量的字符数,如果measuredWidth不为空,则返回测量的实际宽度。
Parameters | |
---|---|
text |
char : The text to measure. Cannot be null. |
index |
int : The offset into text to begin measuring at |
count |
int : The number of maximum number of entries to measure. If count is negative, then the characters are measured in reverse order. |
maxWidth |
float : The maximum width to accumulate. |
measuredWidth |
float : Optional. If not null, returns the actual width measured. |
Returns | |
---|---|
int |
The number of chars that were measured. Will always be <= abs(count). |
int breakText (String text, boolean measureForwards, float maxWidth, float[] measuredWidth)
测量文本,如果测量的宽度超过maxWidth,则提前停止。 返回被测量的字符数,如果measuredWidth不为空,则返回测量的实际宽度。
Parameters | |
---|---|
text |
String : The text to measure. Cannot be null. |
measureForwards |
boolean : If true, measure forwards, starting with the first character in the string. Otherwise, measure backwards, starting with the last character in the string. |
maxWidth |
float : The maximum width to accumulate. |
measuredWidth |
float : Optional. If not null, returns the actual width measured. |
Returns | |
---|---|
int |
The number of chars that were measured. Will always be <= abs(count). |
int breakText (CharSequence text, int start, int end, boolean measureForwards, float maxWidth, float[] measuredWidth)
测量文本,如果测量的宽度超过maxWidth,则提前停止。 返回被测量的字符数,如果measuredWidth不为空,则返回测量的实际宽度。
Parameters | |
---|---|
text |
CharSequence : The text to measure. Cannot be null. |
start |
int : The offset into text to begin measuring at |
end |
int : The end of the text slice to measure. |
measureForwards |
boolean : If true, measure forwards, starting at start. Otherwise, measure backwards, starting with end. |
maxWidth |
float : The maximum width to accumulate. |
measuredWidth |
float : Optional. If not null, returns the actual width measured. |
Returns | |
---|---|
int |
The number of chars that were measured. Will always be <= abs(end - start). |
float descent ()
基于当前字体和文字大小,返回基线(下降)下方(正)的距离。
Returns | |
---|---|
float |
the distance below (positive) the baseline (descent) based on the current typeface and text size. |
int getAlpha ()
Helper getColor()返回颜色的alpha值。 这与调用getColor()>>> 24.它始终返回0(完全透明)和255(完全不透明)之间的值。
Returns | |
---|---|
int |
the alpha component of the paint's color. |
int getColor ()
返回油漆的颜色。 请注意,颜色是包含alpha以及r,g,b的32位值。 该32位值不是预乘,意味着它的alpha可以是任何值,而不管r,g,b的值如何。 有关更多详细信息,请参阅Color类。
Returns | |
---|---|
int |
the paint's color (and alpha). |
ColorFilter getColorFilter ()
获取paint的colorfilter(可能为null)。
Returns | |
---|---|
ColorFilter |
the paint's colorfilter (maybe be null) |
boolean getFillPath (Path src, Path dst)
将任何/所有效果(patheffect,stroking)应用于src,并将结果返回到dst。 结果是使用这个绘图绘制src将与使用默认绘制(至少从几何透视图)绘制dst相同。
Parameters | |
---|---|
src |
Path : input path |
dst |
Path : output path (may be the same as src) |
Returns | |
---|---|
boolean |
true if the path should be filled, or false if it should be drawn with a hairline (width == 0) |
int getFlags ()
返回油漆的标志。 使用Flag枚举来测试标志值。
Returns | |
---|---|
int |
the paint's flags (see enums ending in _Flag for bit masks) |
String getFontFeatureSettings ()
返回字体功能设置。 格式与CSS font-feature-settings属性相同: http://dev.w3.org/csswg/css-fonts/#propdef-font-feature-settings
Returns | |
---|---|
String |
the paint's currently set font feature settings. Default is null. |
float getFontMetrics (Paint.FontMetrics metrics)
给定字体的油漆设置,textSize等,返回字体推荐的行间距。如果指标不为空,则返回其中的字体值。
Parameters | |
---|---|
metrics |
Paint.FontMetrics : If this object is not null, its fields are filled with the appropriate values given the paint's text attributes. |
Returns | |
---|---|
float |
the font's recommended interline spacing. |
Paint.FontMetrics getFontMetrics ()
分配一个新的FontMetrics对象,然后调用getFontMetrics(fm),返回该对象。
Returns | |
---|---|
Paint.FontMetrics |
int getFontMetricsInt (Paint.FontMetricsInt fmi)
给定字体的Paint设置,textSize等,返回字体的行间距。如果指标不为null,则返回字体值。 注意:所有的值已经从浮点数转换为整数,这样必须使得这些答案对间距和剪切都有用。 如果您想要更多地控制四舍五入,请调用getFontMetrics()。
Parameters | |
---|---|
fmi |
Paint.FontMetricsInt
|
Returns | |
---|---|
int |
the font's interline spacing. |
Paint.FontMetricsInt getFontMetricsInt ()
Returns | |
---|---|
Paint.FontMetricsInt |
float getFontSpacing ()
根据当前的字体和文字大小返回建议的行间距。
Returns | |
---|---|
float |
recommend line spacing based on the current typeface and text size. |
int getHinting ()
返回油漆的提示模式。 返回HINTING_OFF
或HINTING_ON
。
Returns | |
---|---|
int |
float getLetterSpacing ()
为文本返回油漆的字母间距。 默认值是0。
Returns | |
---|---|
float |
the paint's letter-spacing for drawing text. |
MaskFilter getMaskFilter ()
获取paint的maskfilter对象。
Returns | |
---|---|
MaskFilter |
the paint's maskfilter (or null) |
int getOffsetForAdvance (char[] text, int start, int end, int contextStart, int contextEnd, boolean isRtl, float advance)
获取位置与指定水平位置最接近的字符串中的字符偏移量。
返回的值通常为的值offset
为其getRunAdvance(char[], int, int, int, int, boolean, int)
产生一个结果最接近地逼近advance
,并且这也是一个字形簇边界上。 如此,响应于触摸或指针事件而定位光标是优选的方法。 字形群集边界基于Unicode Standard Annex #29,但具有一些剪裁以获得更好的用户体验。
请注意,相对于运行的开始, advance
是一个(通常为正数)宽度测量值。 因此,对于RTL运行它从点到右边的距离。
所有指数text
对于text
。 此外, 0 <= contextStart <= start <= end <= contextEnd <= text.length
必须持有入场券,并且start <= result <= end
将持有回报。
Parameters | |
---|---|
text |
char : the text to measure. Cannot be null. |
start |
int : the index of the start of the range to measure |
end |
int : the index + 1 of the end of the range to measure |
contextStart |
int : the index of the start of the shaping context |
contextEnd |
int : the index + 1 of the end of the range to measure |
isRtl |
boolean : whether the run is in RTL direction |
advance |
float : width relative to start of run |
Returns | |
---|---|
int |
index of offset |
int getOffsetForAdvance (CharSequence text, int start, int end, int contextStart, int contextEnd, boolean isRtl, float advance)
Parameters | |
---|---|
text |
CharSequence : the text to measure. Cannot be null. |
start |
int : the index of the start of the range to measure |
end |
int : the index + 1 of the end of the range to measure |
contextStart |
int : the index of the start of the shaping context |
contextEnd |
int : the index + 1 of the end of the range to measure |
isRtl |
boolean : whether the run is in RTL direction |
advance |
float : width relative to start of run |
Returns | |
---|---|
int |
index of offset |
PathEffect getPathEffect ()
获取涂料的困惑对象。
Returns | |
---|---|
PathEffect |
the paint's patheffect (or null) |
Rasterizer getRasterizer ()
此方法在API级别21中已弃用。
Rasterizer不受HW或PDF后端的支持。
获取paint的光栅化器(或null)。
The raster controls/modifies how paths/text are turned into alpha masks.Returns | |
---|---|
Rasterizer |
the paint's rasterizer (or null) |
float getRunAdvance (char[] text, int start, int end, int contextStart, int contextEnd, boolean isRtl, int offset)
在一段文字中测量光标位置。
文本运行包括文本中从start
到end
的字符。 另外,范围contextStart
到contextEnd
被用作复杂文本整形目的的上下文,例如阿拉伯文本可能根据其旁边的文本而有不同的形状。
范围contextStart..contextEnd
之外的所有文本都将被忽略。 start
和end
之间的文本将被布置为被测量。
返回的宽度度量值是从start
到offset
。 无论运行方向如何,它通常都是一个正值。 如果为offset == end
,则返回值仅为整个运行的宽度,从start
到end
。
连字形成范围为start..end
(但不适用于start..contextStart
或end..contextEnd
)的end..contextEnd
。 如果offset
指向这样一个形成的连字符中间的字符,但是在字形群边界处,返回值也将反映连字中间的前进。 有关getOffsetForAdvance(char[], int, int, int, int, boolean, float)
集群边界的更多讨论,请参见getOffsetForAdvance(char[], int, int, int, int, boolean, float)
。
运行的方向由isRtl
明确指定。 因此,这种方法仅适用于单一方向的运行。
所有指数text
对于text
。 此外, 0 <= contextStart <= start <= offset <= end <= contextEnd <= text.length
必须持有进入。
Parameters | |
---|---|
text |
char : the text to measure. Cannot be null. |
start |
int : the index of the start of the range to measure |
end |
int : the index + 1 of the end of the range to measure |
contextStart |
int : the index of the start of the shaping context |
contextEnd |
int : the index + 1 of the end of the shaping context |
isRtl |
boolean : whether the run is in RTL direction |
offset |
int : index of caret position |
Returns | |
---|---|
float |
width measurement between start and offset |
float getRunAdvance (CharSequence text, int start, int end, int contextStart, int contextEnd, boolean isRtl, int offset)
Parameters | |
---|---|
text |
CharSequence : the text to measure. Cannot be null. |
start |
int : the index of the start of the range to measure |
end |
int : the index + 1 of the end of the range to measure |
contextStart |
int : the index of the start of the shaping context |
contextEnd |
int : the index + 1 of the end of the shaping context |
isRtl |
boolean : whether the run is in RTL direction |
offset |
int : index of caret position |
Returns | |
---|---|
float |
width measurement between start and offset |
Shader getShader ()
获取涂料的着色器对象。
Returns | |
---|---|
Shader |
the paint's shader (or null) |
Paint.Cap getStrokeCap ()
返回paint的Cap,控制如何处理描边线条和路径的开始和结束。
Returns | |
---|---|
Paint.Cap |
the line cap style for the paint, used whenever the paint's style is Stroke or StrokeAndFill. |
Paint.Join getStrokeJoin ()
返回绘画的笔画连接类型。
Returns | |
---|---|
Paint.Join |
the paint's Join. |
float getStrokeMiter ()
返回涂料的笔触斜角值。 用于控制连接角度尖锐时的斜接连接的行为。
Returns | |
---|---|
float |
the paint's miter limit, used whenever the paint's style is Stroke or StrokeAndFill. |
float getStrokeWidth ()
抚摸抚摸的宽度。
A value of 0 strokes in hairline mode. Hairlines always draws a single pixel independent of the canva's matrix.Returns | |
---|---|
float |
the paint's stroke width, used whenever the paint's style is Stroke or StrokeAndFill. |
Paint.Style getStyle ()
返回paint的样式,用于控制原语几何的解释方式(除了drawBitmap,它总是假定为FILL_STYLE)。
Returns | |
---|---|
Paint.Style |
the paint's style setting (Fill, Stroke, StrokeAndFill) |
Paint.Align getTextAlign ()
返回绘制文本的颜色对齐值。 这控制了文本相对于其原点的位置。 左对齐意味着所有文本都将被绘制到其原点的右侧(即原点指定了文本的左边缘),依此类推。
Returns | |
---|---|
Paint.Align |
the paint's Align value for drawing text. |
void getTextBounds (String text, int start, int end, Rect bounds)
返回边界(由调用者分配)包含所有字符的最小矩形,其中隐含的原点为(0,0)。
Parameters | |
---|---|
text |
String : String to measure and return its bounds |
start |
int : Index of the first char in the string to measure |
end |
int : 1 past the last char in the string measure |
bounds |
Rect : Returns the unioned bounds of all the text. Must be allocated by the caller. |
void getTextBounds (char[] text, int index, int count, Rect bounds)
返回边界(由调用者分配)包含所有字符的最小矩形,其中隐含的原点为(0,0)。
Parameters | |
---|---|
text |
char : Array of chars to measure and return their unioned bounds |
index |
int : Index of the first char in the array to measure |
count |
int : The number of chars, beginning at index, to measure |
bounds |
Rect : Returns the unioned bounds of all the text. Must be allocated by the caller. |
Locale getTextLocale ()
获取文本的主要区域设置。 请注意,这不是Paint所有的语言环境相关信息。 使用getTextLocales()
获取完整列表。
Returns | |
---|---|
Locale |
the paint's primary Locale used for drawing text, never null. |
LocaleList getTextLocales ()
获取文本区域设置列表。
Returns | |
---|---|
LocaleList |
the paint's LocaleList used for drawing text, never null or empty. |
void getTextPath (char[] text, int index, int count, float x, float y, Path path)
返回指定文本的路径(大纲)。 注意:就像Canvas.drawText一样,这将遵循绘画中的对齐设置。
Parameters | |
---|---|
text |
char : The text to retrieve the path from |
index |
int : The index of the first character in text |
count |
int : The number of characterss starting with index |
x |
float : The x coordinate of the text's origin |
y |
float : The y coordinate of the text's origin |
path |
Path : The path to receive the data describing the text. Must be allocated by the caller. |
void getTextPath (String text, int start, int end, float x, float y, Path path)
返回指定文本的路径(大纲)。 注意:就像Canvas.drawText一样,这将遵循绘画中的对齐设置。
Parameters | |
---|---|
text |
String : The text to retrieve the path from |
start |
int : The first character in the text |
end |
int : 1 past the last charcter in the text |
x |
float : The x coordinate of the text's origin |
y |
float : The y coordinate of the text's origin |
path |
Path : The path to receive the data describing the text. Must be allocated by the caller. |
float getTextScaleX ()
返回文本的油漆水平比例因子。 默认值是1.0。
Returns | |
---|---|
float |
the paint's scale factor in X for drawing/measuring text |
float getTextSize ()
返回油漆的文字大小。
Returns | |
---|---|
float |
the paint's text size. |
float getTextSkewX ()
返回涂料的文字水平偏斜系数。 默认值是0。
Returns | |
---|---|
float |
the paint's skew factor in X for drawing text. |
int getTextWidths (char[] text, int index, int count, float[] widths)
返回字符串中字符的提前宽度。
Parameters | |
---|---|
text |
char : The text to measure. Cannot be null. |
index |
int : The index of the first char to to measure |
count |
int : The number of chars starting with index to measure |
widths |
float : array to receive the advance widths of the characters. Must be at least a large as count. |
Returns | |
---|---|
int |
the actual number of widths returned. |
int getTextWidths (String text, float[] widths)
返回字符串中字符的提前宽度。
Parameters | |
---|---|
text |
String : The text to measure |
widths |
float : array to receive the advance widths of the characters. Must be at least a large as the text. |
Returns | |
---|---|
int |
the number of code units in the specified text. |
int getTextWidths (String text, int start, int end, float[] widths)
返回字符串中字符的提前宽度。
Parameters | |
---|---|
text |
String : The text to measure. Cannot be null. |
start |
int : The index of the first char to to measure |
end |
int : The end of the text slice to measure |
widths |
float : array to receive the advance widths of the characters. Must be at least a large as the text. |
Returns | |
---|---|
int |
the number of code units in the specified text. |
int getTextWidths (CharSequence text, int start, int end, float[] widths)
返回字符串中字符的提前宽度。
Parameters | |
---|---|
text |
CharSequence : The text to measure. Cannot be null. |
start |
int : The index of the first char to to measure |
end |
int : The end of the text slice to measure |
widths |
float : array to receive the advance widths of the characters. Must be at least a large as (end - start). |
Returns | |
---|---|
int |
the actual number of widths returned. |
Typeface getTypeface ()
获取油漆的字体对象。
The typeface object identifies which font to use when drawing or measuring text.Returns | |
---|---|
Typeface |
the paint's typeface (or null) |
Xfermode getXfermode ()
获取paint的xfermode对象。
Returns | |
---|---|
Xfermode |
the paint's xfermode (or null) |
boolean hasGlyph (String string)
确定绘画上设置的字体是否具有支持该字符串的字形。 最简单的情况是当字符串包含单个字符时,其中此方法确定字体是否具有该字符。 在多个字符的情况下,如果存在表示连字的单个字形,则该方法返回true。 例如,如果输入是一对区域指示符号,请确定该对是否存在表情符号标志。
最后,如果字符串包含变体选择器,则该方法仅在字体包含特定于该变体的字形时返回true。
检查是在整个回退链上完成的,而不仅仅是引用的直接字体。
Parameters | |
---|---|
string |
String : the string to test whether there is glyph support |
Returns | |
---|---|
boolean |
true if the typeface has a glyph for the string |
boolean isAntiAlias ()
Helper for getFlags(),如果设置了ANTI_ALIAS_FLAG位,则返回true AntiAliasing平滑正在绘制的边缘,但对形状内部没有影响。 请参阅setDither()和setFilterBitmap()以影响颜色的处理方式。
Returns | |
---|---|
boolean |
true if the antialias bit is set in the paint's flags. |
boolean isDither ()
Helper for getFlags(),如果设置了DITHER_FLAG位,则返回true抖动会影响比设备更高精度的颜色如何下采样。 不抖动通常更快,但更高精度的颜色只会被截断(例如8888 - > 565)。 抖动尝试分配此过程中固有的错误,以减少视觉伪影。
Returns | |
---|---|
boolean |
true if the dithering bit is set in the paint's flags. |
boolean isElegantTextHeight ()
获取优雅的度量标志。
Returns | |
---|---|
boolean |
true if elegant metrics are enabled for text drawing. |
boolean isFakeBoldText ()
用于getFlags()的助手,如果设置了FAKE_BOLD_TEXT_FLAG位,则返回true
Returns | |
---|---|
boolean |
true if the fakeBoldText bit is set in the paint's flags. |
boolean isFilterBitmap ()
位图过滤器是否被激活。 过滤会影响位图转换时的采样。 过滤不会影响位图中的颜色如何转换为设备像素。 这取决于抖动和xfermodes。
Returns | |
---|---|
boolean |
也可以看看:
boolean isLinearText ()
Helper for getFlags(),如果设置了LINEAR_TEXT_FLAG位,则返回true
Returns | |
---|---|
boolean |
true if the lineartext bit is set in the paint's flags |
boolean isStrikeThruText ()
Helper for getFlags(),如果设置了STRIKE_THRU_TEXT_FLAG位,则返回true
Returns | |
---|---|
boolean |
true if the strikeThruText bit is set in the paint's flags. |
boolean isSubpixelText ()
Helper for getFlags(),如果设置了SUBPIXEL_TEXT_FLAG位,则返回true
Returns | |
---|---|
boolean |
true if the subpixel bit is set in the paint's flags |
boolean isUnderlineText ()
Helper for getFlags(),如果UNDERLINE_TEXT_FLAG位置位,则返回true
Returns | |
---|---|
boolean |
true if the underlineText bit is set in the paint's flags. |
float measureText (char[] text, int index, int count)
返回文本的宽度。
Parameters | |
---|---|
text |
char : The text to measure. Cannot be null. |
index |
int : The index of the first character to start measuring |
count |
int : THe number of characters to measure, beginning with start |
Returns | |
---|---|
float |
The width of the text |
float measureText (CharSequence text, int start, int end)
返回文本的宽度。
Parameters | |
---|---|
text |
CharSequence : The text to measure |
start |
int : The index of the first character to start measuring |
end |
int : 1 beyond the index of the last character to measure |
Returns | |
---|---|
float |
The width of the text |
float measureText (String text, int start, int end)
返回文本的宽度。
Parameters | |
---|---|
text |
String : The text to measure. Cannot be null. |
start |
int : The index of the first character to start measuring |
end |
int : 1 beyond the index of the last character to measure |
Returns | |
---|---|
float |
The width of the text |
float measureText (String text)
返回文本的宽度。
Parameters | |
---|---|
text |
String : The text to measure. Cannot be null. |
Returns | |
---|---|
float |
The width of the text |
void set (Paint src)
将来自src的字段复制到此画图中。 这相当于在所有src字段上调用get(),并在其上调用相应的set()方法。
Parameters | |
---|---|
src |
Paint
|
void setARGB (int a, int r, int g, int b)
Helper to setColor(),它使用a,r,g,b和构造颜色int
Parameters | |
---|---|
a |
int : The new alpha component (0..255) of the paint's color. |
r |
int : The new red component (0..255) of the paint's color. |
g |
int : The new green component (0..255) of the paint's color. |
b |
int : The new blue component (0..255) of the paint's color. |
void setAlpha (int a)
Helper to setColor(),只分配颜色的alpha值,保持其r,g,b值不变。 如果alpha值超出范围[0..255],则结果未定义
Parameters | |
---|---|
a |
int : set the alpha component [0..255] of the paint's color. |
void setAntiAlias (boolean aa)
用于setFlags()的帮助器,设置或清除ANTI_ALIAS_FLAG位AntiAliasing平滑正在绘制的边缘,但对形状内部没有影响。 请参阅setDither()和setFilterBitmap()以影响颜色的处理方式。
Parameters | |
---|---|
aa |
boolean : true to set the antialias bit in the flags, false to clear it |
void setColor (int color)
设置油漆的颜色。 请注意,颜色是包含alpha以及r,g,b的int。 该32位值不是预乘,意味着它的alpha可以是任何值,而不管r,g,b的值如何。 有关更多详细信息,请参阅Color类。
Parameters | |
---|---|
color |
int : The new color (including alpha) to set in the paint. |
ColorFilter setColorFilter (ColorFilter filter)
设置或清除涂料的颜色过滤器,返回参数。
Parameters | |
---|---|
filter |
ColorFilter : May be null. The new filter to be installed in the paint |
Returns | |
---|---|
ColorFilter |
filter |
void setDither (boolean dither)
Helper for setFlags(),设置或清除DITHER_FLAG位抖动会影响比设备更高精度的颜色如何下采样。 不抖动通常更快,但更高精度的颜色只会被截断(例如8888 - > 565)。 抖动尝试分配此过程中固有的错误,以减少视觉伪影。
Parameters | |
---|---|
dither |
boolean : true to set the dithering bit in flags, false to clear it |
void setElegantTextHeight (boolean elegant)
设置油漆的高雅度量标志。 此设置选择未经过压缩的字体变体以适应基于拉丁的垂直度量标准,并且还会增加顶部和底部边界以提供更多空间。
Parameters | |
---|---|
elegant |
boolean : set the paint's elegant metrics flag for drawing text. |
void setFakeBoldText (boolean fakeBoldText)
帮助器setFlags(),设置或清除FAKE_BOLD_TEXT_FLAG位
Parameters | |
---|---|
fakeBoldText |
boolean : true to set the fakeBoldText bit in the paint's flags, false to clear it. |
void setFilterBitmap (boolean filter)
Helper用于setFlags(),设置或清除FILTER_BITMAP_FLAG位。 过滤会影响位图转换时的采样。 过滤不会影响位图中的颜色如何转换为设备像素。 这取决于抖动和xfermodes。
Parameters | |
---|---|
filter |
boolean : true to set the FILTER_BITMAP_FLAG bit in the paint's flags, false to clear it. |
void setFlags (int flags)
设置油漆的标志。 使用Flag enum特定标志值。
Parameters | |
---|---|
flags |
int : The new flag bits for the paint |
void setFontFeatureSettings (String settings)
设置字体功能设置。 格式与CSS font-feature-settings属性相同: http://dev.w3.org/csswg/css-fonts/#propdef-font-feature-settings
Parameters | |
---|---|
settings |
String : the font feature settings string to use, may be null. |
也可以看看:
void setHinting (int mode)
设置绘画的提示模式。 可能是HINTING_OFF
或HINTING_ON
。
Parameters | |
---|---|
mode |
int
|
void setLetterSpacing (float letterSpacing)
为文本设置油漆的字母间距。 默认值为0.该值以'EM'为单位。 轻微膨胀的典型值约为0.05。 负值可以缩小文字。
Parameters | |
---|---|
letterSpacing |
float : set the paint's letter-spacing for drawing text. |
void setLinearText (boolean linearText)
帮助器setFlags(),设置或清除LINEAR_TEXT_FLAG位
Parameters | |
---|---|
linearText |
boolean : true to set the linearText bit in the paint's flags, false to clear it. |
MaskFilter setMaskFilter (MaskFilter maskfilter)
设置或清除maskfilter对象。
Pass null to clear any previous maskfilter. As a convenience, the parameter passed is also returned.Parameters | |
---|---|
maskfilter |
MaskFilter : May be null. The maskfilter to be installed in the paint |
Returns | |
---|---|
MaskFilter |
maskfilter |
PathEffect setPathEffect (PathEffect effect)
设置或清除patheffect对象。
Pass null to clear any previous patheffect. As a convenience, the parameter passed is also returned.Parameters | |
---|---|
effect |
PathEffect : May be null. The patheffect to be installed in the paint |
Returns | |
---|---|
PathEffect |
effect |
Rasterizer setRasterizer (Rasterizer rasterizer)
此方法在API级别21中已弃用。
Rasterizer不受HW或PDF后端的支持。
设置或清除光栅化器对象。
Pass null to clear any previous rasterizer. As a convenience, the parameter passed is also returned.Parameters | |
---|---|
rasterizer |
Rasterizer : May be null. The new rasterizer to be installed in the paint. |
Returns | |
---|---|
Rasterizer |
rasterizer |
Shader setShader (Shader shader)
设置或清除着色器对象。
Pass null to clear any previous shader. As a convenience, the parameter passed is also returned.Parameters | |
---|---|
shader |
Shader : May be null. the new shader to be installed in the paint |
Returns | |
---|---|
Shader |
shader |
void setShadowLayer (float radius, float dx, float dy, int shadowColor)
这会在主图层下绘制一个阴影图层,具有指定的偏移和颜色以及模糊半径。 如果半径为0,则阴影层被去除。
可用于在文本下方创建模糊的阴影。 对其他绘图操作的支持仅限于软件渲染管线。
如果阴影颜色不透明,则阴影的Alpha将是颜料的Alpha,如果不是,则为阴影颜色的Alpha。
Parameters | |
---|---|
radius |
float
|
dx |
float
|
dy |
float
|
shadowColor |
int
|
void setStrikeThruText (boolean strikeThruText)
帮助器setFlags(),设置或清除STRIKE_THRU_TEXT_FLAG位
Parameters | |
---|---|
strikeThruText |
boolean : true to set the strikeThruText bit in the paint's flags, false to clear it. |
void setStrokeCap (Paint.Cap cap)
设置油漆的帽子。
Parameters | |
---|---|
cap |
Paint.Cap : set the paint's line cap style, used whenever the paint's style is Stroke or StrokeAndFill. |
void setStrokeJoin (Paint.Join join)
设置涂料的加入。
Parameters | |
---|---|
join |
Paint.Join : set the paint's Join, used whenever the paint's style is Stroke or StrokeAndFill. |
void setStrokeMiter (float miter)
设置涂料的笔触斜角值。 这用于在联接角度尖锐时控制斜接连接的行为。 该值必须> = 0。
Parameters | |
---|---|
miter |
float : set the miter limit on the paint, used whenever the paint's style is Stroke or StrokeAndFill. |
void setStrokeWidth (float width)
设置抚摸的宽度。 在发线模式下将0传递给中风。 细线总是绘制一个独立于Canva矩阵的像素。
Parameters | |
---|---|
width |
float : set the paint's stroke width, used whenever the paint's style is Stroke or StrokeAndFill. |
void setStyle (Paint.Style style)
设置油漆的风格,用于控制原始图的几何形状是如何解释的(除了drawBitmap,它总是假定为Fill)。
Parameters | |
---|---|
style |
Paint.Style : The new style to set in the paint |
void setSubpixelText (boolean subpixelText)
帮助器setFlags(),设置或清除SUBPIXEL_TEXT_FLAG位
Parameters | |
---|---|
subpixelText |
boolean : true to set the subpixelText bit in the paint's flags, false to clear it. |
void setTextAlign (Paint.Align align)
设置涂料的文字对齐。 这控制了文本相对于其原点的位置。 左对齐意味着所有文本都将被绘制到其原点的右侧(即原点指定了文本的左边缘),依此类推。
Parameters | |
---|---|
align |
Paint.Align : set the paint's Align value for drawing text. |
void setTextLocale (Locale locale)
将文本语言环境列表设置为仅包含语言环境的一个成员列表。 有关语言环境列表如何影响某些语言的文本绘制方式,请参见setTextLocales(LocaleList)
。
Parameters | |
---|---|
locale |
Locale : the paint's locale value for drawing text, must not be null. |
void setTextLocales (LocaleList locales)
设置文本区域设置列表。 文本区域设置列表影响文本如何为某些语言绘制。 例如,如果区域设置列表包含CHINESE
或CHINA
,那么文本渲染器将倾向于使用中文字体来绘制文本。 同样,如果区域设置列表包含JAPANESE
或JAPAN
,则文本渲染器将倾向于使用日文字体来绘制文本。 如果区域设置列表中同时包含这两个区域,则会考虑这些区域设置在列表中出现的顺序以决定字体。 这种区别很重要,因为中文和日文文本都使用了许多相同的Unicode代码点,但它们的外观对于每种语言都有微妙的差异。 默认情况下,文本区域设置列表被初始化为仅包含系统区域设置的一个成员列表。 这假设要呈现的文本很可能是用户的首选语言。 如果已知文本的实际语言或语言,则可以使用此方法将它们提供给文本渲染器。 文本渲染器可能会尝试根据要绘制的文本内容来猜测语言脚本,而与文本区域设置无关。 指定文本区域设置只是帮助它在某些不明确的情况下做得更好。
Parameters | |
---|---|
locales |
LocaleList : the paint's locale list for drawing text, must not be null or empty. |
void setTextScaleX (float scaleX)
为文本设置油漆的水平比例因子。 默认值是1.0。 值> 1.0将使文本更宽。 值<1.0将使文本变窄。
Parameters | |
---|---|
scaleX |
float : set the paint's scale in X for drawing/measuring text. |
void setTextSize (float textSize)
设置颜料的文字大小。 该值必须> 0
Parameters | |
---|---|
textSize |
float : set the paint's text size. |
void setTextSkewX (float skewX)
为文字设置涂料的水平偏斜系数。 默认值为0.要近似倾斜文本,请使用大约-0.25的值。
Parameters | |
---|---|
skewX |
float : set the paint's skew factor in X for drawing text. |
Typeface setTypeface (Typeface typeface)
设置或清除字体对象。
Pass null to clear any previous typeface. As a convenience, the parameter passed is also returned.Parameters | |
---|---|
typeface |
Typeface : May be null. The typeface to be installed in the paint |
Returns | |
---|---|
Typeface |
typeface |
void setUnderlineText (boolean underlineText)
帮助器setFlags(),设置或清除UNDERLINE_TEXT_FLAG位
Parameters | |
---|---|
underlineText |
boolean : true to set the underlineText bit in the paint's flags, false to clear it. |
Xfermode setXfermode (Xfermode xfermode)
设置或清除xfermode对象。
Pass null to clear any previous xfermode. As a convenience, the parameter passed is also returned.Parameters | |
---|---|
xfermode |
Xfermode : May be null. The xfermode to be installed in the paint |
Returns | |
---|---|
Xfermode |
xfermode |