Graphics 是什么?

Graphics 是所有图形上下文的抽象基类,允许应用程序在组件(已经在各种设备上实现)以及闭屏图像上进行绘制

Graphics 对象封装了 Java 支持的基本呈现操作所需的状态信息。此状态信息包括以下属性:

  • 要在其上绘制的 Component 对象。
  • 呈现和剪贴坐标的转换原点。
  • 当前剪贴区。
  • 当前颜色。
  • 当前字体。
  • 当前逻辑像素操作函数(XOR 或 Paint)。
  • 当前 XOR 交替颜色

Graphics2D是什么?

Graphics2D 类是Graphics 的子类,以提供对几何形状、坐标转换、颜色管理和文本布局更为复杂的控制。


操作类型


应用方法

abstract  void addRenderingHints(Map<?,?> hints) 为呈现算法设置任意数量的首选项值。
abstract  void clip(Shape s) 将当前 Clip 与指定 Shape 的内部区域相交,并将 Clip 设置为所得的交集。
abstract  void draw(Shape s) 使用当前 Graphics2D 上下文的设置勾画 Shape 的轮廓。 void draw3DRect(int x, int y, int width, int height, boolean raised) 绘制指定矩形的 3-D 高亮显示边框。
abstract  void drawGlyphVector(GlyphVector g, float x, float y) 使用 Graphics2D 上下文的呈现属性,呈现指定 GlyphVector 的文本。
abstract  void drawImage(BufferedImage img, BufferedImageOp op, int x, int y) 呈现使用 BufferedImageOp 过滤的 BufferedImage。
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) 使用 Graphics2D 上下文中当前文本属性状态呈现由指定 String 指定的文本。
abstract  void drawString(String str, int x, int y) 使用 Graphics2D 上下文中的当前文本属性状态呈现指定的 String 的文本。
abstract  void fill(Shape s) 使用 Graphics2D 上下文的设置,填充 Shape 的内部区域。 void fill3DRect(int x, int y, int width, int height, boolean raised) 绘制一个用当前颜色填充的 3-D 高亮显示矩形。
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 上下文中的 Transform。
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 上下文的原点平移到当前坐标系中的点 (x, y)。

Graphics2D 详细应用秘籍相关推荐

  1. xftp 无法连接linux 22端口,解决Xshell不从22端口连接服务器

    PL/SQL Developer主数据库连接和窗口连接切换 Oracle开发者估计对PL/SQL Developer都非常熟悉了,里面有些小的功能点大概还有些初学者没发现.PL/SQL Develop ...

  2. 色色教你玩魔方(傻瓜式全程图解教学)

    色色教你玩魔方(傻瓜式全程图解教学) 高中时候是我学校的魔方高手,六面魔方对我们来讲不是什么神奇的事,需要讲究的那是速度,我高中时的最快速度是6面需要1分多钟,为此,我骄傲得很呢!~~不过有10年不摸 ...

  3. matlab 统计基本函数 var方差

    matlab 统计基本函数 var方差 matlab中的方差函数var的用法及具体分析: 首先我们应该清楚的区分两个概念,即方差和样本方差的无偏估计, 简要来说就是,方差公式中分母上是N,而样本方差无 ...

  4. 宝藏世界服务器中断,宝藏世界账号密码大全 | 手游网游页游攻略大全

    发布时间:2015-11-16 逆战里有很多神器,基本每个版本就有.还有不少预售的武器都贵的要死.但是还是有不少土豪玩家愿意让我们平民玩家帮助他们玩.顺便还能体验一下装x当土豪的感觉.所以赶紧来看看9 ...

  5. 使用requests和re模块爬取i春秋论坛的精品贴(小爬虫)

    前言 下一篇是使用requests和re模块爬取某个学习站点的所有用户头像. 最近在刷i春秋论坛的帖子,发现论坛首页每天都会推送一些精品文章,但是有时候好几天也没有更新首页的推送,总不能每天都去刷新吧 ...

  6. webform 控件上面能写 前端事件吗_详细的网易前端秘籍—如何准备面试

    点击上方"前端印象",选择"设为星标"第一时间关注技术干货! 前言 开门见山,这篇文章,适合「初级前端」,如果你还在校招的话,或者还在求职的话,可以看看本文,找 ...

  7. 有向图php,【小龙的资结演算法秘籍】(8) 有向图(directed graph)及DAG(directed acyclic graph)的详细介绍...

    哈啰~ 大家好, 之前在[小马的资结演算法秘笈](6)超好懂的图(gragh)与树(tree) 的观念介绍介绍过什幺是graph, 那什幺是directed graph呢? 其实很简单,undirec ...

  8. (转)超详细的Android系统50大必备秘籍分享

    虽然Android操作系统的用户界面和交互经过两年的发展已经非常人性化,但是有些操作和使用还是让很多刚接触的菜鸟用户感到复杂和困惑.我们整理出Android系统的50大必备秘籍供用户参考,适合各种阶段 ...

  9. 超详细的Android系统50大必备秘籍分享

    虽然Android操作系统的用户界面和交互经过两年的发展已经非常人性化,但是有些操作和使用还是让很多刚接触的菜鸟用户感到复杂和困惑.我们整理出Android系统的50大必备秘籍供用户参考,适合各种阶段 ...

最新文章

  1. android java file 清理垃圾获取文件大小 删除文件等操作
  2. margin 0 auto 什么意思
  3. WordCount--统计输入文件的字符数、行数、单词数(java)--初级功能
  4. Azure App Service 上的根证书
  5. linux C之access函数
  6. commonjs 和 es6模块化开发入门
  7. 牛客网多校联合训练1 J Different Integers(可持久化线段树/莫队)
  8. servlet-cookie实现向客户端写cookie信息
  9. SpringCloud和AlibabaCloud区别
  10. AMD已秒英特尔全家?真的吗?来看看真正公平公正的版本吧!
  11. 计算机中的CPU主频是单位,计算机CPU主频单位是MHz和GHz,他们之间怎么换算?
  12. Intel Thunderbolt 3 接口介绍
  13. 【推荐】万物兴歇——衰老与寿命的演化
  14. 通常所说的微型计算机主机主要包括,通常所说的微型计算机的主机主要包括( )。...
  15. 【NDN实验】ndnSIM: NDN simulator for NS-3 全文翻译
  16. 计算机组装安装系统流程图,如何安装操作系统
  17. 用C语言编写函数multiple求倍数、用C语言编写函数isEven判断奇数和偶数
  18. 《跟着小吴哥学python》之 09 python中的编译与反编译
  19. php区块链以太坊,兄弟连区块链教程以太坊源码分析CMD深入分析(一)
  20. python儿童编程培训班-杭州比较好的儿童Python编程培训班推荐

热门文章

  1. excel表格如何转换成word表格_如何将excel转换成word?如何将excel表格转换成word文档?...
  2. 网易称暴雪离婚不离身;苹果发布 M2 Pro 和 M2 Max 芯片;滴滴出行 App 已重新上架安卓应用商店 | 极客头条...
  3. C 进阶内存四区(3)
  4. android耳机上报流程,Android 耳机插入过程分析
  5. 链路追踪译文学习记录(Dapper!!!非原创!!!学习记录)
  6. python牛顿法算立方根_牛顿迭代法求解立方根
  7. 一种解决退出远程桌面后,电脑自动睡眠的方法
  8. JAVA实现:居民电费阶梯式计价器
  9. 二叉树 | 二叉树的镜像(翻转)
  10. 全世android手机,全世界最安全手机:黑莓第二款Android手机DTEK 50