本周新学的 GUI绘图技术
作者语录:“终于学到绘图了 看到这种有图案的心情美丽多了 希望自己可以越学越多 越学越好”
本次就不用图片展示效果了,纯文字。
1.Graphics类概述
画图时我们都需要拥有一支画笔,Java中的Graphics类就类似绘制图像的画笔,该类当中提供了各种绘制图像的方法,包括绘制图片,绘制文本,绘制图形等。使用Graphics类的这些方法可以完成多种图像的绘制。
2.Graphics基本使用
使用Graphics类的基础功能我们可以完成多种图形的绘制,在容器中绘制图形需要重写容器的paint()方法,关于绘图的代码必须写在paint()方法中,paint()方法会在创建图形界面和改变图形界面时自动调用,手动调用paint()方法需要通过repaint()方法来完成。
注意:绘制图形需要重写容器的paint()方法,该方法会在容器创建或改变时自动调用。
3.Graphics2D
使用Graphics类可以完成基本的图形绘制,但是如果需要绘制一些比较复杂的图形时该类的功能就显得十分有限了。Graphics2D类继承了Graphics类,该类提供了对几何形状,坐标转换,颜色管理和文本布局等更为复杂的操作。Graphics2D类是实现二维形状,文本,和图像的基础类。
注意:Graphics2D对象可以通过强制转换Graphics对象获取。
Graphics2D与Graphics类似,除了可以绘制空心的图形之外还可以绘制实心的图形,绘制实心图形时只需要地道用方法名称为fillXXX()的方法即可。
4.画笔属性的设置
2.1 设置画笔的颜色
在程序绘图时需要用到各种各样的颜色,如果只有黑色肯定满足不了实际开发的需求。Java中提供了Color类用于创建多种颜色,如果要给画笔设置颜色需要调用Graphics类的setColor()方法。
语法:
g.setColor(Color类对象);
setColor()方法的参数为Color类的常量值,这些常量值都是静态的Color类对象,每个Color的常量值都代表一种颜色。
注意:使用setColor()方法将画笔颜色,此后画笔绘制图形时都会自动采用这种颜色。如果需要绘制其他颜色的图形,需要再次调用setColor()方法为画笔重新设置颜色。
2.2 设置画笔的字体
Graphics类除了可以绘制图形外还可以用来绘制文本,绘制特定格式文本时需要先设置画笔的字体样式。Java中提供了Font类用于创建文本样式,Font类提供了设置字体大小,样式等功能,使用Font类的有参构造方法即可创建一个包含指定字体,大小和样式的Font对象。
语法:
Font f = new Font(字体,样式,字号)
拥有Font对象后就可以通过Graphics类的setFont()方法为画笔设置指定的字体。
2.3 绘制图片
Graphics除了可以绘制图形与文本外还可以绘制图片,绘制图片需要使用drawImage()方法,该方法可以通过图片对象以及绘制的坐标来绘制图片。获取图片对象需要使用ToolKit类中的方法。
语法:
Image img = ToolKit.getDefaultToolkit().getImage(图片路径);
本章小结:
1.Graphics类是Java中用来绘制图形的基本类。
2.在容器中绘制图形时,须重写该容器的paint()方法,paint()方法会在容器创建与改变时自动调用。
3.Color类可以用来创建任意颜色对象,Graphics类的setColor()方法可以设置画笔的颜色。
4.Font类可以用来创建字体对象,Graphics类的setFont()方法可以设置画笔的字体。
5.ToolKit.getDefaultToolkit().getImage()方法可以获取图片对象,Graphics类的drawImage()方法可以绘制图片。
’
本周新学的 GUI绘图技术的更多相关文章
- 客户端软件GUI开发技术漫谈:原生与跨平台解决方案分析
原生开发应用开发 Microsoft阵营的 Winform WinForm是·Net开发平台中对Windows Form的一种称谓. 如果你想深入的美化UI,需要耗费很大的力气,对于目前主流的CSS样 ...
- 【PHP绘图技术&&验证码绘制】
PHP绘图是比较简单的事情,基本绘图如直线.圆.矩形.弧线.填充矩形.填充扇形.非中文字的打印.中文文字的打印在在下面的代码中会纤细讲解. 需要支持中文的字体,可以到windows自带的字体库中找,并 ...
- Windows 窗体的.Net 框架绘图技术
当编写一个典型的Windows 窗体程序时,窗体和控件的绘制.效果等操作是不需要特别加以考虑的.这是为什么呢?因为通过使用 .Net 框架,开发人员可以拖动一系列的控件到窗体上,并书写一些简单的与事件 ...
- PHP自学之路---报表及绘图技术
Ø 报表 a) 什么是报表 报表就是用表格.图表等格式来动态显示数据. b) PHP绘图坐标系 1. 坐标系介绍 下图说明了PHP坐标系.坐标原点位于左上角,以像素为单 ...
- PHP 绘图技术
1.图片格式:目前网站开发常见的图片格式有gif,jpg/jpeg,png ..... 区别: gif 图片压缩率高,但是只能显示256色,可能造成颜色的丢失,可以显示动画 jpg/jpeg 图片压缩 ...
- 【二十七】php之绘图技术(gd、jpgraph、短信随机验证码)
1.绘图技术(GD库) 注意:使用该库,php.ini文件中的extension=php_gd2.dll必须是开启状态,不然无法使用 图片格式:目前网站开发常见的图片格式有gif,jpg/jpeg,p ...
- 对于PHP绘图技术的理解
要使用PHP绘图,就得在php.ini文件中设置一下 找到这个位置 ;extension=php_gd2.dll,然后把前面的分号去掉,重启下apache就可以了 几乎每行代码我都写了注释,方便看懂 ...
- 【MFC】MFC绘制动态曲线,用双缓冲绘图技术防闪烁
摘自:http://zhy1987819.blog.163.com/blog/static/841427882011614103454335/ MFC绘制动态曲线,用双缓冲绘图技术防闪烁 2011 ...
- 【转 | 侵删】2D 绘图技术中的坐标系统与坐标变换
本文介绍在 2D 绘图技术中的坐标系统和坐标变换的相关知识.同时介绍 Kity 在这方面提供的 API .希望这些知识对于需要进行图形应用开发的同学会有所帮助. 锤子的故事 很久以前,有一个画家,他很 ...
随机推荐
- Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。
Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径. Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其 ...
- ruby1.9.2 +windowxp
ruby1.9.2 install on the window xp 1:在公司上網是有windows代理的(ntlm),而rails又都是gem安裝,對于接觸rails不多的人來時真是一場災難,我是 ...
- 今年暑假不AC - HZNU寒假集训
今年暑假不AC "今年暑假不AC?" "是的." "那你干什么呢?" "看世界杯呀,笨蛋!" "@#$%^&a ...
- Roundcube 1.2.2 - Remote Code Execution
本文简要记述一下Roundcube 1.2.2远程代码执行漏洞的复现过程. 漏洞利用条件 Roundcube必须配置成使用PHP的mail()函数(如果没有指定SMTP,则是默认开启) PHP的mai ...
- codeforces——961B. Lecture Sleep
本文为博主原创文章,未经允许不得转载. 我在csdn也同步发布了此文,链接 https://blog.csdn.net/umbrellalalalala/article/details/7989196 ...
- Yii2基本概念之——生命周期(LifeCycle)
人有生老病死,一年有春夏秋冬四季演替,封建王朝有兴盛.停滞.衰亡的周期律--"其兴也勃焉,其亡也忽焉".换句话说,人,季节,王朝等等这些世间万物都有自己的生命周期.同样地,在软件行 ...
- 搭建第一个spring boot项目
一.开发工具建议使用Spring Tool Suite 下载地址:http://spring.io/tools/sts/all/ 点击versions选择相应的版本下载,解压后直接运行即可. 二.创建 ...
- Windows下Markdown软件的选择
从开始Java学习这个系列的同时,我也开始改用Markdown而不是无比蛋疼的博客园默认编辑器来进行博客管理.但是Windows下想找一个比较好的Markdown编辑器蛮困难的,可以说专门的Markd ...
- windows系统命令行
使用 命令+/?就可显示命令的详细说明. 比如 ping/?就可知道ping命令的详细使用说明 netstat /?就可知道ping命令的使用说明
- [Arxiv1706] Few-Example Object Detection with Model Communication 论文笔记
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #042eee } p. ...