public abstract class Graphics2D extends Graphics
Graphics2D
类扩展了
Graphics
类提供几何,更复杂的控制系统的坐标变换,色彩管理,和文本布局。这是绘制二维图形的基本类,在java文本和图像(TM)平台。
Graphics2D
对象在一个独立于设备的坐标系统称为用户空间的规定,这是由应用程序使用。的
Graphics2D
对象包含一个
AffineTransform
对象作为其渲染状态的一部分,定义了如何转换坐标从用户空间到设备空间依赖于设备坐标。
在设备空间中的坐标通常是指单独的设备像素,并对准这些像素之间的无限薄的差距。一些Graphics2D
对象可以用来捕捉渲染操作存储成一个图形文件对以后未知的物理分辨率的具体设备的播放。由于分辨率可能不知道,当绘制操作的Graphics2D
Transform
捕获,建立用户坐标系变换到一个虚拟的设备空间,接近目标设备预期的分辨率。进一步的转换可能需要被应用在播放时间,如果估计是不正确的。
有些作业的渲染属性的对象出现在装置的空间,但是所有的Graphics2D
方法把用户空间坐标。
每一Graphics2D
对象与目标定义在渲染发生相关。一个GraphicsConfiguration
对象定义的渲染目标的特征,如像素格式和分辨率。相同的渲染目标是在一个Graphics2D
对象的生活。
创建一个Graphics2D
对象时的GraphicsConfiguration
指定的Graphics2D
目标default transform(一Component
或Image
)。这个默认变换将用户空间坐标系统映射到屏幕和打印机设备的坐标,这样的原点映射到设备的目标区域的左上角,增加x坐标延伸到右边,增加Y坐标向下延伸。默认的缩放变换是这些设备的接近72的DPI设置为身份,如屏幕设备。默认变换的缩放设置为每平方英寸约72个用户空间坐标,用于高分辨率设备,如打印机。图像缓冲区,默认的变换是Identity
变换。
Graphics2D
渲染属性控制。渲染器可以优化这些步骤,通过缓存未来呼吁的结果,被倒塌的多个虚拟成一个单一的操作步骤,或通过识别各种属性作为常见的简单的情况,可以通过修改操作的其他部分消除。
渲染过程中的步骤是:
Clip
,Clip
是由用户空间的一个Shape
指定是用Graphics
和Graphics2D
各种剪辑手法的程序控制。这个空用户卡转化装置的空间由目前的Transform
结合空夹持器,这是由Windows和设备程度的可见性定义。用户的夹具和装置夹的组合定义了空复合夹,这决定了最终的裁剪区域。用户剪辑不被渲染系统修改,以反映所得到的复合剪辑。Composite
属性在Graphics2D
语境。Shape
operations
draw(Shape)
操作,然后createStrokedShape
法在Graphics2D
上下文的当前Stroke
属性是用来构建一个新的Shape
对象包含指定的Shape
概述。Shape
从用户空间转换到设备空间使用当前Transform
在Graphics2D
语境。Shape
轮廓用Shape
的getPathIterator
提取方法,它返回一个对象,PathIterator
迭代的Shape
沿边界。Graphics2D
对象不能处理的曲线段,PathIterator
对象返回就可以打电话Shape
交替getPathIterator
方法,并将Shape
。Graphics2D
上下文的当前Paint
查询一个PaintContext
,指定颜色在设备空间渲染。String
符号集:
String
,然后在Graphics2D
上下文的当前Font
要求转换为Unicode字符在String
为一组符号表示什么的基本布局和整形算法实现的字体。AttributedCharacterIterator
,迭代器要求将自己一TextLayout
使用嵌入式字体属性。实现更复杂的TextLayout
字形布局算法进行Unicode双向布局自动调整为不同的写作方向,多种字体。GlyphVector
,然后GlyphVector
对象已经包含合适的字体特定的字形码为每个符号的位置明确的坐标。Font
查询获得的指示符号概述。这些大纲被视为在用户空间中的形状相对于每一个字形的位置,在步骤1中确定。Shape
operations。Paint
查询一个PaintContext
,指定颜色在设备空间渲染。Image
Operations
Image
包围盒的定义。这个边界框在图像空间中指定的,这是Image
对象的局部坐标系统。AffineTransform
传递的drawImage(Image, AffineTransform, ImageObserver)
,AffineTransform
用于将包围盒从图像空间到用户空间。如果不提供AffineTransform
,包围盒作为如果它已经在用户空间。Image
包围盒是从用户空间转化装置的空间使用当前Transform
。请注意,转换的包围盒的结果并不一定会导致在设备空间中的矩形区域。Image
对象决定什么颜色渲染,取样根据源到目的地的坐标映射指定的电流Transform
和可选的图像变换。Graphics2D
渲染属性:
Component
的颜色。
Component
的
Font
。
Component
的
GraphicsConfiguration
的
getDefaultTransform
。
AlphaComposite.SRC_OVER
规则。
Clip
,输出的是夹到
Component
。
java 2D(TM)(java(TM)2平台)API支持抗锯齿渲染。一个宽度为一个像素的笔不需要完全落在像素N,而不是像素n + 1。笔可以部分落在两个像素上。它是没有必要选择一个广泛的笔的偏置方向,因为沿笔遍历边缘发生的混合,使笔的子像素位置的用户可见。另一方面,当抗锯齿设置KEY_ANTIALIASING
暗示关键的VALUE_ANTIALIAS_OFF
提示值关闭,渲染器可能需要申请一个偏置来确定哪些像素修改当笔跨界像素边界,如当它是画在设备空间的整数坐标。虽然一个抗锯齿渲染能力使渲染的模型指定为钢笔的偏见不再是必要的,它是理想的抗锯齿和非抗锯齿渲染执行同样的常见情况绘制一个像素宽的水平和垂直线的屏幕上。确保打开抗锯齿设置KEY_ANTIALIASING
提示键VALUE_ANTIALIAS_ON
不会引起这些线突然变得宽两倍,一半是不透明的,是最为理想的模型指定一个这样的线路路径使他们完全覆盖一组特定的像素来帮助他们增加脆度。
java JDK 1.1绘制2D API保持行为的相容性,使得传统业务和现有的渲染行为不变的情况下,java 2D API。传统的方法是定义映射到一般draw
和fill
方法,这清楚地表明,如何Graphics2D
延伸Graphics
基于Stroke
和Transform
属性和渲染提示设置。定义执行相同的默认属性设置。例如,默认Stroke
是BasicStroke
宽度在1和没有闯劲、默认变换屏幕绘图是一个恒等变换。
以下两个规则提供可预测的渲染行为是否锯齿或锯齿被使用。
BasicStroke
对象可能是“标准化”提供了一致的渲染定位时,在各点上的冲和是否绘制锯齿或锯齿渲染。这种过程是由KEY_STROKE_CONTROL
提示控制。没有指定确切的归一化算法,但这种正常化的目标是确保线条的呈现一致的外观无论怎样它们落在像素网格和促进反锯齿模式更坚实的水平线和垂直线使他们像他们的非抗锯齿的同行更密切。一个典型的归一化步骤可能促进抗锯齿线端点像素中心降低掺量或调整非抗锯齿线的亚像素定位使浮点线宽度轮偶数或奇数像素数相等的可能性。这个过程可以移动端点高达半个像素(通常是沿两个轴的正无穷大),以促进这些一致的结果。一般传统方法的以下定义执行相同的默认属性设置下的以前指定的行为:
fill
操作,包括fillRect
,fillRoundRect
,fillOval
,fillArc
,fillPolygon
,和clearRect
,fill
现在可以被称为理想的Shape
。例如,当填充矩形:填充(新的矩形(X,Y,W,H));叫做。
drawLine
,drawRect
,drawRoundRect
,drawOval
,drawArc
,drawPolyline
,和drawPolygon
,draw
现在可以被称为理想的Shape
。例如,当绘制一个矩形:绘制(新的矩形(X,Y,W,H));叫做。
Graphics
类,谓其行为在Graphics2D
上下文的当前Stroke
和Paint
对象的drawLine
和fillRect
方法上实现了draw3DRect
和fill3DRect
方法。这类重写这些实现版本使用当前Color
完全覆盖当前Paint
和使用fillRect
描述完全相同的行为,原有的方法无论当前Stroke
设置。Graphics
类只定义
setColor
方法控制颜色画。由于java 2D API扩展
Color
对象实施新的
Paint
接口,现有的
setColor
方法现在是一个用于设置当前
Paint
属性到一个
Color
对象方便的方法。
setColor(c)
相当于
setPaint(c)
。
的Graphics
类定义了两个方法控制颜色如何应用到目的地。
setPaintMode
方法是设置默认Composite
方便的方法实现的,相当于setComposite(new AlphaComposite.SrcOver)
。setXORMode(Color xorcolor)
方法的实施作为一种方便的方法,设置了一个特殊的Composite
对象,忽略了Alpha
组件源颜色和目标颜色设置值:dstpixel =(PixelOf(srccolor)^ PixelOf(xorcolor)^ dstpixel);
RenderingHints
Modifier | Constructor and Description |
---|---|
protected |
Graphics2D()
构建了一种新的
Graphics2D 对象。
|
Modifier and Type | Method and Description |
---|---|
abstract void |
addRenderingHints(Map<?,?> hints)
设置渲染算法的任意数量的首选项的值。
|
abstract void |
clip(Shape s)
与目前的
Clip 与指定的
Shape 室内设置产生的交叉
Clip 。
|
abstract void |
draw(Shape s)
下一
Shape 使用当前
Graphics2D 语境设置的轮廓。
|
void |
draw3DRect(int x, int y, int width, int height, boolean raised)
绘制指定矩形的三维突出显示的轮廓。
|
abstract void |
drawGlyphVector(GlyphVector g, float x, float y)
使文本的指定
GlyphVector 使用
Graphics2D 语境的渲染属性。
|
abstract void |
drawImage(BufferedImage img, BufferedImageOp op, int x, int y)
呈现
BufferedImage ,与
BufferedImageOp 过滤。
|
abstract boolean |
drawImage(Image img, AffineTransform xform, ImageObserver obs)
渲染一个图像,在绘制之前将图像空间的一个变换转换成用户空间。
|
abstract void |
drawRenderableImage(RenderableImage img, AffineTransform xform)
呈现
RenderableImage ,应用变换从图像空间到用户空间的画前。
|
abstract void |
drawRenderedImage(RenderedImage img, AffineTransform xform)
呈现
RenderedImage ,应用变换从图像空间到用户空间的画前。
|
abstract void |
drawString(AttributedCharacterIterator iterator, float x, float y)
使指定的迭代器将其属性按照
TextAttribute 类的规范文本。
|
abstract void |
drawString(AttributedCharacterIterator iterator, int x, int y)
使指定的迭代器将其属性按照
TextAttribute 类的规范文本。
|
abstract void |
drawString(String str, float x, float y)
将由指定的
String 指定的文本,使用当前的文本属性状态的
Graphics2D 语境。
|
abstract void |
drawString(String str, int x, int y)
使指定的
String 文本,使用当前的文本属性状态的
Graphics2D 语境。
|
abstract void |
fill(Shape s)
填补了一
Shape 使用的
Graphics2D 语境设置的内部。
|
void |
fill3DRect(int x, int y, int width, int height, boolean raised)
画一个充满当前颜色的三维高亮矩形。
|
abstract Color |
getBackground()
返回用于清除区域的背景色。
|
abstract Composite |
getComposite()
在返回的
Graphics2D 上下文的当前
Composite 。
|
abstract GraphicsConfiguration |
getDeviceConfiguration()
返回与此相关的设备配置
Graphics2D 。
|
abstract FontRenderContext |
getFontRenderContext()
在这
Graphics2D 上下文得到的
Font 渲染上下文。
|
abstract Paint |
getPaint()
返回的
Graphics2D 上下文的当前
Paint 。
|
abstract Object |
getRenderingHint(RenderingHints.Key hintKey)
返回一个单独的渲染算法的偏好值。
|
abstract RenderingHints |
getRenderingHints()
获取渲染算法的首选项。
|
abstract Stroke |
getStroke()
在返回的
Graphics2D 上下文的当前
Stroke 。
|
abstract AffineTransform |
getTransform()
返回一个在
Graphics2D 上下文的当前
Transform 。
|
abstract boolean |
hit(Rectangle rect, Shape s, boolean onStroke)
检查是否
Shape 相交的指定
Rectangle ,这是设备空间。
|
abstract void |
rotate(double theta)
将当前
Graphics2D
Transform 与旋转变换。
|
abstract void |
rotate(double theta, double x, double y)
将当前
Graphics2D
Transform 与翻译旋转变换。
|
abstract void |
scale(double sx, double sy)
将当前
Graphics2D
Transform 与尺度转换以后呈现大小按指定的比例因子缩放相对于以前。
|
abstract void |
setBackground(Color color)
设置为
Graphics2D 上下文的背景颜色。
|
abstract void |
setComposite(Composite comp)
设置为
Graphics2D 语境
Composite 。
|
abstract void |
setPaint(Paint paint)
设置为
Graphics2D 语境
Paint 属性。
|
abstract void |
setRenderingHint(RenderingHints.Key hintKey, Object hintValue)
设置一个单独的渲染算法的偏好值。
|
abstract void |
setRenderingHints(Map<?,?> hints)
取代所有偏好值与指定的
hints 渲染算法。
|
abstract void |
setStroke(Stroke s)
设置为
Graphics2D 语境
Stroke 。
|
abstract void |
setTransform(AffineTransform Tx)
覆盖在
Graphics2D 语境的变换。
|
abstract void |
shear(double shx, double shy)
将当前
Graphics2D
Transform 与剪切变换。
|
abstract void |
transform(AffineTransform Tx)
在这
Graphics2D 组成的
Transform
AffineTransform 对象根据规则上指定的首次应用。
|
abstract void |
translate(double tx, double ty)
将当前
Graphics2D
Transform 与平移变换。
|
abstract void |
translate(int x, int y)
翻译语境的
Graphics2D 起源点(nullx, nully)在当前坐标系统。
|
clearRect, clipRect, copyArea, create, create, dispose, drawArc, drawBytes, drawChars, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawLine, drawOval, drawPolygon, drawPolygon, drawPolyline, drawRect, drawRoundRect, fillArc, fillOval, fillPolygon, fillPolygon, fillRect, fillRoundRect, finalize, getClip, getClipBounds, getClipBounds, getClipRect, getColor, getFont, getFontMetrics, getFontMetrics, hitClip, setClip, setClip, setColor, setFont, setPaintMode, setXORMode, toString
protected Graphics2D()
Graphics2D
对象。因为
Graphics2D
是一个抽象类,因为它必须由不同的输出设备类定制,
Graphics2D
对象不能直接创建。相反,
Graphics2D
对象必须从另一个
Graphics2D
对象获得的,由
Component
创建,或从图像如
BufferedImage
得到的物品。
public void draw3DRect(int x, int y, int width, int height, boolean raised)
用于突出效果的颜色取决于当前颜色。由此产生的矩形的占地面积是width + 1
像素像素高宽height + 1
。此方法使用当前Color
完全忽略了当前Paint
。
draw3DRect
方法重写,继承类
Graphics
x
的x坐标的矩形来绘制。
y
-矩形来绘制坐标。
width
-矩形来绘制宽度。
height
-矩形被拉高。
raised
-一个布尔值,确定矩形似乎是凸起的表面或渗入表面。
Graphics.fill3DRect(int, int, int, int, boolean)
public void fill3DRect(int x, int y, int width, int height, boolean raised)
Color
确定。此方法使用当前
Color
完全忽略了当前
Paint
。
fill3DRect
方法重写,继承类
Graphics
x
的x坐标的矩形填充。
y
-矩形要填充的Y坐标。
width
-矩形要填充的宽度。
height
-矩形填充高度。
raised
-一个布尔值,确定矩形似乎是凸起的表面或蚀刻的表面。
Graphics.draw3DRect(int, int, int, int, boolean)
public abstract void draw(Shape s)
Shape
使用当前
Graphics2D
语境设置的轮廓。渲染属性主要包括
Clip
,
Transform
,
Paint
,
Composite
和
Stroke
属性。
public abstract boolean drawImage(Image img, AffineTransform xform, ImageObserver obs)
Graphics2D
当前
Transform
。指定的转换应用前变换属性在
Graphics2D
上下文应用到图像。渲染属性主要包括
Clip
,
Transform
,和
Composite
属性。请注意,如果没有绘制指定的变换是可逆的。
img
-指定的图像被渲染。如果这个方法不
img
是空的。
xform
-从图像空间到用户空间的变换
obs
-
ImageObserver
被越来越多的
Image
转换通知
true
如果
Image
满载和完全呈现,或如果它是空的;
false
如果
Image
仍然被加载。
transform(java.awt.geom.AffineTransform)
,
setTransform(java.awt.geom.AffineTransform)
,
setComposite(java.awt.Composite)
,
clip(java.awt.Shape)
,
Graphics.setClip(int, int, int, int)
public abstract void drawImage(BufferedImage img, BufferedImageOp op, int x, int y)
BufferedImage
,与
BufferedImageOp
过滤。渲染属性主要包括
Clip
,
Transform
和
Composite
属性。这相当于:
img1 = op.filter(IMG,null);DrawImage(img1,新点(1F,中,中,1F,x,y),null);
op
-过滤器之前被应用到图像的绘制
img
-指定
BufferedImage
被渲染。如果这个方法不
img
是空的。
x
的x坐标的位置在用户空间,在图像的左上角的呈现
y
- Y坐标的位置在用户空间,在图像的左上角的呈现
transform(java.awt.geom.AffineTransform)
,
setTransform(java.awt.geom.AffineTransform)
,
setComposite(java.awt.Composite)
,
clip(java.awt.Shape)
,
Graphics.setClip(int, int, int, int)
public abstract void drawRenderedImage(RenderedImage img, AffineTransform xform)
RenderedImage
,应用变换从图像空间到用户空间的画前。从用户空间到设备空间完成当前
Transform
在
Graphics2D
。指定的转换应用前变换属性在
Graphics2D
上下文应用到图像。渲染属性主要包括
Clip
,
Transform
,和
Composite
属性。请注意,如果没有绘制指定的变换是可逆的。
img
-图像被渲染。如果这个方法不
img
是空的。
xform
-从图像空间到用户空间的变换
transform(java.awt.geom.AffineTransform)
,
setTransform(java.awt.geom.AffineTransform)
,
setComposite(java.awt.Composite)
,
clip(java.awt.Shape)
,
Graphics.setClip(int, int, int, int)
public abstract void drawRenderableImage(RenderableImage img, AffineTransform xform)
RenderableImage
,应用变换从图像空间到用户空间的画前。从用户空间到设备空间是通过在
Graphics2D
当前
Transform
。指定的转换应用前变换属性在
Graphics2D
上下文应用到图像。渲染属性主要包括
Clip
,
Transform
,和
Composite
属性。请注意,如果没有绘制指定的变换是可逆的。
绘制提示设置在Graphics2D
对象可用于绘制RenderableImage
。如果显式控制是需要在特定的提示由一个特定的RenderableImage
认可,或如果知识使用的提示是必需的,然后RenderedImage
应该获得直接从RenderableImage
和渲染使用drawRenderedImage
。
img
-图像被渲染。如果这个方法不
img
是空的。
xform
-从图像空间到用户空间的变换
transform(java.awt.geom.AffineTransform)
,
setTransform(java.awt.geom.AffineTransform)
,
setComposite(java.awt.Composite)
,
clip(java.awt.Shape)
,
Graphics.setClip(int, int, int, int)
,
drawRenderedImage(java.awt.image.RenderedImage, java.awt.geom.AffineTransform)
public abstract void drawString(String str, int x, int y)
String
文本,使用当前的文本属性状态的
Graphics2D
语境。第一个字符的基线位置(nullx, nully)在用户空间。渲染属性主要包括
Clip
,
Transform
,
Paint
,
Font
和
Composite
属性。在如希伯来语和阿拉伯语脚本系统的字符,符号可以呈现从右到左,在这种情况下,协调供应是在基线上最左边的字符的位置。
drawString
方法重写,继承类
Graphics
str
-要呈现的字符串
x
- x坐标的位置
String
应该呈现
y
- Y坐标的位置
String
应该呈现
null
str
NullPointerException
Graphics.drawBytes(byte[], int, int, int, int)
,
Graphics.drawChars(char[], int, int, int, int)
public abstract void drawString(String str, float x, float y)
String
指定的文本,使用当前的文本属性状态的
Graphics2D
语境。第一个字符的基线位置(nullx, nully)在用户空间。渲染属性主要包括
Clip
,
Transform
,
Paint
,
Font
和
Composite
属性。在如希伯来语和阿拉伯语脚本系统的字符,符号可以呈现从右到左,在这种情况下,协调供应是在基线上最左边的字符的位置。
str
-
String
被渲染
x
- x坐标的位置
String
应该呈现
y
- Y坐标的位置
String
应该呈现
null
str
NullPointerException
setPaint(java.awt.Paint)
,
Graphics.setColor(java.awt.Color)
,
Graphics.setFont(java.awt.Font)
,
setTransform(java.awt.geom.AffineTransform)
,
setComposite(java.awt.Composite)
,
Graphics.setClip(int, int, int, int)
public abstract void drawString(AttributedCharacterIterator iterator, int x, int y)
TextAttribute
类的规范文本。
第一个字符的基线位置(nullx, nully)在用户空间。在如希伯来语和阿拉伯语脚本系统的字符,符号可以呈现从右到左,在这种情况下,协调供应是在基线上最左边的字符的位置。
drawString
方法重写,继承类
Graphics
iterator
-迭代器的文字被渲染
x
- x坐标,迭代器的文字被渲染
y
- Y坐标在迭代器的文字被渲染
null
iterator
NullPointerException
setPaint(java.awt.Paint)
,
Graphics.setColor(java.awt.Color)
,
setTransform(java.awt.geom.AffineTransform)
,
setComposite(java.awt.Composite)
,
Graphics.setClip(int, int, int, int)
public abstract void drawString(AttributedCharacterIterator iterator, float x, float y)
TextAttribute
类的规范文本。
第一个字符的基线位置(nullx, nully)在用户空间。在如希伯来语和阿拉伯语脚本系统的字符,符号可以呈现从右到左,在这种情况下,协调供应是在基线上最左边的字符的位置。
iterator
-迭代器的文字被渲染
x
- x坐标,迭代器的文字被渲染
y
- Y坐标在迭代器的文字被渲染
null
iterator
NullPointerException
setPaint(java.awt.Paint)
,
Graphics.setColor(java.awt.Color)
,
setTransform(java.awt.geom.AffineTransform)
,
setComposite(java.awt.Composite)
,
Graphics.setClip(int, int, int, int)
public abstract void drawGlyphVector(GlyphVector g, float x, float y)
GlyphVector
使用
Graphics2D
语境的渲染属性。渲染属性主要包括
Clip
,
Transform
,
Paint
,和
Composite
属性。
GlyphVector
指定的个人符号,从
Font
,
GlyphVector
还可以包含符号的位置。这是一个最快的方式来呈现一组字符到屏幕上。
g
-
GlyphVector
被渲染
x
- X的位置在用户空间里的文字应该呈现
y
- Y位置在用户空间里的文字应该呈现
null
g
NullPointerException
。
Font.createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
,
GlyphVector
,
setPaint(java.awt.Paint)
,
Graphics.setColor(java.awt.Color)
,
setTransform(java.awt.geom.AffineTransform)
,
setComposite(java.awt.Composite)
,
Graphics.setClip(int, int, int, int)
public abstract void fill(Shape s)
Shape
使用的
Graphics2D
语境设置的内部。渲染属性主要包括
Clip
,
Transform
,
Paint
,和
Composite
。
public abstract boolean hit(Rectangle rect, Shape s, boolean onStroke)
Shape
相交的指定
Rectangle
,这是设备空间。如果
onStroke
是假的,这个方法检查是否指定
Shape
内部相交的指定
Rectangle
。如果
onStroke
是
true
,此方法检查是否指定
Shape
轮廓
Stroke
相交的指定
Rectangle
。渲染属性考虑包括
Clip
,
Transform
,和
Stroke
属性。
rect
在装置空间的面积来检查一打
s
-
Shape
检查了
onStroke
旗用来测试的抚摸或填充形状之间选择。如果国旗的
true
,
Stroke
轮廓测试。如果国旗是
false
,填充
Shape
测试。
true
如果有打;
false
否则。
setStroke(java.awt.Stroke)
,
fill(java.awt.Shape)
,
draw(java.awt.Shape)
,
transform(java.awt.geom.AffineTransform)
,
setTransform(java.awt.geom.AffineTransform)
,
clip(java.awt.Shape)
,
Graphics.setClip(int, int, int, int)
public abstract GraphicsConfiguration getDeviceConfiguration()
Graphics2D
。
Graphics2D
设备配置。
public abstract void setComposite(Composite comp)
Graphics2D
语境
Composite
。的
Composite
用于所有绘图方法如
drawImage
,
drawString
,
draw
,和
fill
。它指定在渲染过程中,如何将新的像素与图形设备上的现有像素相结合。
如果这Graphics2D
背景图上的显示屏幕Component
和Composite
是一个自定义的对象而不是对AlphaComposite
类的一个实例,如果存在安全管理器,它的checkPermission
方法称为一个AWTPermission("readDisplayPixels")
许可。
comp
-用于绘制
Composite
对象
SecurityException
如果自定义
Composite
对象被用来渲染到屏幕和安全管理器是集及其
checkPermission
方法不允许操作。
Graphics.setXORMode(java.awt.Color)
,
Graphics.setPaintMode()
,
getComposite()
,
AlphaComposite
,
SecurityManager.checkPermission(java.security.Permission)
,
AWTPermission
public abstract void setPaint(Paint paint)
Graphics2D
语境
Paint
属性。一个
null
Paint
对象调用此方法并没有对这
Graphics2D
当前
Paint
属性的影响。
paint
来渲染过程中产生颜色的
Paint
对象,或
null
Graphics.setColor(java.awt.Color)
,
getPaint()
,
GradientPaint
,
TexturePaint
public abstract void setStroke(Stroke s)
Graphics2D
语境
Stroke
。
s
-
Stroke
对象可用于脑卒中的
Shape
渲染过程
BasicStroke
,
getStroke()
public abstract void setRenderingHint(RenderingHints.Key hintKey, Object hintValue)
RenderingHints
类的一些常见的键和值的定义。
hintKey
-将提示的关键。
hintValue
-示值为指定类别的偏好暗示。
getRenderingHint(RenderingHints.Key)
,
RenderingHints
public abstract Object getRenderingHint(RenderingHints.Key hintKey)
RenderingHints
类的一些常见的键和值的定义。
hintKey
-键所对应的提示去。
RenderingHints
类定义。
RenderingHints
,
setRenderingHint(RenderingHints.Key, Object)
public abstract void setRenderingHints(Map<?,?> hints)
hints
渲染算法。现有的所有渲染提示值被丢弃和已知的提示和价值的新设置初始化从指定的
Map
对象。提示类别包括渲染过程中渲染质量和总体时间/质量权衡的控件。指的是
RenderingHints
类的一些常见的键和值的定义。
hints
-渲染的提示是
getRenderingHints()
,
RenderingHints
public abstract void addRenderingHints(Map<?,?> hints)
Map
对象目前仅值进行修改。未在指定的对象中存在的所有其他首选项都未被修改。提示类别包括渲染过程中渲染质量和总体时间/质量权衡的控件。指的是
RenderingHints
类的一些常见的键和值的定义。
hints
-渲染的提示是
RenderingHints
public abstract RenderingHints getRenderingHints()
RenderingHints
类的一些常见的键和值的定义。
RenderingHints
包含当前偏好的实例。
RenderingHints
,
setRenderingHints(Map)
public abstract void translate(int x, int y)
Graphics2D
起源点(nullx, nully)在当前坐标系统。修改
Graphics2D
语境使其新的原点对应的点(nullx, nully)在
Graphics2D
背景前的坐标系统。在这个图形上下文中的后续渲染操作中使用的所有坐标都是相对于这个新的原点的。
public abstract void translate(double tx, double ty)
Graphics2D
Transform
与平移变换。随后的渲染被翻译的指定的距离相对于前面的位置。这相当于调用变换(t),其中t是由下面的矩阵表示:
[ 1 ] 0 TX[ 0 ] 1度["0 1 0"]
AffineTransform
tx
-沿X轴的距离
ty
-沿Y轴的距离
public abstract void rotate(double theta)
Graphics2D
Transform
与旋转变换。随后的呈现是通过指定的弧度相对以往的原点旋转。这相当于调用
transform(R)
,其中R是用下面的矩阵表示一个
AffineTransform
:
【cos(θ)罪(θ)0 ]【sin(θ)cos(θ)0 ]["0 1 0"]旋转以积极的角度θ的X轴Y轴正向旋转的点。
theta
-旋转弧度的角
public abstract void rotate(double theta, double x, double y)
Graphics2D
Transform
与翻译旋转变换。随后的渲染的变换是通过翻译到指定位置构造转化,由指定的弧度旋转,和翻译后的相同数量的原创翻译。这相当于下面的调用顺序:
翻译(X,Y);旋转(θ);翻译(- X,- Y);旋转以积极的角度θ的X轴Y轴正向旋转的点。
theta
-旋转弧度的角
x
-旋转的原点坐标
y
-旋转的原点坐标
public abstract void scale(double sx, double sy)
Graphics2D
Transform
与尺度转换以后呈现大小按指定的比例因子缩放相对于以前。这相当于调用
transform(S)
,其中S是用下面的矩阵表示一个
AffineTransform
:
[ 0 ] SX 0[ 0,0 ]系统["0 1 0"]
sx
-量x坐标在随后的绘制作业成倍增加,相对于以前的渲染操作。
sy
的Y坐标在随后的渲染作业量成倍增加,相对于以前的渲染操作。
public abstract void shear(double shx, double shy)
Graphics2D
Transform
与剪切变换。随后的渲染是通过相对以往的位置指定乘数剪切。这相当于调用
transform(SH)
,在SH是用下面的矩阵表示一个
AffineTransform
:
[ 1,0 ] SHX[害羞0 1 ]["0 1 0"]
shx
-乘数的坐标在X轴正向移动方向为Y坐标的函数
shy
-乘数的坐标移动Y轴方向作为他们的X坐标函数
public abstract void transform(AffineTransform Tx)
Graphics2D
Transform
组成的一个
AffineTransform
对象根据规则上指定的首次应用。如果当前
Transform
是CX,组成Tx的结果是一个新的
Transform
CX”。CX”成为当前这
Graphics2D
Transform
。将点P的更新
Transform
CX”相当于第一转换P TX和转换后的结果由原来的
Transform
CX。换句话说,CX”(P)= cx(TX(P))。一份Tx了,如果有必要的话,那么进一步的修改不影响渲染Tx。
Tx
-
AffineTransform
对象将由目前的
Transform
setTransform(java.awt.geom.AffineTransform)
,
AffineTransform
public abstract void setTransform(AffineTransform Tx)
Graphics2D
语境的变换。警告:此方法应
从未被用于一个新的坐标上现有的变换因为
Graphics2D
可能已经变换,用于其他用途的变换,如渲染的Swing组件或应用比例变换调整打印机的分辨率。
添加一个坐标变换,用transform
,rotate
,scale
,或shear
方法。的setTransform
方法仅用于恢复原Graphics2D
变换后的绘制,如图所示:
/得到电流变换点saveat = G2。gettransform();/执行转换g2d。变换(…);/ /渲染g2d。画(…);恢复原始变换随着settransform(saveat);
Tx
-
AffineTransform
,从
getTransform
方法检索
transform(java.awt.geom.AffineTransform)
,
getTransform()
,
AffineTransform
public abstract AffineTransform getTransform()
Graphics2D
上下文的当前
Transform
。
Graphics2D
上下文的当前
AffineTransform
。
transform(java.awt.geom.AffineTransform)
,
setTransform(java.awt.geom.AffineTransform)
public abstract Paint getPaint()
Graphics2D
上下文的当前
Paint
。
Graphics2D
Paint
,它定义一个颜色或图案。
setPaint(java.awt.Paint)
,
Graphics.setColor(java.awt.Color)
public abstract Composite getComposite()
Graphics2D
上下文的当前
Composite
。
Graphics2D
Composite
,它定义了一个复合式。
setComposite(java.awt.Composite)
public abstract void setBackground(Color color)
Graphics2D
上下文的背景颜色。用于清除区域的背景颜色。当一个
Graphics2D
构建一个
Component
,背景色是从
Component
继承。在
Graphics2D
语境设置背景颜色只影响后续
clearRect
电话和不
Component
的背景颜色。改变的
Component
背景,使用适当的
Component
方法。
color
-背景颜色,在后续的调用中使用
clearRect
getBackground()
,
Graphics.clearRect(int, int, int, int)
public abstract Color getBackground()
Graphics2D
Color
,定义背景颜色。
setBackground(java.awt.Color)
public abstract Stroke getStroke()
Graphics2D
上下文的当前
Stroke
。
Graphics2D
Stroke
,它定义了线的风格。
setStroke(java.awt.Stroke)
public abstract void clip(Shape s)
Clip
与指定的
Shape
室内设置产生的交叉
Clip
。指定的
Shape
转化与当前
Graphics2D
Transform
之前与当前
Clip
相交。该方法用于使当前
Clip
较小。让
Clip
较大,使用
setClip
。空用户卡修改此方法是独立的设备范围和知名度相关的裁剪。如果没有剪辑已被设置,或者如果卡已使用
setClip
与
null
参数清零,指定
Shape
成为新用户卡。
s
-
Shape
是当前
Clip
相交。如果
s
是
null
,此方法清除当前
Clip
。
public abstract FontRenderContext getFontRenderContext()
Graphics2D
上下文得到的
Font
渲染上下文。的
FontRenderContext
封装应用提示如抗锯齿和分数指标,以及目标设备的具体信息如每英寸点数。这些信息应该被使用时,执行排版格式对象的应用程序提供的,如
Font
和
TextLayout
。此信息也应提供由应用程序执行自己的布局和需要精确地测量各种特性的符号如进线高度时的各种渲染暗示已应用于文本渲染。
FontRenderContext
,
Font.createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
,
TextLayout
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.