帮下忙用C语言编写下这道题的程序,关于指针和调用函数的题?
关注
Java简单图形绘制以及常见问题的说明 原创
请点击输入图片描述
码龄0年
- 关注
- import javax.swing.JFrame;//框架import javax.swing.JPanel;//容器import java.awt.Canvas;
- Graphics2D gx=(Graphics2D) g;
- gk.drawLine(gw*i,0,gw*i,180);
- gk.drawOval(20,20,20,20);//空心圆gk.fillOval(80,80,20,20);//实心圆
- gx.fillRect(x,y,20,20);//绘制方形gx.drawRect(x,y,20,20);//绘制空心矩形
前言:
在学习java的过程中,我最近接触到了与图形绘制相关的内容。为了完成学业中的作业,我拜读了许多大佬的文章和程序。现在作业倒是做完了,为了让自己最近所学有所属,我决定整理一下。若我所写有误,欢迎大佬批评指正。
关于简单绘制时图形容器的选择:
首先,有个前提得说明白。我们绘制图形时,自然是调用Graphics类进行绘制。但是绘制好的图形,我们总该找个容器来装吧。因此,可供选择的容器就有awt的子类Panel和Canvas类。Canvas可理解为画布,是容器的一种。而Panel类也为容器,两者皆可容纳Graphics的对象,但是Panel类可容纳对象的种类更多。当然,我们在单纯绘制简单图形时,使用Canvas类没有任何问题。但是使用Panel类,明显程序可塑性和可维护性会变得更强。在java中也有Javax.swing.JPanel对Panel进行拓展。在我们初学时,Panel其实已经够用。
关于Graphics与Graphics2D之间的关系:
java对Graphics进行了拓展,也就是说Graphics2D是Graphics的拓展。我们在使用Graphics的时候,经常会看见它们的强制转换。将Graphics转化为Graphics2D类型进行使用,我在书写程序时也经常这样做。
关于常用的Graphics图形绘制工具:
画直线:
abstract void drawLine(int x1,int y1,int x2,int y2) 调用该函数可以画一条从(x1,y1)到(x2,y2)的直线
画椭圆(圆):
abstract void drawOval(int x, int y, int width, int height) 调用该函数可以画一个空心椭圆。形参表示这个椭圆的外接矩形的信息。x,y表示外接矩形左上角的坐标,width和height即外接矩形的宽高。在此基础上进行变行,将外界矩形变为一个正方形,即可画出一个圆来。
public abstract void fillOval(int x, int y, int width, int height) 调用该函数可以画一个实心椭圆。其它参数信息与画空心椭圆的函数一致。
画矩形:
abstract void drawRect(int x, int y, int width, int height ) 调用该函数,可以绘制一个矩形。x,y是矩形左上角的点的坐标,width和height为矩形的宽高
abstract void fillRect(int ,x, int y, int width, int height ) 调用该函数可以画一个实心矩形。同理x,y是矩形左上角的一个点,而width和height是矩形的宽高
当然我们还有其它绘制图像的函数,从这点来说,java还是很方便的。其它函数可以去查查jdk手册,简单方便。
设置线条颜色:
我们经常遇到这样的需求,就是要求设置所绘制的图形的颜色。没有颜色,图形绘制出来难免显得单调。我们graphics刚好有设置线条颜色的函数。
abstract void setColor( Color c )调用这个函数可以设置线条颜色,其实就是相当于设置绘画时画笔的颜色。默认的画笔颜色,可以认为是黑色的。形参呢,其实就是Color的对象。而我们Color中设置了封装好的颜色对象,比如Color.RED,Color.BLUE。我们也可以手动设置RGB颜色对象。说到这里我们就不得不提,使用Color对象的时候要对Color库进行引用。Color是属于awt中的库。其引用代码可以这样写。