1-3人创业好项目!轻松致富的好项目,白手起家创业好选择!
当前位置:创业小项目 > 范文大全 > 简单易学的画图软件

简单易学的画图软件

来源:创业小项目 | 时间:2018-06-21 | 移动端:简单易学的画图软件

篇一:简单画图程序设计

面向对象程序设计

课程设计报告

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

学院: 专业: 学号:

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

指导教师:

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.csmayi.cn/duwu/15485.html
转载请保留,谢谢!
相关文章