《简单易学的画图软件.docx》由会员分享,可在线阅读,更多相关《简单易学的画图软件.docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、简单易学的画图软件篇一:简单画图程序设计 面向对象程序设计 课程设计报告 设计题目: 简单画图程序的设计 学院: 专业: 学号: 姓名: 信息工程学院 计算机科学与技术(交通) 指导教师: 2022 年 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.调试
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.图形样
3、式 在菜单栏的设置里面有图形样式的选择,可以点击选中也可以在工具栏里点击图形的图标,能够实现绘制点、直线、矩形和椭圆的功能。 第1页 2.2.颜色样式 在菜单栏的设置里面有颜色样式的选择,可以点击选中也可以在工具栏里点击颜色的图标,除了能够实现红、绿、蓝、黄、黑的普通选择,同时还加入了一个颜色板,点击更多()可以在调色板上选择任意的颜色。 菜单和工具栏选色: 调色板选色: 2.3.画笔样式 在菜单栏的设置里面有画笔样式的选择,可以点击选中即改变画笔的线宽,也可以在工具栏里点击表示画笔宽度的快捷按钮,线宽有从标准、一般、略粗和更粗的选择。 第2页 篇二:Java实现简单的绘图软件 项目效果图:
4、项目源代码: 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.swi
5、ng.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
6、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;
7、 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 D
8、rawPanel 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 MouseMotionAdapte
9、r() 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(); pub
10、lic 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("保存");
11、 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_a
12、ctionPerformed(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.a
13、dd(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.addActi
14、onListener(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.a
15、dd(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 Act
16、ionListener() 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.fill
17、Rect(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); ); b
18、uttonPanel.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 ItemListene
19、r() public void itemStateChanged(ItemEvent e) strokeTemp = Integer.parseInt(e.getItem().toString() ; stroke = new BasicStroke(strokeTemp);); 篇三:简单画图 当你跟小朋友玩儿的时候,是否有勾勾画画的时候,当小朋友让我们给画个房子、画个汽车的时候,你能信手拈来吗?下面,可以帮我们玩得更尽兴! 简单易学的画图软件由:创业小项目互联网用户整理提供; 链接地址: 转载请保留,谢谢! 上一篇:简单易学的减肥操 下一篇:简单易学的英文歌本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第13页 共13页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页