图形处理_13_java_JDK14

Posted 蜘蛛网计算机语言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图形处理_13_java_JDK14相关的知识,希望对你有一定的参考价值。

实际项目与案例-图形处理_13_java_JDK14

计算机:电子线路组成的计算机器。人与计算机则是通过计算机语言-符号系统说给计算机听而交流。

计算机语言有低级语言-机器语言、汇编、高级语言

-C/C++/C#/VB/PASCAL/LISP/JAVA/PYTHON/……几百种之多。

 

作为语言它们有共性:符号、格式-字词、语句、段落、文件、软件、……

用于数字计算的语言,字词就有-数据类型、运算符号、运算控制词汇等;复杂的运算有语句-句型-句法;句子组成段落、段落要有逻辑格式,这就是循环结构、分支结构、循环结构文章的结构语法;基本结构组成文件-多个文件组成一个软件来处理辅助处理各种事情数值计算问题、文字处理问题、图形图像处理问题、事务问题处理物流、金融、票务、人员、商务、……无孔不入。

图形处理_13_java_JDK14

计算机处理系统计算机辅助,通常分为两个部分后台-内部运行指令和前台-人机交互界面的显示。

后台是

计算机语言的指令集二进制指令序列

图形处理_13_java_JDK14 

人们编写的汇编语言:

图形处理_13_java_JDK14

人们可编写的高级语言C

人们可编写的高级语言C++

人们可编写的高级语言VB

图形处理_13_java_JDK14 

人们可编写的高级语言:……:

前台则是

案例1:

图形处理_13_java_JDK14

案例2:

图形处理_13_java_JDK14 

案例3:

案例4:

案例5:

图形处理_13_java_JDK14

案例6:

 

案例n :

无孔不入的计算机、无孔不入的计算机语言、无所不在的计算机辅助、……

数字计算文字处理图形图像处理事务处理……控制与通讯、商业与社会管理、军事与太空、……

这里需要说明一下:

人类可以使用的输入方式键盘(源于打字机)、相机(源于视觉的光学原理)、话筒(源于听觉的力学之振动原理)、触觉等等。

人类可以使用的输出方式显示器(源于视觉的光学原理-灯泡照片……)、喇叭(源于听觉的力学之振动原理-声响乐器……)、动作行为等等。

