- 浏览: 237375 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
qwe2252099:
给力!简单易懂
两个java web服务间SoapMessage对象的传递 -
mimang2007110:
不是自带的,自己编辑过的
java代码模板 -
墨子宇:
貌似不是带有箭头的
CSS带箭头的导航菜单 -
墨子宇:
借鉴一下。不是自带的那个吧
java代码模板 -
墨子宇:
看名字应该是注释模板吧
myeclipse编码模板
五.绘制椭圆
方法:drawOval(int x,int y,int width,int height)
功能:在指定的外接矩形中绘制一个圆形或椭圆。在这里椭圆的中心就是它外接矩形的中心,这个矩形的左上角坐标为(x,y),宽度和高度分别为width和height,即:
参数x为x轴坐标
参数y为y轴坐标
参数width为矩形的宽度
参数height为矩形的高度
方法fillOval(int x,int y,int width,int height);作用是在指定的外接矩形中绘制一个圆形或椭圆,并使用当前图形对象的颜色对它进行填充。在这里椭圆的中心就是它外接矩形的中心,这个矩形的左上角坐标为(x,y),宽度和高度分别为width和height,即:
参数x为x轴坐标
参数y为y轴坐标
参数width为矩形的宽度
参数height为矩形的高度
例
import java.awt.*;
import java.applet.*;
public class mj1 extends Applet{
public void init(){
resize(280,280);
}
public void paint(Graphics g){
g.fillOval(20,20,90,90);
g.drawOval(20,150,90,30);
g.fillOval(140,20,70,200);
}
}
六.绘制弧形
方法:drawArc(int x,int y,int width,int height,int startAngle,int arcAngle)
功能:在指定的外接矩形中绘制一个圆弧或椭圆弧。在这里圆弧或椭圆弧的中心就是它外接矩形的中心,这个矩形的左上角坐标为(x,y);宽度和高度分别为width和height,即:
参数x为x轴坐标
参数y为y轴坐标
参数width为矩形的宽度
参数height为矩形的高度
参数startAngle为圆弧或椭圆弧的起始角度
参数arcAngle为圆弧或椭圆弧跨越的角度
参数startAngle和arcAngle的单位为 “度”,起始角的0度位置是3点钟的方位。如果arcAngle的值是正值,则表示从startAngle的角度开始,向逆时针方向画arcAngle度的弧;如果arcAngle的值是负值,则表示从startAngle的角度开始,向顺时针方向画arcAngle度的弧。
方法fillArc(int x,int y,int width,int height,int startAngle,int arcAngle):其作用是在指定的外接矩形中绘制一个圆弧或椭圆弧,并使用当前图形对象的颜色对它进行填充。在这里圆弧或椭圆弧的中心就是它外接矩形的中心,这个矩形的左上角坐标为(x,y);宽度和高度分别为width和height,即:
参数x为x轴坐标
参数y为y轴坐标
参数width为矩形的宽度
参数height为矩形的高度
参数startAngle为圆弧或椭圆弧的起始角度
参数arcAngle为圆弧或椭圆弧跨越的角度
参数startAngle和arcAngle的单位为 “度”,起始角的0度位置是3点钟的方位。如果arcAngle的值是正值,则表示从startAngle的角度开始,向逆时针方向画arcAngle度的弧;如果arcAngle的值是负值,则表示从startAngle的角度开始,向顺时针方向画arcAngle度的弧。
例
import java.awt.*;
import java.applet.*;
public class mj1 extends Applet{
public void init(){
resize(280,280);
}
public void paint(Graphics g){
g.setColor(Color.gray);
g.fillArc(30,20,90,90,0,180);
g.drawArc(30,150,90,90,45,135);
g.drawArc(150,20,50,80,225,300);
g.fillArc(140,150,70,100,45,90);
}
}
七 . 绘制多边形
方法: drawPolygon(int xPoints[],int yPoints[],int nPoints)
功能: 根据参数数组xPoints[]和yPoints[]提供的各个顶点坐标,绘制一个多边形。这个方法绘制的多边形包括nPoints个顶点,每条线从( xPoints[I-1], yPoints[I-1])到(xPoints[I], yPoints[I]),最后一条线从最后一个顶点开始到第一个顶点结束,其中:
参数xPoints为多边形所有顶点的x轴坐标数组
参数yPoints为多边形所有顶点的y轴坐标数组
参数nPoints为顶点数目
方法fillPolygon(int xPoints[],int yPoints[],int nPoints);
功能: 根据参数数组xPoints[]和yPoints[]提供的各个顶点坐标,绘制一个多边形并使用当前图形对象的颜色对其进行填充。这个方法绘制的多边形包括nPoints个顶点,每条线从( xPoints[I-1], yPoints[I-1])到(xPoints[I], yPoints[I]),最后一条线从最后一个顶点开始到第一个顶点结束,其中:
参数xPoints为多边形所有顶点的x轴坐标数组
参数yPoints为多边形所有顶点的y轴坐标数组
参数nPoints为顶点数目
例: 我们绘制了一个八边形,第1个八边形我们用了9个顶点,即八边形的最后一条线是从最后一个顶点开始到第一个顶点结束的,所以我们看到的程序执行结果中的八边形是封闭的。在另一个八边形中我们用了8个顶点,即八边形的最后一条线是从倒数第2个顶点开始到最后一个顶点结束的,所以我们看到的程序执行结果中的八边形是不封闭的。
import java.awt.*;
import java.applet.*;
public class mj1 extends Applet{
public void init(){
resize(250,200);
}
public void paint(Graphics g){
int Dx1[]={20,40,60,80,80,60,40,20,20};
int Dy1[]={30,10,10,30,50,70,70,50,30};
int Dd1=9;
int Dx2[]={20,40,60,80,80,60,40,20};
int Dy2[]={120,100,100,120,140,160,160,140};
int Dd2=8;
int Dx3[]={100,150,200,100};
int Dy3[]={50,10,50,50};
int Dd3=4;
int Dx4[]={100,150,200};
int Dy4[]={140,90,140};
int Dd4=3;
g.setColor(Color.red);
g.fillPolygon(Dx1,Dy1,Dd1);
g.drawPolygon(Dx2,Dy2,Dd2);
g.fillPolygon(Dx3,Dy3,Dd3);
g.drawPolygon(Dx4,Dy4,Dd4);
}
}
八. 相互重叠的图形来
方法: XORMode(Color c1)
功能: 绘制出相互重叠的图形,其中:
参数c1表示第2种颜色
例: 程序中有4个不同颜色的图形,相互重叠。
import java.awt.*;
import java.applet.*;
public class mj1 extends Applet{
public void init(){
resize(250,150);
}
public void paint(Graphics g){
int Dx1[]={30,50,70,90,90,70,50,30,30};
int Dy1[]={40,20,20,40,60,80,80,60,40};
int Dd1=9;
int Dx2[]={100,150,200,100};
int Dy2[]={50,10,50,50};
int Dd2=4;
g.setColor(Color.red);
g.fillOval(130,40,40,40);
g.setXORMode(Color.green);
g.drawPolygon(Dx2,Dy2,Dd2);
g.setColor(Color.lightGray);
g.fillPolygon(Dx1,Dy1,Dd1);
g.setXORMode(Color.yellow);
g.fillRect(15,10,220,80);
}
}
九. 拷贝图形
方法: copyArea(int x,int y,int width,int height,int dx,int dy)
功能: 拷贝一个图形,这个方法的作用为拷贝一块屏幕上的矩形区域,该矩形区左上顶点坐标为(x,y),宽度为width,高度为height,该矩形区域被拷贝到坐标(x+dx,y+dy)处,
参数x为源矩形区域的x轴坐标
参数y为源矩形区域的y轴坐标
参数width为宽度
参数height为宽度
参数dx为水平移动距离
参数dy为垂直移动距离。
例.
import java.awt.*;
import java.applet.*;
public class mj1 extends Applet{
public void init(){
resize(300,180);
}
public void paint(Graphics g){
int Dx1[]={100,150,200,100};
int Dy1[]={50,10,50,50};
int Dd1=4;
g.setColor(Color.green);
g.fillPolygon(Dx1,Dy1,Dd1);
g.copyArea(95,5,110,50,-60,70);
g.copyArea(95,5,110,50,60,70);
}
}
§4. 图像输出
一. 加载图片文件
Java API在包java.awt、java.applet和java.image中都有对图形的支持。而目前Java中可以直接载入并输出的图形文件格式有两种。即:GIF和JPEG文件,所以我们只要给定图形文件的位置和文件名,就可以通过getImage这个方法载入所要的图形。getImage方法的格式为:
①Image getImage( URL url );
②Image getImage( URL url, String name );
其中第①方式要给出图形文件的绝对URL地址,第②方式是要给出图形文件的基地址和图形文件名。如果图形文件和Applet在同一目录下时,用getCodeBase( )获取基地址,如果图形文件和包含Applet的HTML文件在同一目录下,则用getDocumentBase( ) 获取基地址。
二. 图片的显示输出
输出图形要用到类Graphics,在Graphics类中用方法drawImage,可以把图形绘制出来,如果我们仅仅是简单地想要将图形显示出来,用g.drawImage(image1,x,y,this),其中:
参数image1是类Image生成的对象
参数x和参数y是图形出现的坐标点
例1. import java.awt.*;
import java.applet.*;
public class xiaotiu extends Applet {
Image pic1;
public void init(){
resize(200,150);
pic1=getImage(getDocumentBase( ), "hlpglobe1.gif");
}
public void paint(Graphics g){
g.drawImage(pic1,30,25,this);
}
}
l 如果用绝对位置来表示URL,必须根据文件位置和文件名称创建一个URL对象,再有getImage()方法载入图像文件。而创建URL对象时,URL够造方法可能会产生一个异常,必须对这个异常进行处理。
例2。:
import java.awt.*;
import java.applet.*;
import java.net.URL;
import java.net.MalformedURLException;
public class mj1 extends Applet{
Image pic1;
public void init(){
try{
URL url=new URL("file:///c:/mjj/tt8.gif");
pic1=getImage(url);
}
catch(MalformedURLException e){
System.out.println("MalformedURLException:"+e);}
}
public void paint(Graphics g){
g.drawImage(pic1,30,25,this);
}
}
三.图形的缩放
方式: g.drawImage(image1,x,y,width,heigth,this)
功能:以不同的大小显示出图像
其中:width和heigth分别代表图像的宽和高。
例 3:
import java.awt.*;
import java.applet.*;
public class xiaotiu extends Applet {
Image pic1;
public void init(){
pic1=getImage(getCodeBase ( ), "hlpglobe1.gif");
}
public void paint(Graphics g){
g.drawImage(pic1,10,0,this);
g.drawImage(pic1,10,100,100,100,this);
g.drawImage(pic1,10,220,250,150,this);
}
十. 在一个图形中提取指定区域的图形
CropImageFilter, CropImageFilter是一个图像过滤器,它可以对图像进行修剪,主要用于提取指定矩形区域的图像。我们可以由此创建一个新的图形对象,也就是说通过这个方法,我们可以在一个图像中把我们需要的部分提取出来。方法: public CropImageFilter(int x,int y,int w,int h),其中:
参数x表示被选取矩形左上角的x轴坐标
参数y表示被选取矩形左上角的y轴坐标
参数w为被选取矩形的宽度
参数h为被选取矩形的高度
例4.
import java.awt.*;
import java.applet.*;
import java.awt.image.*;
import java.awt.event.*;
public class xiaotiu extends Applet implements MouseListener {
Image pic1,pic2;
int x1,y1,w,h,count=1;
public void init(){
pic1=getImage(getCodeBase(),"联想标志.jpg");
pic2=pic1;
addMouseListener(this);
}
public void paint(Graphics g){
int w=pic2.getWidth(this);
int h=pic2.getHeight(this);
Dimension d=getSize();
if(w>d.width)w=d.width;
if(h>d.height)h=d.height;
g.drawImage(pic2,(d.width-w)/2,(d.height-h)/2,this);
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){
int x;int y;
Graphics g=getGraphics();
x=e.getX();
y=e.getY();
if(count==1){
x1=x;y1=y;count=2;
g.drawLine(x-5,y,x+5,y);
g.drawLine(x,y-5,x,y+5);
}else if(count==2){
count=3;
if(x1>x)w=x1-x;
else w=x-x1;
if(y1>y)h=y1-y;
else h=y-y1;
pic2=crop();
repaint();
}else{
count=1;
pic2=pic1;
repaint();
}
}
public void mouseReleased(MouseEvent e){
}
Image crop(){
ImageFilter filter =new CropImageFilter(x1,y1,w,h);
ImageProducer producer=new FilteredImageSource(pic1.getSource(),filter);
return createImage(producer);
}
}
l 例播放声音:
Java提供两种在applet中播放声音的机制:Applet类的play方法和AudioClip中的play方法。
例1:
import java.awt.*;
import java.applet.*;
public class sheng extends Applet{
public void paint(Graphics g){
g.drawString("AudioTest",25,25);
play(getDocumentBase(),"shengxin.au.au");
}
}
例2:
import java.awt.*;
import java.applet.*;
public class shengxin extends Applet{
AudioClip sound;
public void init(){
sound=getAudioClip(getDocumentBase(),"shengt1.au");}
public void paint(Graphics g){
Font ltz =new Font ("TimesRoman",Font.BOLD+Font.ITALIC,80);
g.setFont(ltz);
g.setColor(Color.red);
g.drawString("请听音乐",45,80);
g.setColor(Color.yellow);
g.drawString("请听音乐",47,82);
}
public void start(){
sound.loop();
}
public void stop(){
sound.stop();
}
}
发表评论
-
HttpClient各种使用方法
2014-08-27 15:25 1446最近项目中用到了模拟HTTP请求的部分,下面做了一个小整合 ... -
java中BCD编码
2014-08-09 11:20 3462Java中实现的BCD编码,供有兴趣的参考,欢迎批评指正 ... -
Android数据库操作的两种方式
2014-07-10 16:56 1004Android操作数据库分文两种方式,一种是自己写sql脚本 ... -
Apache Ftp Server与spring框架融合
2014-04-01 16:33 6644最近在写一个项目,需要用到FTP服务,就从网上搜了一下,发现 ... -
Apache Ftp Server使用说明
2014-04-01 15:45 677最近公司项目需要一个FTP服务器,就从网上搜了一下发现Apac ... -
编程从业 5 年后的 14 条经验
2013-04-20 14:57 8251. 当性能遇到问题时,如果能在应用层进行计算和处理,那就把 ... -
Spring自己的轻量级定时器的两种实现方式
2013-03-04 19:35 1200Spring自己本身的轻量级 ... -
Java获取当前路径
2013-03-04 12:17 8401、利用System.getProperty()函数获取当 ... -
java udp通信
2012-12-12 11:39 1200java服务器部分: public static vo ... -
java 实现ftp的文件上传和删除
2012-12-01 11:49 17435package com.tw.ftp; impor ... -
java操作FTP,实现文件上传下载删除操作
2012-12-01 11:07 16991上传文件到FTP服务器: ... -
java下载文件的四种方式
2012-11-30 15:30 998try { ... -
模拟HTTPClient发送消息到服务器
2012-07-16 14:36 1018// 存储服务器的响应消息 Stri ... -
两个java web服务间SoapMessage对象的传递
2012-07-14 15:51 1976客户端代码: try { ... -
字符串转换成SoapMessage对象
2012-07-14 15:40 4321下面的代码可以把字符串转换成SoapMessage对象 ... -
SoapMessage对象转换成字符串
2012-07-14 15:36 6402下面的代码可以把一个SoapMessage对象转换成字符串对象 ... -
手动修改和启动在spring配置文件中配置的定时器
2012-07-12 20:50 21241、创建业务处理类 public class Task ... -
手动利用spring提供的quartz创建定时器
2012-07-12 20:41 3019手动创建并启动定时器方法: /** * & ... -
spring定时器的创建和配置
2012-07-12 20:38 68621、创建业务处理类 public class Palp ... -
spring管理日志的例子
2012-05-07 15:32 813Spring 带给我们的另一个好处就是让我们可以“专心做 ...
相关推荐
Java绘图板源代码是Java编程中用于实现图形用户界面(GUI)的一种示例应用,它允许用户在界面上绘制图形、线条、形状等。在Java中,我们可以使用Java AWT(Abstract Window Toolkit)和Swing库来创建这样的功能。这...
Java绘图是Java编程语言中一个重要的特性,主要用于创建丰富的图形用户界面(GUI)和动态效果。在Java中,绘图主要依赖于Java2D API,这是一个强大的图形处理框架,提供了大量的类和方法来实现复杂的图形绘制。 ...
这个"java2d绘图实例"显然是一份详细的教学资料,旨在帮助开发者理解和掌握如何在Java环境中创建复杂的图形。Java 2D API扩展了Java AWT(Abstract Window Toolkit)库,使得开发者能够进行高质量、高性能的图形绘制...
在Java桌面绘图应用中,主要涉及以下核心知识点: 1. **Graphics类**:这是Java中进行图形绘制的基础,它包含了各种绘制方法,如`drawLine()`, `fillRect()`, `drawOval()`等,用于在Component或Canvas上绘制图形。...
**绘图板课程设计报告——基于JAVA的实现** 在计算机科学与技术领域,尤其是在软件工程中,课程设计是一项重要的实践环节,它旨在让学生通过实际操作掌握特定编程语言或技术的应用。本报告将深入探讨一个使用Java...
### Java实用案例教程第6章Java绘图 #### 教学目标 - 掌握字体设置的相关知识与用法; - 掌握`Graphics`类的常用方法; - 能够绘制各种基本形状的图形; - 能够设定所要绘制图形的颜色; - 并能在窗口中绘制图像。...
"JAVA绘图程序源代码"就是基于这样的技术构建的,它实现了基本的绘图功能,如画直线、圆、矩形,并且支持自定义画笔、颜色和线条粗细,还特别加入了橡皮擦功能,提升了用户体验。 首先,让我们深入了解JAVA绘图的...
Java中的`Graphics2D`是`Graphics`类的子类,提供了丰富的绘图功能,包括绘制文本。在文字转图片的过程中,`Graphics2D`是关键工具,可以让我们在指定的图像上绘制文字,调整字体、颜色、大小和位置。 2. **...
Java Windows绘图板是一款基于Java语言开发的图形用户界面应用,旨在提供类似Windows操作系统内置的画图工具的功能。这个项目的主要目标是实现一个用户友好、功能丰富的画图平台,允许用户绘制各种图形并进行基本的...
在“java绘图方面的源码”中,可能包含了一些示例代码,演示了如何利用Java进行图形绘制。例如,可能有程序展示了如何创建自定义的组件并在其上绘制几何图形,或者如何动态地更新画布,实现动画效果。这些源码可以...
java内容绘图方法.
在JAVA编程语言中,开发一个绘图程序是一个有趣且实用的学习项目。这个程序允许用户通过拖拽鼠标在屏幕上绘制各种形状,如圆形、正方形等。在这个过程中,我们主要会用到Java的AWT(Abstract Window Toolkit)或...
在这个"Java绘图板源码"项目中,开发者利用Swing的组件来构建了一个完整的画图应用。主界面包含一个绘图面板,用户可以在上面绘制各种形状,如直线、圆形、椭圆、矩形、正方形和多边形。这些功能通常通过鼠标交互...
在Java编程语言中,对图片进行180度旋转是一项常见的图像处理操作,这通常涉及到对像素数据的重新排列。以下是一些关于如何在Java中实现这个功能的关键知识点: 1. **Java AWT 和 Swing 图像处理库**: Java提供了...
在Java绘图板中,我们可以使用Graphics2D对象来绘制线条、形状、填充颜色等。例如,使用`drawLine()`绘制线段,`drawRect()`绘制矩形,`fillCircle()`填充圆等。 3. **事件监听**:为了响应用户的交互,如点击鼠标...
Java绘图程序(CAD)是一种基于Java编程语言开发的计算机辅助设计系统,它允许用户创建、编辑和操作基本的工程图样。Java作为一种跨平台的编程语言,为CAD应用程序提供了可移植性和广泛的库支持,使其能在不同的操作...
下面我们将深入探讨Java绘图的基础知识,以及如何在MyEclipse环境中进行项目开发。 1. Java绘图基础 Java中的绘图主要通过`java.awt`和`javax.swing`包中的类来实现。AWT提供了一组基本的图形组件和事件处理机制,...
Java绘图软件是一款基于Java Swing库开发的简单图形编辑器,它允许用户创建并操作基本图形,同时还提供了保存、复制和粘贴等实用功能。在本文中,我们将深入探讨Java Swing以及这款软件背后的关键技术。 Java Swing...
在Java中,我们可以创建自定义类来实现这两个颜色模型的转换。以下是一些关键步骤: 1. 定义RGB和CMYK类: 创建两个类,RGB和CMYK,分别存储对应颜色模型的值。RGB类包含三个整型变量(r, g, b),范围在0到255...