使用颜色、字体和图形
2021-11-18 12:44:03 0 举报
AI智能生成
讲述了Graphics2D类、颜色以及绘制直线和多边形等内容
作者其他创作
大纲/内容
Graphics2D类
Java2D介绍
本质
支持
高质量二维图形
图像
颜色
文本
构成
包含
java.awt
javax.swing
作用
绘制
圆
多边形
文本
使用
各种文本
颜色
线宽
处理
颜色
图案
特性
绘制空的多边形或用纯色填充的多边形
使用特殊的填充图案
定义了画笔的宽度和样式
通过反走样来使对象的边缘平滑化
Graphics2D介绍
本质
绘制图形的环境
父类
Graphics
特性
包含了Java2D的扩展特性
绘图
用作图形操作的画布
面板
javax.swing
JPanel
paintComponent(Graphics)
组件重新显示时,自动调用
导致该方法被调用的事件
包含组件的图形用户界面首次被显示
位于组件上面的窗口被关闭
包含组件的图形用户界面的大小被调整
窗口
在画布中绘制
文本
直线
椭圆
圆
圆弧
矩形
其他多边形
图形坐标系
单位
像素
整数
坐标原点
(0,0)
位于组件的左上角
移动
沿水平方向向右移动,x坐标增大
沿垂直方向向下移动,y坐标增大
绘制文本
实现
drawString()
要显示的String
显示位置的x坐标
显示位置的y坐标
改变字体
Font对象
位于java.awt包中
表示
字体名称
字体的逻辑名称
有指定字体
使用该字体
没有
使用默认字体
字形
Font.PLAIN
Font.BOLD
Font.ITALIC
字号
使用字体
setFont(Font)
Create(int,InputStream)
加载文件中的字体
字体的大小为1磅
字形为"常规"
通过反走样改善字体和图形的质量
产生原因
字体极其粗糙,字符边缘呈锯齿状
作用
通过修改像素周围的颜色
使粗糙的边缘更为平滑
默认情况
关闭
启用
setRenderingHint()
指定渲染参数的RenderingHint.Key对象
设置该参数值的RenderingHint.Key对象
获取字体的信息
实现
FontMetrics
确定以指定的字体显示时字符有多大
实现格式化或文本居中
获取有关当前字体的详细信息
使用
getFontMetrics()
创建FontMetrics对象
stringWidth(String)
charWidth(char)
getHeight()
颜色
介绍
实现
Color
ColorSpace
更精确地控制颜色
默认情况
sRGB
红色
绿色
蓝色
CMYK
打印机使用的
青色
品红
黄色
黑色
打印特定颜色内容,输出设备不支持
使用其他颜色代替
抖动图案来近似表示
使用Color对象
创建Color对象
构造方法
sRGB值的整数
sRGB值的浮点数
标准颜色
检测和设置当前颜色
指定当前绘制的颜色
seColor()
设备背景色
setBackground()
setForeground()
获取当前颜色
getColor()
getForeground()
getBackground()
绘制直线和多边形
用户和设备坐标空间
坐标空间
(x,y)坐标来描述的2D区域
Java 2之前
绘图操作使用的时设备坐标空间
创建对象并实现绘制时,需要参考用户坐标空间
2D绘制操作之前
设备空间和用户空间的原点
重叠的
画图区域的左上角
执行2D绘图操作后
用户空间的原点可能移动
因为2D旋转而移动
指定渲染属性
填充图案
作用
控制对象将如何被填充
使用什么填充
纯色
渐变填充
纹理
自己设计的图案
实现
setPaint()
接受Paint对象作为唯一参数
可用作填充图案的类
GradientPaint
TexturePaint
Color
渐变填充
渐变分类
非周期性渐变
周期性渐变
两点间发生一次或多次变化
实现
GradientPaint
设置画笔
实现
setStroke()
将BasicStroke作为参数传递
改变绘制的直线宽度
BasicStroke构造方法
float值
线宽
int值
决定线段两端的修饰样式
int值
决定线段间的连接样式
端点颜色
不与其他线段相连的线段的两端
CAP_BUTT(没有端点)
CAP_ROUND(圆形端点)
CAP_SQUARE(方形端点)
连接样式
与其他线段相连的选段的两端
JOIN_MITER
JOIN_ROUND
JOIN_BEVEL
创建要绘制的对象
实现
java.awt.geom
线段
Line2D.Float
两个端点的
x坐标
y坐标
矩形
Rectangle2D.Float
Rectangle2D.Double
椭圆
Ellipse2D.Float
x坐标
y坐标
宽度
高度
弧
Arc2D.Float
圆弧所属椭圆的外切矩形的左上角的x坐标和y坐标
椭圆的宽度和高度
弧的起始角度
弧环绕的角度
指定如何闭合的整数
Arc2D.OPEN
Arc2D.CHORD
Arc2D.PIE
弧逆时针环绕时
用负数指定其环绕角度
多边形
创建
从一个顶点移动到另一个顶点
构成
直线
二次曲线
贝塞尔曲线
实现
GeneralPath
java.awt.geom
常用方法
moveTo()
第一个顶点
lineTo()
多边形的边
闭合多边形
closePath()
lineTo()
绘制对象
draw()
画边框
fill()
填充对象
0 条评论
下一页