java 图形绘制_Java Graphics 图形绘制

Graphics类提供基本绘图方法,Graphics类提供基本的几何图形绘制方法,主要有:画线段、画矩形、画圆、画带颜色的图形、画椭圆、画圆弧、画多边形、画字符串等。

画线段

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 坐标。

g.drawLine(10, 50, 100, 100);

画矩形

drawRect

public void drawRect(int x,

int y,

int width,

int height)

绘制指定矩形的边框。矩形的左边缘和右边缘分别位于 x 和 x + width。上边缘和下边缘分别位于 y 和 y + height。使用图形上下文的当前颜色绘制该矩形。

参数:

x - 要绘制矩形的 x 坐标。

y - 要绘制矩形的 y 坐标。

width - 要绘制矩形的宽度。

height - 要绘制矩形的高度。

g.drawRect(120, 50, 200, 100);

画椭圆形

public abstract void drawOval(int x,

int y,

int width,

int height)

绘制椭圆的边框。得到一个圆或椭圆,它刚好能放入由 x、y、width 和 height 参数指定的矩形中。

椭圆覆盖区域的宽度为 width + 1 像素,高度为 height + 1 像素。

参数:

x - 要绘制椭圆的左上角的 x 坐标。

y - 要绘制椭圆的左上角的 y 坐标。

width - 要绘制椭圆的宽度。

height - 要绘制椭圆的高度。

g.drawOval(160, 160, 200, 100);

画带颜色的图形

setColor

public abstract void setColor(Color c)

将此图形上下文的当前颜色设置为指定颜色。使用此图形上下文的所有后续图形操作均使用这个指定的颜色。

参数:

c - 新的呈现颜色。

g.setColor(Color.yellow);

g.fillRect(20,70,20,30); //画矩形着色块

画圆

drawRoundRect

public abstract void drawRoundRect(int x,

int y,

int width,

int height,

int arcWidth,

int arcHeight)

用此图形上下文的当前颜色绘制圆角矩形的边框。矩形的左边缘和右边缘分别位于 x 和 x + width。矩形的上边缘和下边缘分别位于 y 和 y + height。

参数:

x - 要绘制矩形的 x 坐标。

y - 要绘制矩形的 y 坐标。

width - 要绘制矩形的宽度。

height - 要绘制矩形的高度。

arcWidth - 4 个角弧度的水平直径。

arcHeight - 4 个角弧度的垂直直径。

g.setColor(Color.red); g.fillRoundRect(80,100,100,100,100,100);//画圆块

画圆弧

drawArc

public abstract void drawArc(int x,

int y,

int width,

int height,

int startAngle,

int arcAngle)

绘制一个覆盖指定矩形的圆弧或椭圆弧边框。

得到的弧从 startAngle 开始跨越 arcAngle 度,并使用当前颜色。对角度的解释如下:0 度角位于 3 点钟位置。正值指示逆时针旋转,负值指示顺时针旋转。

弧的中心是矩形的中心,此矩形的原点为 (x, y),大小由 width 和 height 参数指定。

得到的弧覆盖 width + 1 像素宽乘以 height + 1 像素高的区域。

角度是相对于外接矩形的非正方形区域指定的,45 度角始终落在从椭圆中心到外接矩形右上角的连线上。因此,如果外接矩形在一个轴上远远长于另一个轴,则弧段的起点和结束点的角度将沿边框长轴发生更大的偏斜。

参数:

x - 要绘制弧的左上角的 x 坐标。

y - 要绘制弧的左上角的 y 坐标。

width - 要绘制弧的宽度。

height - 要绘制弧的高度。

startAngle - 开始角度。

arcAngle - 相对于开始角度而言,弧跨越的角度。

g.drawArc(10,40,90,50,0,180); //画圆弧线

g.drawArc(100,40,90,50,180,180); //画圆弧线

g.setColor(Color.yellow);

g.fillArc(10,100,40,40,0,-270); //填充缺右上角的四分之三的椭圆

g.setColor(Color.green);

g.fillArc(60,110,110,60,-90,-270); //填充缺左下角的四分之三的椭圆

画多边形

/**

* 绘制一个由 x 和 y 坐标数组定义的闭合多边形。每对 (x, y) 坐标定义一个点。

*/

public abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints);

/**

* 填充由 x 和 y 坐标数组定义的闭合多边形。

*/

public abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)

int px[] = { 210, 220, 270, 250, 240};int py[] = { 220, 250, 300, 270, 220};

g.drawPolygon(px, py, px.length);

