• 第十九章Java绘图


    要开发高级应用程序,就必须掌握一定的图像处理技术。Java绘图程序开发不可缺少的技术,使用这些技术可以为程序提供数据统计、图表分析等功能,还可以为程序搭配音效,提高程序的交互能力。

    19.1Java绘图类

    绘图是高级程序设计中非常重要的技术。例如,应用程序可以绘图闪屏图片,背景图片、组件外观等,Web程序可以绘制统计图、数据库存储的图片资源等。正所谓“一图胜千里”,使用图片能够更好的表达程序运行结果,并且能够进行细致的数据分析与保存等。

    19.1JAVA绘图类
    绘图是高级程序设计中非常重要的技术
    19.1.1Graphics类
    Graphics类是所有图形上下文的抽象基类,它允许应用程序在组件以及闭屏图片上进行绘制
    Graphics类封装了JAVA支持的基本绘图操作所需的状态信息,主要包括颜色,字体,画笔,文本,图像等。

    19.1.2Graphics2D类
    使用Graphics类可以完成简单的图形绘制任务,但功能有限,无法改变线条的粗细,不能对图片进行
    19.2绘制图形
    JAVA可以分别使用Graphics类和Graphics2D类绘制图形
    例题19.1

    代码如下:

    运行结果如下:

    Graphics类常用的图形绘制方法

    Graphics2D类是在继承Graphics类的基础上编写的,包含了Graphics类的绘制方法,并添加了更强的功能,在绘制绘图类时推荐使用,Graphics2D类可以分别使用不同的类,表示不同的形状。
    要绘制指定形状的图形,需要先创建并初始化该图形类的对象,且这些类图形类必须是Shape接口的实现类,然后使用Graphics2D类的draw()方法绘制该图形对象或者使用fil(0l方法填充该图形对象语法格式如下:

    draw(Shape form)
    fill(Shape form)
    form是Shape接口的对象

     例题19.2代码:

    运行结果:

    19.3绘图颜色与画笔属性

    19.3.1设置颜色
    使用 Color 类可以创建任意颜色的对象,不用担心平台是否支持改颜色,因为 Java 以跨平台和与硬件无关的方式支持颜色管理。

    19.4绘制文本
    19.4.1设置字体

    Java使用 Font 类封装了字体的大小、样式等属性,该类在 java.awt 包中定义,其构造方法可以指定字体的名称、大小和样式3个属性。
    19.4.2显示文字

     Graphics2D 类提供了 drawString()方法,使用该方法可以实现图形上下文的文本绘制,从而实现在图片上显示文字的功能。
    例题19.3

    运行结果:

    19.5显示图片
    绘图不仅可以绘制图形和文本,还可以使用 drawImage() 方法将图片资源显示到绘图上下文中,而且可以实现各种特效处理。

    例题19.4

    运行结果:

    19.5显示图片
    绘图不仅可以绘制图形和文本,还可以使用 drawImage() 方法将图片资源显示到绘图上下文中,而且可以实现各种特效处理。

    19.6图像处理
    19.6.1放大与缩小
    使用了 drawImage() 方法将图片以原始大小显示在窗体中,要想实现图片的放大与缩小,则需要使用他的重载方法。

    19.5例题

    运行结果:

    19.6.2图像翻转
    图像的翻转需要使用 drawImage() 方法的另一个重载方法。
         此方法总是用来非缩放的图像来呈现缩放的矩形,并动态地执行所需要的缩放。此操作不使用缓存的缩放图像。执行图像从源到目标的缩放,要将源矩形的第一个坐标映射到目标矩形的第一个坐标,源矩形的第二个坐标映射到目标矩形的第二个坐标,按需要缩放和翻转子图像,以保持这些映射关系。

    19.6例题

    运行结果:

    19.6.3图像旋转
    图像旋转需要调用 Graphics2D 类的 rotate()方法,该方法将根据指定的弧度旋转图像。
    例题19.7

    运行结果:

    19.6.4图像倾斜
    可以使用 Graphics2D 类提供的 shear()方法设置绘图的倾斜方向,从而使图像实现倾斜的效果。
    例题19.8

    运行结果:

    绘制图形

    介绍:java分别使用Graphics类和Graphics2D类绘制图形,Graphics类使用不同的方法实现不同图形绘制。类如,drawLine()方法可以绘制直线,drawRect()方法用于绘制椭圆形等。绘制奥运五环图案

    在项目中创建DrawCirele类,使该类继承JFrame类成为窗体组件,在类中创建继承JPanel类的DrawPanel内部类,并重写paint()方法,绘制有5个圆形组成的图案。代码(创建DrawCircle类

    最后.所有Graphics类常用的图像绘制

    代码创建

    运行结果:

    颜色与画笔
    介绍:使用Color类可以创建任意的对象,不用担心平台是否支持该颜色,因为Java以跨平台和与硬件无关的方式支持颜色管理。
    创建方式:Color col = new(int r, int g, int b)
                    Color col = new(int rgb)
    rgb(三原色)是红绿蓝的总和
    r:红色g:绿色b:蓝色。

  • 相关阅读:
    热门Java开发工具IDEA入门指南——从Eclipse迁移到IntelliJ IDEA(三)
    不小心误删的文件怎么恢复?三个方法解决烦恼
    牛客网面试必刷TOP101之——反转与合并链表
    2023届春招实习-个人面试过程和面经分享
    Feign源码解析:初始化过程(二)
    vue.js not detected问题解决
    K8S 角色/组件及部署方式的简单概述
    js 生成随机字符串 -- chatGPT
    无涯教程-Flutter - 安装步骤
    C++二级题目6
  • 原文地址:https://blog.csdn.net/love735200305/article/details/134389131