计算机可以接受的数值计算(10100011101101-电子线路的开关电路,这可以由编译器转换-处理。高级语言表述得以转换。

符号--西文字母数字拼音文字已经有了标准的转化代码(类似于中文的四角号码字典检索-邮政编码-代号等模式),中文字也有了标准的代码库信息交换码。可人们还是要重新了解计算机的信息输出问题发光二极管点阵液晶屏,因为图的问题是很难或说没有一个标准的信息交换码可以表达。那只有采用最基本的办法控制显示器的点阵码色彩亮度灰度等。

打印机也是基于点阵原理的(数控机床也是)--图形、图像、视频等的数值化技术二进制表达。

基于此,便有了图形的生成(显示-打印问题包括三维打印-3D技术)基于几何学基础的基本的几何要素--线--体形成用基本要素组合成一个复杂的图形基本的几何要素就可以标准化--需要一些与硬件打交道的标准函数—GUI 图形用户界面(Graphical User Interface--或者图形用户接口),还有一些标准图库等。

对于编程者来说,只需要知道几何要素--线--体的生成函数即可。

还有第二个问题,显示器与打印机不同,显示器需要刷新保持发光器件的持续电平信号脉冲信号一闪而过。还有-显示图形需要一个区域同时显示,不想字符显示可以是一行一行。也就是说,需要全屏持续扫描才有图形显示。需要设置一个显示区,需要图形坐标,需要色彩控制、需要线型、需要……。

这样,一般说来,计算机语言(CC++FORTRAN……)不包含绘图函数图形包,而可视化的编译平台(VBVC++VFortranMATLAB等)则带有了绘图包,它们提供了一个绘图平台。通过外挂函数包- GUI等的改造,计算机语言都可以进行图形处理了。

不光是图形生成,还有图形编辑、图像(相机-摄影设备的结果处理-遥测图形信息的图像影视数据-信息等)编辑、分析、识别、……等等,当然也包括影视作品、文艺作品、摄影、绘画、雕塑等等的计算机处理清明上河图即是一例,三维敦煌展示就是一例,卫星回传信息就是实例,刷脸进站就是实例,在万众之中寻找某人就是实例、……。

由于都是信号-信息-数字集合等,这就需要除显示之外的滤波、变换、增强、编码、压缩、保密、分解、合成、……等等。

先从最简单的图形生成内生图形开始吧。

C语言:由于标准CC++Fortran、……等语言没有生成图形的标准函数,因此非专业人士需要一个GUI图形包外挂,以便提供可以生成图形基本元素的函数集及其图形显示界面坐标系等。

先从最简单的图形生成内生图形开始吧。

java语言:由于编译器可视化的编译平台已经集成了绘图所需要的GUI图形包,因此用户就可以简单的直接利用绘图设置及其基本元素的绘图函数对象与方法

下面是java语言的一个例子:

importjavax.swing.*;

importjava.awt.*;

importjava.awt.geom.GeneralPath;

importjavax.swing.JLabel;

 

public classDrawSmoothCurve extends JPanel {

    private Point[] points = {

            new Point(0, 0),

            new Point(100, 100),

            new Point(240, -80),

            new Point(360, 130),

            new Point(480, -120),

            new Point(630, 140),

                            new Point(690, -90),

                            new Point(760, 80),

                              };

    GeneralPath path = new GeneralPath();

    public DrawSmoothCurve() {

        path.moveTo(points[0].x, points[0].y);

        for (int i = 0; i < points.length-1;++i) {

            Point sp = points[i];

            Point ep = points[i+1];

            Point c1 = new Point((sp.x +ep.x)/2, sp.y);

            Point c2 = new Point((sp.x +ep.x)/2, ep.y);

            path.curveTo(c1.x, c1.y, c2.x,c2.y, ep.x, ep.y);

        }

    }

 

    protected void paintComponent(Graphics g) {

        super.paintComponent(g);

        Graphics2D g2d = (Graphics2D) g;

       g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);

                   g2d.setColor(Color.blue);

        g2d.setStroke(new BasicStroke(4));

        g2d.translate(40, 130);

        g2d.draw(path);

                   g2d.setStroke(newBasicStroke(2));

                   g2d.drawLine(3,180,800,180);

                   g2d.drawLine(3,50,800,50);

                   g2d.drawLine(3,100,800,100);

                   g2d.drawLine(3,150,800,150);

                   g2d.drawLine(30,-20,600,-30);

                   g2d.drawLine(30,-20,600,-55);

                   g2d.drawLine(30,-20,600,-110);

                   g2d.drawLine(30,-20,600,-140);

                   g2d.setColor(Color.green);

                   g2d.drawRoundRect(140,-20,300,250,530,320);

        for (int i = 0; i < points.length;++i) {

            g2d.setColor(Color.GREEN);

            g2d.fillOval(points[i].x-4,points[i].y-4, 8, 8);

            g2d.setColor(Color.RED);

            g2d.drawOval(points[i].x-4,points[i].y-4, 8, 8);

        }

    }

    private static void createAndShowGui() {

        JFrame frame = new JFrame("SmoothCurve");              

        frame.setContentPane(newDrawSmoothCurve());

       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setSize(900, 400);

        frame.setLocationRelativeTo(null);

                   Font fnt=newFont("Serief",Font.ITALIC+Font.BOLD,34);  

                   JLabel lab=newJLabel("holle!This is a Smooth Curve.",JLabel.CENTER);

        lab.setFont(fnt);

                   lab.setForeground(Color.RED);

                   frame.add(lab);

                   frame.setVisible(true);

    }

    public static void main(String[] args) {

        SwingUtilities.invokeLater(newRunnable() {

            public void run() {

                                     createAndShowGui();

            }        });   }}


以上是关于图形处理_13_java_JDK14的主要内容,如果未能解决你的问题,请参考以下文章

_14python基础_异常处理

推到式_列表

『Python』PIL图像处理_矩阵转化

计算机图形学输出图元_14_OpenGL像素阵列函数_1_位图函数

处理字符串_14_SQL处理IN和合并后字符串案例详解

文字处理12_javaJDK14基本要点