画字符串

public abstract void drawString(String str,

int x,

int y)

使用此图形上下文的当前字体和颜色绘制由指定 string 给定的文本。最左侧字符的基线位于此图形上下文坐标系的 (x, y) 位置处。

参数:

str - 要绘制的 string。

x - x 坐标。

y - y 坐标。

g.setColor(Color.GREEN);

g.setFont(new Font("楷体", Font.BOLD, 20));

g.drawString("使用画笔绘制的字符串内容", 220, 345);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416399.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

woodcut

http://www.lintcode.com/en/problem/wood-cut/# 二分答案,贪心验证,具有单调性 class Solution { public:/***param L: Given n pieces of wood with length L[i]*param k: An integer*return: The maximum length of the small pieces.*/int woodCut(v…

java web应用程序_如何构建Java Web 应用程序 - Spring Boot?

Spring Framework 是可以帮助 Java 开发人员创建企业级应用程序的开源解决方案。构建在该平台基础之上的较热门项目之一是 Spring Boot,它提供一种简化的方法来创建独立的 Java 应用程序。本教程将逐步讲解如何创建示例 Spring Boot 入门 Web 应用,并将其…

工作59:常见报错

常见报错解决 1. 页面显示没有数据 页面显示没有数据的时候(三级联动),注意去mounted里面看一下,获取数据的方法如getAddress();有没有执行,是否将数据渲染到了页面; 2.404 状态码 第一次&a…

Python基础【day02】:元组和购物车练习的知识点

一、元组 元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表 用途:一般情况下用于自己写的程序能存下数据,但是又希望这些数据不会被改变,比如:数…

python库封装_使用SIP对C库进行Python封装

Python中使用C/C模块有许多工具,大名鼎鼎的有SWIG(英文意思为:豪饮)、SIP(英文意思为:啜饮,小口的喝),还有 boost.python等。其中SIP是从SWIG发展而来,专为Python调用C/C模块使用的(看SIP的命名就能看出来&…

关于jsp,javascript,php等语言

技术一jsp: java植入html技术二javascript(js)植入html技术三早期php植入html弱类型语言和强类型语言弱类型语言无法实现函数重载,没办法转载于:https://www.cnblogs.com/HangZhe/p/7188353.html

python最简易入门_零基础入门python,用最简单的方式即可入门python,没有那么复杂...

python已经开始被越来越多的人喜欢,其中有很多是从未学习过编程的人,那么,如果是从零开始学python的话,会很难吗?其实从零开始学python并不会很难,最简单的方法,往往最有效果,无论你…

hibernate07--关联映射

单向的一对多关联 创建对应的实体类以及映射文件 package cn.bdqn.bean; /*** * author 小豆腐*街道对应的实体类**单向的多对一关联*/ public class Street {private Integer id;private String name;//多个街道 属于 一个区县private District district; //对应的区县p…

java 常用流_Java流类图结构: 流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数...

Java流类图结构:流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进…

工作63:await和anync

async function是异步函数没错,但是如果你中间并没有await关键字,那就和普通函数没有区别,当第一个await关键字出现后,其后面的内容可视为Promise.then的回调,但如果这个Promise在进入你这个await之前被reject的话&…

Java编写五线谱上的音符_干货| 认识五线谱上的音符!

原标题:干货| 认识五线谱上的音符!前几周,给友友们分享了节奏学习小技巧……学的好不好可以自我检测一下:如果你最近说话都是这样:最近 啊 | 本渣 被刷 | 屏 - |大家 都 | 玩起 节奏 |不就 追热 | 点 么 |谁 . 不 | 会…

C#使用Microsoft.ACE.OLEDB.12.0 需要安装的组件

下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id13255 64、32请对号入座转载于:https://www.cnblogs.com/wrhming/p/7192816.html

java实现抽奖游戏_Java实现游戏抽奖算法

常用抽奖算法对比基础的游戏抽奖算法通常要求实现在指定奖品的集合中,每个奖品根据对对应概率进行抽取。个人了解的主要有以下几中抽奖算法:随机数一一对应算法思想这种算法思想最为简单。将n个奖品编号0 - N-1,其中各类奖品的概率通过其数量…

一个简单的时间轴demo

一个时间轴的组成 使用一个块级元素包裹内容,并未块级元素设置边框定义圆形或者菱形等元素标签,子元素设置偏移或者定位元素将图标定位到边框上使其中的内容不溢出,自动换行,内容自动撑高 英文自动换行:word-wrap:brea…