欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Graphics

最编程 2024-02-18 10:00:34
...

方法详细信息

  • create

    public abstract Graphics create()
    创建一个新的 Graphics对象,该对象是此 Graphics对象的副本。
    结果
    一个新的图形上下文,它是此图形上下文的副本。
  • create

    public Graphics create​(int x,
                           int y,
                           int width,
                           int height)
    基于此Graphics对象创建新的Graphics对象,但具有新的平移和剪辑区域。 新的Graphics对象的原点已转换为指定的点( xy )。 其剪辑区域由原始剪辑区域与指定矩形的交集确定。 参数都在原始Graphics对象的坐标系中解释。 除了两个方面外,新的图形上下文与原始图形相同:
    • 新图形上下文由( xy )转换。 也就是说,点( 00在新的图形上下文)是一样的(X,Y)的原始图形上下文。
    • 除了从原始图形上下文继承的任何(已翻译的)剪切矩形之外,新图形上下文还有一个额外的剪切矩形。 新的剪辑矩形的原点是在( 00 ),以及由指定其大小widthheight参数。
    参数
    x - x坐标。
    y - y坐标。
    width - 剪切矩形的宽度。
    height - 剪切矩形的高度。
    结果
    一个新的图形上下文。
    另请参见:
    translate(int, int)clipRect(int, int, int, int)
  • translate

    public abstract void translate​(int x,
                                   int y)
    将图形上下文的原点转换为当前坐标系中的点( xy )。 修改此图形上下文,使其新原点对应于此图形上下文的原始坐标系中的点( xy )。 在此图形上下文的后续渲染操作中使用的所有坐标都将相对于此新原点。
    参数
    x - x坐标。
    y - y坐标。
  • getColor

    public abstract Color getColor()
    获取此图形上下文的当前颜色。
    结果
    此图形上下文的当前颜色。
    另请参见:
    ColorsetColor(Color)
  • setColor

    public abstract void setColor​(Color c)
    将此图形上下文的当前颜色设置为指定的颜色。 使用此图形上下文的所有后续图形操作都使用此指定颜色。
    参数
    c - 新的渲染颜色。
    另请参见:
    ColorgetColor()
  • setPaintMode

    public abstract void setPaintMode()
    设置此图形上下文的绘制模式,以使用此图形上下文的当前颜色覆盖目标。 这将逻辑像素操作功能设置为绘画或覆盖模式。 所有后续渲染操作都将使用当前颜色覆盖目标。
  • setXORMode

    public abstract void setXORMode​(Color c1)
    设置此图形上下文的绘制模式,以在此图形上下文的当前颜色和新指定颜色之间切换。 这指定在XOR模式下执行逻辑像素操作,其在当前颜色和指定的XOR颜色之间交替像素。

    当执行绘图操作时,作为当前颜色的像素被改变为指定的颜色,反之亦然。

    具有除这两种颜色之外的颜色的像素以不可预测但可逆的方式改变; 如果两次绘制相同的图形,则所有像素都将恢复为原始值。

    参数
    c1 - XOR交替颜色
  • getFont

    public abstract Font getFont()
    获取当前字体。
    结果
    此图形上下文的当前字体。
    另请参见:
    FontsetFont(Font)
  • setFont

    public abstract void setFont​(Font font)
    将此图形上下文的字体设置为指定的字体。 使用此图形上下文的所有后续文本操作都使用此字体。 静默忽略null参数。
    参数
    font - 字体。
    另请参见:
    getFont()drawString(java.lang.String, int, int)drawBytes(byte[], int, int, int, int)drawChars(char[], int, int, int, int)
  • getFontMetrics

    public FontMetrics getFontMetrics()
    获取当前字体的字体度量。
    结果
    此图形上下文的当前字体的字体指标。
    另请参见:
    getFont()FontMetricsgetFontMetrics(Font)
  • getFontMetrics

    public abstract FontMetrics getFontMetrics​(Font f)
    获取指定字体的字体度量标准。
    参数
    f - 指定的字体
    结果
    指定字体的字体指标。
    另请参见:
    getFont()FontMetricsgetFontMetrics()
  • getClipBounds

    public abstract Rectangle getClipBounds()
    返回当前剪切区域的边界矩形。 此方法引用用户剪辑,该剪辑独立于与设备边界和窗口可见性相关联的剪辑。 如果先前未设置剪辑,或者已使用setClip(null)清除剪辑,则此方法返回null 矩形中的坐标相对于此图形上下文的坐标系原点。
    结果
    当前剪切区域的边界矩形,如果未设置剪辑, null
    从以下版本开始:
    1.1
    另请参见:
    getClip()clipRect(int, int, int, int)setClip(int, int, int, int)setClip(Shape)
  • clipRect

    public abstract void clipRect​(int x,
                                  int y,
                                  int width,
                                  int height)
    将当前剪辑与指定的矩形相交。 生成的剪切区域是当前剪切区域和指定矩形的交集。 如果没有当前剪切区域,或者因为剪辑从未设置过,或者剪辑已使用setClip(null)清除,则指定的矩形将成为新剪辑。 此方法设置用户剪辑,该剪辑独立于与设备边界和窗口可见性相关联的剪辑。 此方法只能用于使当前剪辑更小。 要将当前剪辑设置得更大,请使用任何setClip方法。 渲染操作在剪切区域之外没有影响。
    参数
    x - 与剪辑相交的矩形的x坐标
    y - 与剪辑相交的矩形的y坐标
    width - 与剪辑相交的矩形的宽度
    height - 与剪辑相交的矩形的高度
    另请参见:
    setClip(int, int, int, int)setClip(Shape)
  • setClip

    public abstract void setClip​(int x,
                                 int y,
                                 int width,
                                 int height)
    将当前剪辑设置为给定坐标指定的矩形。 此方法设置用户剪辑,该剪辑独立于与设备边界和窗口可见性相关联的剪辑。 渲染操作在剪切区域之外没有影响。
    参数
    x - 新剪辑矩形的 x坐标。
    y - 新剪辑矩形的 y坐标。
    width - 新剪辑矩形的宽度。
    height - 新剪辑矩形的高度。
    从以下版本开始:
    1.1
    另请参见:
    clipRect(int, int, int, int)setClip(Shape)getClip()
  • getClip

    public abstract Shape getClip()
    获取当前剪切区域。 此方法返回用户剪辑,该剪辑独立于与设备边界和窗口可见性关联的剪辑。 如果先前未设置剪辑,或者已使用setClip(null)清除剪辑,则此方法返回null
    结果
    表示当前剪切区域的 Shape对象,如果未设置剪辑, null
    从以下版本开始:
    1.1
    另请参见:
    getClipBounds()clipRect(int, int, int, int)setClip(int, int, int, int)setClip(Shape)
  • setClip

    public abstract void setClip​(Shape clip)
    将当前剪切区域设置为任意剪辑形状。 并非所有实现Shape接口的对象都可用于设置剪辑。 Shape被保证将支持的对象是Shape ,它们通过所获得的对象getClip方法和经由Rectangle对象。 此方法设置用户剪辑,该剪辑独立于与设备边界和窗口可见性相关联的剪辑。
    参数
    clip - 用于设置剪辑的 Shape
    从以下版本开始:
    1.1
    另请参见:
    getClip()clipRect(int, int, int, int)setClip(int, int, int, int)
  • copyArea

    public abstract void copyArea​(int x,
                                  int y,
                                  int width,
                                  int height,
                                  int dx,
                                  int dy)
    按组件dxdy指定的距离复制组件的区域。 xy指定的点y ,此方法向下和向右复制。 要向左或向上复制组件的区域,请为dxdy指定负值。 如果源矩形的一部分位于组件的边界之外,或者被另一个窗口或组件遮挡,则copyArea将无法复制关联的像素。 可以通过调用组件的paint方法刷新省略的区域。
    参数
    x - 源矩形的 x坐标。
    y - 源矩形的 y坐标。
    width - 源矩形的宽度。
    height - 源矩形的高度。
    dx - 复制像素的水平距离。
    dy - 复制像素的垂直距离。
  • drawLine

    public abstract void drawLine​(int x1,
                                  int y1,
                                  int x2,
                                  int y2)
    在此图形上下文的坐标系中,使用当前颜色在点 (x1, y1)(x2, y2)之间绘制一条线。
    参数
    x1 - 第一个点的 x坐标。
    y1 - 第一个点的 y坐标。
    x2 - 第二个点的 x坐标。
    y2 - 第二个点的 y坐标。
  • fillRect

    public abstract void fillRect​(int x,
                                  int y,
                                  int width,
                                  int height)
    填充指定的矩形。 矩形的左右边缘位于xx + width - 1 顶部和底部边缘位于yy + height - 1 得到的矩形覆盖了width像素宽, height像素高的区域。 使用图形上下文的当前颜色填充矩形。
    参数
    x - 要填充的矩形的 x坐标。
    y - 要填充的矩形的 y坐标。
    width - 要填充的矩形的宽度。
    height - 要填充的矩形的高度。
    另请参见:
    clearRect(int, int, int, int)drawRect(int, int, int, int)
  • drawRect

    public void drawRect​(int x,
                         int y,
                         int width,
                         int height)
    绘制指定矩形的轮廓。 矩形的左右边缘位于xx + width 顶部和底部边缘位于yy + height 使用图形上下文的当前颜色绘制矩形。
    参数
    x - 要绘制的矩形的 x坐标。
    y - 要绘制的矩形的 y坐标。
    width - 要绘制的矩形的宽度。
    height - 要绘制的矩形的高度。
    另请参见:
    fillRect(int, int, int, int)clearRect(int, int, int, int)
  • clearRect

    public abstract void clearRect​(int x,
                                   int y,
                                   int width,
                                   int height)
    通过使用当前绘图表面的背景颜色填充指定的矩形来清除它。 此操作不使用当前的绘制模式。

    从Java 1.1开始,屏幕外图像的背景颜色可能与系统有关。 应用程序应使用setColor然后使用fillRect以确保将屏幕外图像清除为特定颜色。

    参数
    x - 要清除的矩形的 x坐标。
    y - 要清除的矩形的 y坐标。
    width - 要清除的矩形的宽度。
    height - 要清除的矩形的高度。
    另请参见:
    fillRect(int, int, int, int)drawRect(int, int, int, int)setColor(java.awt.Color)setPaintMode()setXORMode(java.awt.Color)
  • drawRoundRect

    public abstract void drawRoundRect​(int x,
                                       int y,
                                       int width,
                                       int height,
                                       int arcWidth,
                                       int arcHeight)
    使用此图形上下文的当前颜色绘制轮廓圆角矩形。 矩形的左右边缘分别为xx + width 矩形的顶部和底部边缘位于yy + height
    参数
    x - 要绘制的矩形的 x坐标。
    y - 要绘制的矩形的 y坐标。
    width - 要绘制的矩形的宽度。
    height - 要绘制的矩形的高度。
    arcWidth - 四角处弧的水平直径。
    arcHeight - 四角处弧的垂直直径。
    另请参见:
    fillRoundRect(int, int, int, int, int, int)
  • fillRoundRect

    public abstract void fillRoundRect​(int x,
                                       int y,
                                       int width,
                                       int height,
                                       int arcWidth,
                                       int arcHeight)
    使用当前颜色填充指定的圆角矩形。 矩形的左右边缘分别为xx + width - 1 矩形的顶部和底部边缘位于yy + height - 1
    参数
    x - 要填充的矩形的 x坐标。
    y - 要填充的矩形的 y坐标。
    width - 要填充的矩形的宽度。
    height - 要填充的矩形的高度。
    arcWidth - 四角处弧的水平直径。
    arcHeight - 四角处弧的垂直直径。
    另请参见:
    drawRoundRect(int, int, int, int, int, int)
  • draw3DRect

    public void draw3DRect​(int x,
                           int y,
                           int width,
                           int height,
                           boolean raised)
    绘制指定矩形的三维突出显示轮廓。 矩形的边缘突出显示,使它们看起来是斜角并从左上角点亮。

    用于突出显示效果的颜色基于当前颜色确定。 生成的矩形覆盖的区域为width + 1像素宽,高height + 1像素。

    参数
    x - 要绘制的矩形的 x坐标。
    y - 要绘制的矩形的 y坐标。
    width - 要绘制的矩形的宽度。
    height - 要绘制的矩形的高度。
    raised - 一个布尔值,用于确定矩形是显示在曲面上方还是沉入曲面中。
    另请参见:
    fill3DRect(int, int, int, int, boolean)
  • fill3DRect

    public void fill3DRect​(int x,
                           int y,
                           int width,
                           int height,
                           boolean raised)
    绘制一个用当前颜色填充的三维高亮矩形。 矩形的边缘将突出显示,使其看起来好像边缘是从左上角开始倾斜和点亮的。 用于突出显示效果的颜色将根据当前颜色确定。
    参数
    x - 要填充的矩形的 x坐标。
    y - 要填充的矩形的 y坐标。
    width - 要填充的矩形的宽度。
    height - 要填充的矩形的高度。
    raised - 一个布尔值,用于确定矩形是显示在曲面上方还是蚀刻到曲面中。
    另请参见:
    draw3DRect(int, int, int, int, boolean)
  • drawOval

    public abstract void drawOval​(int x,
                                  int y,
                                  int width,
                                  int height)
    绘制椭圆的轮廓。 其结果是由指定的矩形内配合在一个圆或椭圆xywidth ,和height参数。

    椭圆形的面积为width + 1像素宽, height + 1像素高。

    参数
    x - 要绘制的椭圆的左上角的 x坐标。
    y - 要绘制的椭圆的左上角的 y坐标。
    width - 要绘制的椭圆的宽度。
    height - 要绘制的椭圆的高度。
    另请参见:
    fillOval(int, int, int, int)
  • fillOval

    public abstract void fillOval​(int x,
                                  int y,
                                  int width,
                                  int height)
    使用当前颜色填充由指定矩形限定的椭圆。
    参数
    x - 要填充的椭圆的左上角的 x坐标。
    y - 要填充的椭圆的左上角的 y坐标。
    width - 要填充的椭圆的宽度。
    height - 要填充的椭圆的高度。
    另请参见:
    drawOval(int, int, int, int)
  • drawArc

    public abstract void drawArc​(int x,
                                 int y,
                                 int width,
                                 int height,
                                 int startAngle,
                                 int arcAngle)
    绘制覆盖指定矩形的圆形或椭圆弧的轮廓。

    生成的弧线从startAngle开始,并使用当前颜色延伸arcAngle度。 角度被解释为0度位于3点钟位置。 正值表示逆时针旋转,而负值表示顺时针旋转。

    弧的中心是矩形的中心,其原点是( xy ),其大小由widthheight参数指定。

    由此产生的弧覆盖面积为width + 1像素宽,高height + 1像素高。

    相对于边界矩形的非方形范围指定角度,使得45度总是落在从椭圆的中心到边界矩形的右上角的线上。 因此,如果边界矩形在一个轴上明显长于另一个轴,则弧段开始和结束的角度将沿着边界的长轴进一步偏斜。

    参数
    x - 要绘制的圆弧左上角的 x坐标。
    y - 要绘制的圆弧左上角的 y坐标。
    width - 要绘制的弧的宽度。
    height - 要绘制的弧的高度。
    startAngle - 起始角度。
    arcAngle - 弧的角度范围,相对于起始角度。
    另请参见:
    fillArc(int, int, int, int, int, int)
  • fillArc

    public abstract void fillArc​(int x,
                                 int y,
                                 int width,
                                 int height,
                                 int startAngle,
                                 int arcAngle)
    填充覆盖指定矩形的圆形或椭圆形弧。

    结果弧开始于startAngle并延伸至arcAngle度。 角度被解释为0度位于3点钟位置。 正值表示逆时针旋转,而负值表示顺时针旋转。

    弧的中心是矩形的中心,其原点是( xy ),其大小由widthheight参数指定。

    由此产生的弧覆盖面积为width + 1像素宽,高height + 1像素高。

    相对于边界矩形的非方形范围指定角度,使得45度总是落在从椭圆的中心到边界矩形的右上角的线上。 因此,如果边界矩形在一个轴上明显长于另一个轴,则弧段开始和结束的角度将沿着边界的长轴进一步偏斜。

    参数
    x - 要填充的圆弧左上角的 x坐标。
    y - 要填充的圆弧左上角的 y坐标。
    width - 要填充的弧的宽度。
    height - 要填充的弧的高度。
    startAngle - 起始角度。
    arcAngle - 弧的角度范围,相对于起始角度。
    另请参见:
    drawArc(int, int, int, int, int, int)
  • drawPolyline

    public abstract void drawPolyline​(int[] xPoints,
                                      int[] yPoints,
                                      int nPoints)
    绘制由xy坐标数组定义的一系列连通线。 每对( xy )坐标定义一个点。 如果第一个点与最后一个点不同,则该数字不会关闭。
    参数
    xPoints - 一个 x点数组
    yPoints - 一组 y
    nPoints - 总分数
    从以下版本开始:
    1.1
    另请参见:
    drawPolygon(int[], int[], int)
  • drawPolygon

    public abstract void drawPolygon​(int[] xPoints,
                                     int[] yPoints,
                                     int nPoints)
    绘制由xy坐标数组定义的闭合多边形。 每对( xy )坐标定义一个点。

    此方法绘制由nPoint线段定义的多边形,其中第一个nPoint - 1线段是从(xPoints[i - 1], yPoints[i - 1])(xPoints[i], yPoints[i]) ,为1‰ i nPoints 如果这些点不同,则通过绘制将最终点连接到第一个点的线自动关闭该图。

    参数
    xPoints - 一个 x坐标数组。
    yPoints - 一个 y坐标的数组。
    nPoints - 总分数。
    另请参见:
    fillPolygon(int[], int[], int)drawPolyline(int[], int[], int)
  • drawPolygon

    public void drawPolygon​(Polygon p)
    绘制由指定的 Polygon对象定义的多边形的轮廓。
    参数
    p - 要绘制的多边形。
    另请参见:
    fillPolygon(int[], int[], int)drawPolyline(int[], int[], int)
  • fillPolygon

    public abstract void fillPolygon​(int[] xPoints,
                                     int[] yPoints,
                                     int nPoints)
    填充由xy坐标数组定义的闭合多边形。

    此方法绘制由nPoint线段定义的多边形,其中第一个nPoint - 1线段是从(xPoints[i - 1], yPoints[i - 1])(xPoints[i], yPoints[i]) ,用于1‰ i nPoints 如果这些点不同,则通过绘制将最终点连接到第一个点的线自动关闭该图。

    多边形内的区域使用偶数奇数填充规则定义,也称为交替规则。

    参数
    xPoints - 一个 x坐标数组。
    yPoints - 一个 y坐标的数组。
    nPoints - 总分数。
    另请参见:
    drawPolygon(int[], int[], int)
  • fillPolygon

    public void fillPolygon​(Polygon p)
    使用图形上下文的当前颜色填充由指定的Polygon对象定义的多边形。

    多边形内的区域使用偶数奇数填充规则定义,也称为交替规则。

    参数
    p - 要填充的多边形。
    另请参见:
    drawPolygon(int[], int[], int)
  • drawString

    public abstract void drawString​(String str,
                                    int x,
                                    int y)
    使用此图形上下文的当前字体和颜色绘制由指定字符串给出的文本。 最左边的字符的基线位于此图形上下文的坐标系中的位置( xy )。
    参数
    str - 要绘制的字符串。
    x - x坐标。
    y - y坐标。
    异常
    NullPointerException - 如果 strnull
    另请参见:
    drawBytes(byte[], int, int, int, int)drawChars(char[], int, int, int, int)
  • drawString

    public abstract void drawString​(AttributedCharacterIterator iterator,
                                    int x,
                                    int y)
    根据TextAttribute类的规范,呈现指定迭代器的文本,并应用其属性。

    最左边的字符的基线位于此图形上下文的坐标系中的位置( xy )。

    参数
    iterator - 要绘制文本的迭代器
    x - x坐标。
    y - y坐标。
    异常
    NullPointerException - 如果 iteratornull
    另请参见:
    drawBytes(byte[], int, int, int, int)drawChars(char[], int, int, int, int)
  • drawChars

    public void drawChars​(char[] data,
                          int offset,
                          int length,
                          int x,
                          int y)
    使用此图形上下文的当前字体和颜色绘制指定字符数组给出的文本。 第一个字符的基线位于此图形上下文的坐标系中的位置( xy )。
    参数
    data - 要绘制的字符数组
    offset - 数据中的起始偏移量
    length - 要绘制的字符数
    x - 文本基线的 x坐标
    y - 文本基线的 y坐标
    异常
    NullPointerException - 如果 datanull
    IndexOutOfBoundsException - 如果 offsetlength小于零,或者 offset+length大于 data数组的长度。
    另请参见:
    drawBytes(byte[], int, int, int, int)drawString(java.lang.String, int, int)
  • drawBytes

    public void drawBytes​(byte[] data,
                          int offset,
                          int length,
                          int x,
                          int y)
    使用此图形上下文的当前字体和颜色绘制由指定字节数组给出的文本。 第一个字符的基线位于此图形上下文的坐标系中的位置( xy )。

    建议不要使用此方法,因为每个字节都被解释为0到255范围内的Unicode代码点,因此只能用于绘制该范围内的拉丁字符。

    参数
    data - 要绘制的数据
    offset - 数据中的起始偏移量
    length - 绘制的字节数
    x - 文本基线的 x坐标
    y - 文本基线的 y坐标
    异常
    NullPointerException - 如果 datanull
    IndexOutOfBoundsException - 如果 offsetlength小于零,或者 offset+length大于 data数组的长度。
    另请参见:
    drawChars(char[], int, int, int, int)drawString(java.lang.String, int, int)
  • drawImage

    public abstract boolean drawImage​(Image img,
                                      int x,
                                      int y,
                                      ImageObserver observer)
    绘制尽可能多的指定图像。 在此图形上下文的坐标空间中,图像以其左上角( xy )绘制。 图像中的透明像素不会影响已存在的任何像素。

    即使尚未加载完整图像,此方法也会在所有情况下立即返回,并且尚未针对当前输出设备进行抖动和转换。

    如果图像已完全加载且其像素不再更改,则drawImage将返回true 否则, drawImage返回false并且随着更多图像变得可用或是时候绘制另一帧动画,加载图像的过程会通知指定的图像观察者。

    参数
    img - 要绘制的指定图像。 如果img为null,则此方法不执行任何img
    x - x坐标。
    y - y坐标。
    observer - 要转换更多图像时要通知的对象。
    结果
    false如果图像像素仍在变化; 否则为true
    另请参见:
    ImageImageObserverImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
  • drawImage

    public abstract boolean drawImage​(Image img,
                                      int x,
                                      int y,
                                      int width,
                                      int height,
                                      ImageObserver observer)
    绘制已经缩放以适合指定矩形内部的指定图像。

    图像在此图形上下文的坐标空间的指定矩形内绘制,并在必要时进行缩放。 透明像素不会影响已存在的任何像素。

    即使整个图像尚未针对当前输出设备进行缩放,抖动和转换,此方法在所有情况下都会立即返回。 如果当前输出表示尚未完成,则drawImage返回false 随着更多图像变得可用,加载图像的过程通过调用其imageUpdate方法来通知图像观察者。

    由于已为此输出设备构建了未缩放版本的图像,因此图像的缩放版本不一定立即可用。 可以单独地高速缓存图像的每个尺寸,并且在单独的图像生成序列中从原始数据生成图像。

    参数
    img - 要绘制的指定图像。 如果img为null,则此方法不执行任何img
    x - x坐标。
    y - y坐标。
    width - 矩形的宽度。
    height - 矩形的高度。
    observer - 在转换更多图像时要通知的对象。
    结果
    false如果图像像素仍在变化; 否则为true
    另请参见:
    ImageImageObserverImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
  • drawImage

    public abstract boolean drawImage​(Image img,
                                      int x,
                                      int y,
                                      Color bgcolor,
                                      ImageObserver observer)
    绘制尽可能多的指定图像。 在此图形上下文的坐标空间中,图像以其左上角( xy )绘制。 透明像素以指定的背景颜色绘制。

    此操作相当于使用给定颜色填充指定图像的宽度和高度的矩形,然后在其上绘制图像,但可能更有效。

    即使尚未加载完整图像,此方法也会在所有情况下立即返回,并且尚未针对当前输出设备进行抖动和转换。

    如果图像已完全加载且其像素不再更改,则drawImage将返回true 否则, drawImage返回false并且随着更多图像变得可用或是时候绘制另一帧动画,加载图像的过程会通知指定的图像观察者。

    参数
    img - 要绘制的指定图像。 如果img为null,则此方法不执行任何img
    x - x坐标。
    y - y坐标。
    bgcolor - 要在图像的非不透明部分下绘制的背景颜色。
    observer - 在转换更多图像时要通知的对象。