• 当前位置:创业找项目 > 范文大全 > 简单易学的画图软件
  • 简单易学的画图软件

  • 来源:创业找项目
  • 时间:2018-05-06
  • 移动端:简单易学的画图软件
  • 篇一:简单画图程序设计

    面向对象程序设计

    课程设计报告

    设计题目: 简单画图程序的设计

    学院: 专业: 学号:

    姓名: 信息工程学院 计算机科学与技术(交通)

    指导教师:

    2015 年 1 月 4 日

    目录

    1.设计目的和内容------------------------------------------------1

    1.1.设计目的-----------------------------------------------------------1

    1.2.设计内容-----------------------------------------------------------1

    2.基本功能---------------------------------------------------------1

    2.1.图形样式-----------------------------------------------------------1

    2.2.颜色样式-----------------------------------------------------------2

    2.3.画笔样式-----------------------------------------------------------2

    2.4.线型选择-----------------------------------------------------------3

    3.设计思路---------------------------------------------------------3

    4.软件设计---------------------------------------------------------5

    4.1.设计步骤-----------------------------------------------------------5

    4.2.界面设计-----------------------------------------------------------8

    4.3.关键功能的实现----------------------------------------------------9

    5.心得体会--------------------------------------------------------11

    6.参考文献--------------------------------------------------------11

    7.附录--------------------------------------------------------------11

    7.1.调试报告----------------------------------------------------------11

    7.2.调试结果----------------------------------------------------------12

    7.3.关键源代码--------------------------------------------------------12

    1. 设计目的和内容

    1.1. 设计目的

    1、 学习Visual C++的MFC开发程序的步骤

    2、 综合运用所学的类、继承和多态的知识

    3、 进一步掌握程序调试的方法

    1.2. 设计内容

    1、 利用MFC的向导,创建基于单文档的应用程序

    2、 编程实现,绘制线、圆、矩形的功能

    3、 能够设定当前要画的图形样式(最少为以上3种)和图形颜色(最少能够设为以下

    4种颜色:黑、红、绿、蓝)

    4、 当窗口重绘后,还能保持原来的图形

    5、 选做1:能够选中某些已绘制的图形,并删除之

    6、 选做2:能够保存已绘制的图形,下次打开时恢复原状

    2. 基本功能

    2.1.图形样式

    在菜单栏的设置里面有图形样式的选择,可以点击选中也可以在工具栏里点击图形的图标,能够实现绘制点、直线、矩形和椭圆的功能。

    第1页

    2.2.颜色样式

    在菜单栏的设置里面有颜色样式的选择,可以点击选中也可以在工具栏里点击颜色的图标,除了能够实现红、绿、蓝、黄、黑的普通选择,同时还加入了一个颜色板,点击更多(…)可以在调色板上选择任意的颜色。

    菜单和工具栏选色:

    调色板选色:

    2.3.画笔样式

    在菜单栏的设置里面有画笔样式的选择,可以点击选中即改变画笔的线宽,也可以在工具栏里点击表示画笔宽度的快捷按钮,线宽有从标准、一般、略粗和更粗的选择。

    第2页

    篇二:Java实现简单的绘图软件

    项目效果图:

    项目源代码:

    import java.awt.*;

    import java.awt.event.*;

    import java.awt.geom.Ellipse2D;

    import java.awt.geom.Line2D;

    import java.awt.geom.Rectangle2D;

    import java.awt.image.BufferedImage;

    import java.io.File;

    import java.io.IOException;

    import javax.imageio.ImageIO;

    import javax.swing.*;

    import javax.swing.filechooser.FileNameExtensionFilter;

    /* author: 蒋冰 */

    public class ImageDraw {

    private int typeFlag = 1;

    private int endFlag = 1;

    private int strokeTemp = 1;

    private Color color = Color.black;

    private BasicStroke stroke = new BasicStroke();

    private float pre_x = 0;

    private float pre_y = 0;

    private float start_x = 0;

    private float start_y = 0;

    private float start_X = 0;

    private float start_Y = 0;

    private float end_x = 0;

    private float end_y = 0;

    private float width = 0;

    private float height = 0;

    private final int AREA_WIDTH = 700;

    private final int AREA_HEIGHT = 400;

    private Line2D.Float line;

    private Rectangle2D.Float rect;

    private Ellipse2D.Float ellipse;

    private File imageFile;

    BufferedImage image = new BufferedImage(AREA_WIDTH , AREA_HEIGHT , BufferedImage.TYPE_INT_RGB);

    Graphics2D g2 = (Graphics2D) image.getGraphics();

    private JFrame frame = new JFrame("简单手绘程序");

    private DrawPanel drawArea = new DrawPanel();

    JButton buttonShowColor = new JButton("");

    public void init(){

    g2.fillRect(0 , 0 ,AREA_WIDTH , AREA_HEIGHT);

    g2.setColor(Color.black);

    drawArea.setPreferredSize(new Dimension(AREA_WIDTH , AREA_HEIGHT));drawArea.addMouseMotionListener(new MouseMotionAdapter()

    {

    public void mouseDragged(MouseEvent e)

    {

    do_mouseDragged(e);

    }

    });

    drawArea.addMouseListener(new MouseAdapter()

    {

    public void mousePressed(MouseEvent e1){

    do_mousePressed(e1);

    }); public void mouseReleased(MouseEvent e) { g2.setColor(color); g2.setStroke(stroke); endFlag = typeFlag; drawArea.repaint(); } public void mouseEntered(MouseEvent e){ frame.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR)); } public void mouseExited(MouseEvent e){ frame.setCursor(null); } frame.add(drawArea); JMenuBar mb = new JMenuBar(); JMenu menuFile = new JMenu("文件"); JMenuItem menuItemSave = new JMenuItem("保存"); menuItemSave.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) {do_save_actionPerformed(arg0); }}); JMenuItem menuItemOpen = new JMenuItem("打开"); menuItemOpen.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) {try { do_open_actionPerformed(arg0);} catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace();} } });

    JMenuItem menuItemExit = new JMenuItem("退出"); menuItemExit.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) {System.exit(0); } }); menuFile.add(menuItemSave); menuFile.add(menuItemOpen); menuFile.add(menuItemExit); mb.add(menuFile); JPanel buttonPanel = new JPanel(); FlowLayout layout = new FlowLayout(FlowLayout.CENTER, 20, 20); buttonPanel.setLayout(layout); buttonPanel.setBackground(Color.gray); JButton buttonDraw = new JButton("绘图"); buttonDraw.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) {typeFlag = 1; } }); buttonPanel.add(buttonDraw); JButton buttonLine = new JButton("直线"); buttonLine.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) {typeFlag = 2; } }); buttonPanel.add(buttonLine); JButton buttonRect = new JButton("矩形"); buttonRect.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) {typeFlag = 3; } }); buttonPanel.add(buttonRect);

    JButton buttonEllipse = new JButton("椭圆"); buttonEllipse.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) {typeFlag = 4; } }); buttonPanel.add(buttonEllipse); JButton buttonDrop = new JButton("清除"); buttonDrop.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) {typeFlag = 5;g2.setColor(Color.white);g2.fillRect(0 , 0 ,AREA_WIDTH , AREA_HEIGHT);drawArea.repaint(); } }); buttonPanel.add(buttonDrop); JButton buttonColorChoose = new JButton("选择颜色"); buttonColorChoose.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) {do_buttonColorChoose_actionPerformed(arg0); } }); buttonPanel.add(buttonColorChoose); buttonShowColor = new JButton(""); buttonPanel.add(buttonShowColor); JLabel label = new JLabel("边框:"); buttonPanel.add(label);JComboBox combox = new JComboBox(); for(int i=1; i<=36; i++){combox.addItem(i); } combox.addItemListener(new ItemListener() {public void itemStateChanged(ItemEvent e) { strokeTemp = Integer.parseInt(e.getItem().toString()) ; stroke = new BasicStroke(strokeTemp);}});

    篇三:简单画图

    当你跟小朋友玩儿的时候,是否有勾勾画画的时候,当小朋友让我们给画个房子、画个汽车的时候,你能信手拈来吗?下面,可以帮我们玩得更尽兴!


    简单易学的画图软件》由:创业找项目整理
    链接地址:http://www.gjknj.com/duwu/15485.html
    转载请保留,谢谢!
  • 下一篇:简单易学的英文歌