画图工具可行性报告

合集下载

绘画可行性分析报告

绘画可行性分析报告

绘画可行性分析报告1.引言绘画作为一种艺术形式,自古以来就扮演着重要的角色。

它通过色彩、线条和形状的组合,可以表达艺术家的情感、思想和审美观。

然而,随着科技的发展和现代生活的快节奏,越来越多的人将注意力转向了数字媒体和新兴的艺术形式。

在这样的背景下,我们有必要对绘画的可行性进行分析,以了解其在当代社会中的地位和前景。

2.市场需求分析绘画作为一种艺术形式,具有独特的表现力和观赏价值。

绘画作品可以丰富人们的生活,引起观众的共鸣和情感体验。

此外,绘画作品还可以作为装饰品,用于美化房间或办公空间。

根据对市场的观察和调查,我们可以发现以下市场需求:1.审美追求:现代社会中,人们对美的追求越来越强烈,绘画作品可以满足人们对于审美体验的需求。

2.情感表达:绘画作品可以表达艺术家的情感和思想,观众可以通过欣赏作品来感受到艺术家的情感表达。

3.收藏投资:一些绘画作品具有很高的艺术价值和投资价值,因此被一些收藏家所追捧。

4.装饰需求:绘画作品可以作为装饰品,用于美化房间或办公空间,满足人们对于美的追求。

3. 市场竞争分析尽管绘画作为一种古老的艺术形式,但在当代社会中,它仍然面临着来自其他艺术形式的竞争。

数字媒体、摄影和雕塑等艺术形式也在吸引着观众和收藏家的注意力。

然而,绘画作为一种独特的艺术形式,仍然具有一定的竞争优势:1.独特性:绘画作为一种手工艺术形式,每幅作品都是独一无二的,具有独特的艺术价值。

2.历史沉淀:绘画作为一种古老的艺术形式,具有丰富的历史沉淀和文化内涵,吸引了一批热爱传统文化的观众和收藏家。

3.情感表达:绘画作品可以通过色彩、线条和形状的组合来表达艺术家的情感和思想,与观众建立情感共鸣。

4.装饰需求:相比其他艺术形式,绘画作品更容易被用于装饰房间或办公空间,满足人们对于美的追求。

4.可行性分析综合以上的市场需求和市场竞争分析,我们可以得出绘画在当代社会中具有一定的可行性:1.艺术表现力:绘画作为一种艺术形式,具有独特的表现力和观赏价值,可以满足人们对于美的追求和情感表达的需求。

绘图仪项目可行性研究报告

绘图仪项目可行性研究报告

绘图仪项目可行性研究报告(立项+批地+贷款)编制单位:北京中投信德国际信息咨询有限公司编制时间:二〇二〇年五月咨询师:高建目录专家答疑:一、可研报告定义:可行性研究报告,简称可研报告,是在制订生产、基建、科研计划的前期,通过全面的调查研究,分析论证某个建设或改造工程、某种科学研究、某项商务活动切实可行而提出的一种书面材料。

可行性研究报告主要是通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性分析方法。

可行性研究具有预见性、公正性、可靠性、科学性的特点。

一般来说,可行性研究是以市场供需为立足点,以资源投入为限度,以科学方法为手段,以一系列评价指标为结果,它通常处理两方面的问题:一是确定项目在技术上能否实施,二是如何才能取得最佳效益。

二、可行性研究报告的用途项目可行性研究报告是项目实施主体为了实施某项经济活动需要委托专业研究机构编撰的重要文件,其主要体现在如下几个方面作用:1. 用于向投资主管部门备案、行政审批的可行性研究报告根据《国务院关于投资体制改革的决定》国发(2004)20号的规定,我国对不使用政府投资的项目实行核准和备案两种批复方式,其中核准项目向政府部门提交项目申请报告,备案项目一般提交项目可行性研究报告。

同时,根据《国务院对确需保留的行政审批项目设定行政许可的决定》,对某些项目仍旧保留行政审批权,投资主体仍需向审批部门提交项目可行性研究报告。

2. 用于向金融机构贷款的可行性研究报告我国的商业银行、国家开发银行和进出口银行等以及其他境内外的各类金融机构在接受项目建设贷款时,会对贷款项目进行全面、细致的分析平谷,银行等金融机构只有在确认项目具有偿还贷款能力、不承担过大的风险情况下,才会同意贷款。

ps可行性研究报告

ps可行性研究报告

PS可行性研究报告1. 引言本可行性研究报告旨在对于PS(Photoshop)软件的可行性进行评估和分析。

PS作为专业的图像处理工具,在设计、摄影等领域发挥着重要作用。

本报告将从市场需求、技术实施、经济可行性等方面对PS软件进行评估,以确定其开发和使用的可行性。

2. 研究方法本次研究采用了以下方法:1.市场调研:通过查阅相关文献、浏览互联网资源等方式,了解市场对于图像处理软件的需求和竞争状况;2.技术分析:对PS软件的技术特点、功能模块、开发成本等进行调研和分析;3.经济分析:对于开发和使用PS软件的成本进行评估,包括各方面的投资、运营和回报等。

3. 市场需求分析通过市场调研,我们发现图像处理软件市场需求稳定增长。

随着互联网和移动设备应用的普及,越来越多的人开始关注和使用图像处理软件。

在设计、广告、摄影等行业,PS软件被广泛认可和使用。

同时,PS软件在个人爱好者中也有非常大的用户群体,他们使用软件进行图像编辑、修复、合成等操作。

综上所述,市场对于PS软件的需求广泛且稳定,具备良好的发展前景。

4. 技术可行性分析PS软件具备以下技术特点和优势:•强大的图像处理能力:PS软件提供了丰富的工具和功能,能够满足各类图像处理需求;•扩展性和定制化:PS软件支持插件扩展和脚本编程,可以根据用户需求进行定制开发;•跨平台支持:PS软件可以在不同操作系统上运行,如Windows、MacOS等;•用户友好界面:PS软件拥有直观和易用的用户界面,方便用户进行操作。

基于PS软件的技术特点和优势,我们认为技术实施上存在较高的可行性。

5. 经济可行性分析在经济方面,我们将从开发和使用两个角度进行评估。

5.1 开发成本评估开发一个稳定和功能丰富的PS软件需要投入大量的人力和物力资源。

这包括软件工程师、设计师、测试人员等的薪资,以及开发工具、硬件设备等的购置成本。

此外,PS软件的开发需要保持对技术发展的迭代和更新,这也需要一定的投资。

【推荐下载】画图工具可行性报告-word范文 (11页)

【推荐下载】画图工具可行性报告-word范文 (11页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==画图工具可行性报告篇一:画图工具可行性报告Java实训课程设计报告Windows画图工具专业:计算机科学与技术班级: 11092311 姓名:曾思哲学号:201X年6月项目简介Windows画图工具的设计第1章需求分析1.1 项目背景随着社会的不断发展,人们对画面要求越来越高,对画图工具的软件提出了更高的要求。

画图工具的软件可以让用户更加节省时间,可以从其他文件找出一些图片修改一下就可以使用,比起传统的手工的画图来说,不单单是节省时间而且画面要好的多,保存起来也比较方便,下次在用的时候一找就出来了。

在比如画面的修改在这套软件上我们可以直接使用彩色,使画面更直观,而且还可以修改,画图的软件现在应用于各行各业,这款软件特别适合教学用,学生画图也是比不可缺少的。

1.2 需求分析需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户问题的分析,确定系统的功能需求。

这个步骤是对理解需求的升华,直接关系到该系统的质量。

分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通机制,因此,系统的需求分析也应该是开发人员和用户或客户一起完成的。

1.2.1画图板的性能要求(1) 统一处理的准确性和及时性。

(2) 软件的开放性和可扩充性。

(3) 软件的易用性和易维护性。

1.2.2画图板的功能分析我们作的是Windows画板,再设计时应该考虑到用户的需要和画图的习惯。

所以我们需求分析的主要任务就是来了解用户画图时的习惯。

尽量让用户满意。

在此我们是先设计一个大概的程序模型让别人试试我的画图板。

第2章概要设计2.1 软件设计1.1.1 本软件是设计一套在windows平台下的画图工具,主要用于主要用于画图、打开图画类的页面修改并保存成用户需要的格式。

绘画的可行性报告

绘画的可行性报告

绘画的可行性报告绘画,作为一种历史悠久的艺术形式,从远古的岩画到当代的数字艺术,不断演变和丰富着人类的文化生活。

随着社会的发展和技术的进步,绘画的形式和功能也在不断变化,其在现代社会中的可行性需要重新评估和审视。

本报告将从不同角度出发,探讨绘画在当前时代的可行性。

1. 文化价值绘画作为一种文化传承的媒介,在保存和传播文化遗产方面具有不可替代的作用。

它不仅能够记录历史,还能够表达个人或集体的情感和想法。

尽管摄影和视频等媒介在记录现实方面更为直接和便捷,但绘画所具有的独特情感表达和风格个性,使其在文化艺术领域依然占有一席之地。

2. 教育意义在教育领域,绘画不仅是一种技能培养,更是一种思维和创造力的锻炼。

它能够帮助学习者提高观察能力、想象力以及审美能力。

从小学到大学,绘画课程作为美育的重要组成部分,对于培养学生的全面素质具有重要意义。

3. 心理健康绘画被广泛应用于心理治疗中,作为一种有效的艺术疗法。

它能够帮助个体表达内在情感,缓解压力,甚至治疗一些心理疾病。

对于普通人群,绘画也是一种放松和减压的方式,能够提升生活质量和幸福感。

4. 经济潜力艺术市场的蓬勃发展为绘画创造了巨大的经济价值。

无论是原创作品的买卖,还是衍生品的开发,绘画都能够带来可观的经济效益。

此外,随着网络和社交媒体的普及,艺术家有了更多展示和销售作品的渠道,这对于绘画的现代化发展和市场扩张具有积极作用。

5. 技术革新技术的进步为绘画提供了新的表现形式和创作工具。

数字绘画、VR艺术等新兴领域的出现,不仅拓宽了艺术家的创作视野,也吸引了更多年轻人群的关注。

这些新技术的融合,使得绘画在不断地刷新其传统边界,展现出强大的生命力。

6. 社会影响在社会层面,绘画作为一种视觉语言,具有强大的沟通和影响力。

艺术家通过作品传递思想,引起公众的共鸣和反思,甚至可以推动社会的进步。

在公共空间、广告设计、媒体传播等方面,绘画的应用广泛且有效。

结论综上所述,绘画作为一种艺术形式,在文化、教育、心理健康、经济以及技术革新等多个领域展现出其持续的可行性和重要性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java实训课程设计报告Windows画图工具专业:计算机科学与技术班级:11092311姓名:曾思哲学号:119231102014年6月项目简介Windows画图工具的设计第1章需求分析1.1 项目背景随着社会的不断发展,人们对画面要求越来越高,对画图工具的软件提出了更高的要求。

画图工具的软件可以让用户更加节省时间,可以从其他文件找出一些图片修改一下就可以使用,比起传统的手工的画图来说,不单单是节省时间而且画面要好的多,保存起来也比较方便,下次在用的时候一找就出来了。

在比如画面的修改在这套软件上我们可以直接使用彩色,使画面更直观,而且还可以修改,画图的软件现在应用于各行各业,这款软件特别适合教学用,学生画图也是比不可缺少的。

1.2 需求分析需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户问题的分析,确定系统的功能需求。

这个步骤是对理解需求的升华,直接关系到该系统的质量。

分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通机制,因此,系统的需求分析也应该是开发人员和用户或客户一起完成的。

1.2.1画图板的性能要求(1) 统一处理的准确性和及时性。

(2) 软件的开放性和可扩充性。

(3) 软件的易用性和易维护性。

1.2.2画图板的功能分析我们作的是Windows画板,再设计时应该考虑到用户的需要和画图的习惯。

所以我们需求分析的主要任务就是来了解用户画图时的习惯。

尽量让用户满意。

在此我们是先设计一个大概的程序模型让别人试试我的画图板。

第2章概要设计2.1 软件设计1.1.1 本软件是设计一套在windows平台下的画图工具,主要用于主要用于画图、打开图画类的页面修改并保存成用户需要的格式。

系统采用C/S结构,主要用于客户端,供客户学习、工作使用,本软件提供良好的界面,操作简单。

第3章详细设计3.1 模块设计该系统由4个模块构成,分别是工具模块、储存模块、颜色模块、帮助模块。

●工具模块画笔(PencilTool)、格式刷(BrushTool)、喷墨工具(AtomizerTool)、橡皮(EraserTool)、直线(LineTool)等主要用于不同情况的使用,在面板上方便用户的使用。

●储存模块①判断当前画板是否保存(MyImage)。

②设置多种存储的格式供用户选择,增加文件过滤器(addFilter)。

③存储路径可以设置默认的。

●颜色模块通过创建颜色选择器(ColorChooser),来让用户获取颜色,供用户使用。

●帮助模块系统帮助文档和软件的声明。

3.2 功能设计主要功能如下:1、画笔 PencilTool这个类继承于AbstractTool类,PencilTool类中有个对象Tool 用户通过点击画板上的图标来获取画笔,它的功能让用户用来画出各种图形。

2、格式刷子 BrushTool这个类继承于AbstractTool类,它的功能让用户画出更好的图形。

3、喷墨工具AtomizerTool这个类继承于AbstractTool类,AtomizerTool类中有个对象Tool用户通过点击画板上的图标来获取喷墨图标,它的功能让用户用来涂颜色用的。

4、橡皮EraserTool这个类继承于AbstractTool类,它的功能用来修改画板上画错的线或者图形。

5、直线LineTool这个类继承于AbstractTool类,它的功能:让用户画出更好的直线。

6、储存MyImage 这个类继承BufferedImage类,主要用来判断当前的文件是否保存。

7、界面ImageFrame这个类继承Jframe类,主要用来创建界面,初始化屏幕的尺寸、设置默认画板。

3.3 界面演示图为主界面图1 图为颜色编辑界面第4章编码实现using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;using System.Drawing.Drawing2D;using System.Drawing.Imaging;using System.Diagnostics;using System.Drawing.Printing;namespace画图板{public partial class drawinboard : Form{//private DrawTools dt;Graphics g; //创建绘画的面板or Panel to create paintingsPoint pStart; Point PEnd; //定义画图颜色的起点和终点or Define the drawing start point and end point colorint ChoiceGraph; //所选颜色图像枚举or The selected color image.int penWideth; //画图宽度enum myselected//定义枚举{pencil, // 定义铅笔Line, // 定义线FillEliPse, //填充椭圆TuoYuan, //定义空心圆FillEllipse,changFangXing , //长方形Ellipse, //填充矩形Rec, //填充空心矩形Eraser, //橡皮擦//椭圆WuJiaoXing //五星红旗};enum PenColor{ff = FontStyle.Bold,fs = FontStyle.Italic,ss = FontStyle.Regular,fy = FontStyle.Strikeout,fl = FontStyle.Underline};string strin; //定义一个URl变量public drawinboard(){InitializeComponent();}private void Form3_Load(object sender, EventArgs e){g = this.pictureBox1.CreateGraphics(); //创建绘图面板ChoiceGraph = (int)myselected.pencil;//默认选择为铅笔penWideth = 2; //初时的大小为1}private void button1_Click(object sender, EventArgs e){ChoiceGraph = Convert.ToInt32(((Button)sender).Tag);}private void button8_Click(object sender, EventArgs e){ChoiceGraph = Convert.ToInt32(((Button)sender).Tag);}private void button6_Click(object sender, EventArgs e){ChoiceGraph = Convert.ToInt32(((Button)sender).Tag);}private void button7_Click(object sender, EventArgs e){ChoiceGraph = Convert.ToInt32(((Button)sender).Tag);}private void button5_Click(object sender, EventArgs e){Bitmap newpic = new Bitmap(pictureBox1.Width, pictureBox1.Height);Graphics g = Graphics.FromImage(newpic);g.FillRectangle(new SolidBrush(Color.White), 0, 0, pictureBox1.Width, pictureBox1.Height);g.Dispose();g = pictureBox1.CreateGraphics();g.DrawImage(newpic, 0, 0);g.Dispose();}private void button4_Click(object sender, EventArgs e){ChoiceGraph = Convert.ToInt32(((Button)sender).Tag);}private void button3_Click(object sender, EventArgs e){ChoiceGraph = Convert.ToInt32(((Button)sender).Tag);}private void button14_Click(object sender, EventArgs e){button14.BackColor = Color.White;button13.BackColor = Color.White;button12.BackColor = Color.White;button11.BackColor = Color.White;button10.BackColor = Color.White;((Button)sender).BackColor = Color.Black;penWideth = Convert.ToInt32(((Button)sender).Tag);}private void button13_Click(object sender, EventArgs e){button14.BackColor = Color.White;button13.BackColor = Color.White;button12.BackColor = Color.White;button11.BackColor = Color.White;button10.BackColor = Color.White;((Button)sender).BackColor = Color.Black;penWideth = Convert.ToInt32(((Button)sender).Tag);}private void button12_Click(object sender, EventArgs e){button14.BackColor = Color.White;button13.BackColor = Color.White;button12.BackColor = Color.White;button11.BackColor = Color.White;button10.BackColor = Color.White;((Button)sender).BackColor = Color.Black;penWideth = Convert.ToInt32(((Button)sender).Tag);}private void button11_Click(object sender, EventArgs e){button14.BackColor = Color.White;button13.BackColor = Color.White;button12.BackColor = Color.White;button11.BackColor = Color.White;button10.BackColor = Color.White;((Button)sender).BackColor = Color.Black;penWideth = Convert.ToInt32(((Button)sender).Tag);}private void button10_Click(object sender, EventArgs e){button14.BackColor = Color.White;button13.BackColor = Color.White;button12.BackColor = Color.White;button11.BackColor = Color.White;button10.BackColor = Color.White;((Button)sender).BackColor = Color.Black;//选中的按钮背景色为黑色penWideth = Convert.ToInt32(((Button)sender).Tag);//将宽度按钮的TAG值设置为画笔宽度 }private void button21_Click(object sender, EventArgs e){ColorDialog colorDialog1 = new ColorDialog();if (((Button)sender).Text == "C"){if (colorDialog1.ShowDialog() == DialogResult.OK){button21.BackColor = colorDialog1.Color;}else{button21.BackColor = ((Button)sender).BackColor;}}private void CHange_point(){Point pTemp = new Point();if (pStart.Y < PEnd.X){if (pStart.Y > pTemp.Y){pTemp.Y = pStart.Y;pStart.Y = PEnd.Y;PEnd.Y = pTemp.Y;}}if (pStart.X > PEnd.Y){pTemp.X = pStart.X;pStart.X = PEnd.X;PEnd.X = pTemp.X;}if (pStart.Y > pTemp.Y){pTemp = pStart;pStart = PEnd;PEnd = pTemp;}}private void pictureBox1_MouseDown(object sender, MouseEventArgs e) {if (e.Button == MouseButtons.Left){pStart.X = e.X;pStart.Y = e.Y;}}private void pictureBox1_MouseMove(object sender, MouseEventArgs e)ToolStripStatusLabel tspl = new ToolStripStatusLabel();tspl.Text = ":" + e.X.ToString() + ",Y:" + e.Y.ToString();if (e.Button == MouseButtons.Left){switch (ChoiceGraph){case (int)myselected.pencil://选择画笔Pen pen1 = new Pen(btnBlack.BackColor, penWideth);PEnd.X = e.X;PEnd.Y = e.Y;g.DrawLine(pen1, pStart, PEnd);positingQuality = CompositingQuality.HighSpeed;g.InterpolationMode = InterpolationMode.HighQualityBicubic;pStart = PEnd;//将已经绘制的终点作为下一次绘制的起点break;case (int)myselected.Eraser:Pen pen2 = new Pen(Color.White, penWideth);//画笔定义白色画笔作为擦除的效果PEnd.X = e.X;PEnd.Y = e.Y;g.DrawLine(pen2, pStart, PEnd);pStart = PEnd;//将已经绘制的终点作为下次绘制的起点break;case (int)myselected.Ellipse:Pen pen4 = new Pen(button21.BackColor, penWideth);g.DrawEllipse(pen4, pStart.X, PEnd.Y, PEnd.X - pStart.X, PEnd.Y - PEnd.Y);break;default:break;}}}private void pictureBox1_MouseUp(object sender, MouseEventArgs e){if (e.Button == MouseButtons.Left){PEnd.Y = e.Y;switch (ChoiceGraph){case (int)myselected.Line:Pen pen1 = new Pen(button21.BackColor, penWideth);g.DrawLine(pen1, pStart, PEnd);break;case (int)myselected.Ellipse:CHange_point();Pen pen2 = new Pen(button21.BackColor, penWideth);g.DrawEllipse(pen2, pStart.X, PEnd.Y, PEnd.X - pStart.X, PEnd.Y - PEnd.Y);break;case (int)myselected.FillEliPse:CHange_point();SolidBrush myBrush = new SolidBrush(button21.BackColor);Rectangle rec = new Rectangle(pStart.X, pStart.Y, PEnd.X - pStart.X, PEnd.Y - pStart.Y);g.FillEllipse(myBrush, rec);break;case (int)myselected.TuoYuan:CHange_point();Pen pen3 = new Pen(button21.BackColor, penWideth);Point[] p1 = new Point[]{new Point(10,10),new Point(60,40),new Point(100,80),new Point(60,100)};g.DrawPolygon(pen3, p1);break;case (int)myselected.changFangXing:Pen pen5 = new Pen(button21.BackColor, penWideth);g.DrawRectangle(pen5, 160, 234, 67, 89);break;default:break;}}}pictureBox1.Refresh();//刷新}private void button9_Click(object sender, EventArgs e){this.Close();//关闭}List<StringFormat> stringformat = new List<StringFormat>();private void tspSize_Click(object sender, EventArgs e){ColorDialog fdFont = new ColorDialog();if (fdFont.ShowDialog() == DialogResult.OK){Graphics g = this.pictureBox1.CreateGraphics();Pen p = new Pen(fdFont.Color, 1);TextBox text = new TextBox();string str = text.Text;text.Focus();StringFormat fw = new StringFormat();pictureBox1.BackColor = fdFont.Color;UserControl su = new UserControl();su.Show();}}private void btnRed_Click(object sender, EventArgs e){btnBlack.BackColor = Color.Red;}private void btnGrpwonly_Click(object sender, EventArgs e) {btnBlack.BackColor = Color.GreenYellow;}private void button23_Click(object sender, EventArgs e){btnBlack.BackColor = Color.Blue;}private void btnYellow_Click(object sender, EventArgs e){btnBlack.BackColor = Color.Yellow;}private void btnWhite_Click(object sender, EventArgs e){private void btnGray_Click(object sender, EventArgs e){btnBlack.BackColor = Color.Gray;}private void红色RToolStripMenuItem_Click(object sender, EventArgs e){Graphics g = pictureBox1.CreateGraphics();//创建图片面板Bitmap bp = new Bitmap(pictureBox1.Image);g.FillRectangle(Brushes.White, this.ClientRectangle);Point[] destpoint = { new Point(0,0),new Point (100,100),new Point (0,100)};g.DrawImage(bp, destpoint);}private void蓝色BToolStripMenuItem_Click(object sender, EventArgs e){Graphics g = pictureBox1.CreateGraphics();Bitmap bmp = new Bitmap(pictureBox1.Image);//加载图像g.FillRectangle(Brushes.White, this.ClientRectangle);//填充窗体背景为白色Point[] destinationPoints = {new Point(100, 0), // destination for upper-left point of originalnew Point(100, 100),// destination for upper-right point of originalnew Point(0, 0)}; // destination for lower-left point of originalg.DrawImage(bmp, destinationPoints);}private void黑色BToolStripMenuItem_Click(object sender, EventArgs e){Graphics g = pictureBox1.CreateGraphics();Bitmap bmp = new Bitmap(pictureBox1.Image);//加载图像g.FillRectangle(Brushes.White, this.ClientRectangle);//填充窗体背景为白色Point[] destinationPoints = {new Point(0, 100), // destination for upper-left point of originalnew Point(100, 100),// destination for upper-right point of originalnew Point(0, 0)}; // destination for lower-left point of originalg.DrawImage(bmp, destinationPoints);}private void打开OToolStripMenuItem_Click(object sender, EventArgs e){OpenFileDialog ofen = new OpenFileDialog();ofen.Filter = "(*.jpg)|*.jpg|(*.bump)|*.bump|(*.gif)|*.gif";if (ofen.ShowDialog() == DialogResult.OK){pictureBox1.Image = Image.FromFile(ofen.FileName);}}Rectangle myrect1; SolidBrush mysbrush1; SolidBrush mysbrush2; SolidBrush mysbrush3; SolidBrush mysbrush4;private void书法笔刷ToolStripMenuItem_Click(object sender, EventArgs e){myrect1 = new Rectangle(20, 80, 250, 100);mysbrush1 = new SolidBrush(Color.DarkOrchid);mysbrush2 = new SolidBrush(Color.Aquamarine);mysbrush3 = new SolidBrush(Color.DarkOrange);mysbrush4 = new SolidBrush(Color.DarkRed);g.FillRectangle(mysbrush1, myrect1); // (实心刷)}private void梯度刷ToolStripMenuItem_Click(object sender, EventArgs e){LinearGradientBrush mylbrush5 = new LinearGradientBrush(myrect1,Color.DarkOrange, Color.Aquamarine,LinearGradientMode.BackwardDiagonal);g.FillRectangle(mysbrush2, myrect1); //(梯度刷 //(梯度刷)}private void阴影刷ToolStripMenuItem_Click(object sender, EventArgs e){HatchBrush myhbrush5 = new HatchBrush(HatchStyle.DiagonalCross,Color.DarkOrange, Color.Aquamarine);HatchBrush myhbrush2 = new HatchBrush(HatchStyle.DarkVertical,Color.DarkOrange, Color.Aquamarine);HatchBrush myhbrush3 = new HatchBrush(rgeConfetti,Color.DarkOrange, Color.Aquamarine);g.FillRectangle(mysbrush3, myrect1); //(阴影刷)}private void纹理刷ToolStripMenuItem_Click(object sender, EventArgs e){TextureBrush textureBrush = new TextureBrush(new Bitmap("C:\\Lighthouse.jpg"));g.FillRectangle(mysbrush4, myrect1); //(纹理刷)}private string filePath = "";private void保存SToolStripMenuItem_Click(object sender, EventArgs e) {Save();}private void Save(){if (!textFileName.Equals("")){SaveFileDialog saveFile = new SaveFileDialog();// 默认保存格式saveFile.Filter = "文本文件(*.txt)|*.txt";StreamWriter sw = new StreamWriter(filePath, false);sw.Close();MessageBox.Show("文件保存成功!", "Mickey温馨提示");filePath = saveFile.FileName;// 把标题改为打开的文件的名称Text = textFileName;}else{// 成员变量为“”,说明文件第一次保存,执行“另存为”操作HoldFile();}}private void HoldFile(){// 若用户选择另保存文件SaveFileDialog saveFile = new SaveFileDialog();// 默认保存格式saveFile.Filter = "文本文件(*.txt)|*.txt";if (saveFile.ShowDialog() == DialogResult.OK){StreamWriter sw = new StreamWriter(saveFile.FileName, false);sw.Close();MessageBox.Show("文件保存成功!");filePath = saveFile.FileName;}// 判断是第一次保存还是第二次{FileInfo fileInfo = new FileInfo(saveFile.FileName);Text = ;textFileName = ;}else{// 把标题改为打开的文件的名称Text = textFileName;}}private void另存为OToolStripMenuItem_Click(object sender, EventArgs e){HoldFile();}private void打印预览LToolStripMenuItem_Click(object sender, EventArgs e){OpenFileDialog open = new OpenFileDialog();strin = open.FileName;open.Filter = "*.jpg,*.jpeg,*.bmp,*.gif,*.ico,*.png,*.tif,*.wmf|*.jpg;*.jpeg;*.bmp;*.gif;*.ico;*.png;*.tif;*. wmf"; //设置打开图像的类型if (open.ShowDialog() == DialogResult.OK){open.InitialDirectory = strin;open.RestoreDirectory = true;pictureBox1.Image = Image.FromFile(open.FileName);}}private void页面设置YToolStripMenuItem_Click(object sender, EventArgs e){PrintDialog pg = new PrintDialog();pg.AllowPrintToFile = true;pg.AllowSomePages = true;pg.ShowHelp = true;pg.ShowDialog();}private void打印ToolStripMenuItem_Click(object sender, EventArgs e){printPreviewDialog2.Document = this.printDocument2;printPreviewDialog2.ShowDialog(); //打印预览对话框private void printDocument2_PrintPage(object sender, PrintPageEventArgs e){try{e.Graphics.DrawImage(pictureBox1.Image, 100, 200, 300, 600);}catch (Exception ex){ throw ex; }}private void放大BToolStripMenuItem_Click(object sender, EventArgs e){if (pictureBox1.Width < 610){pictureBox1.Width = Convert.ToInt32(pictureBox1.Width * 1.0);pictureBox1.Height = Convert.ToInt32(pictureBox1.Height * 1.0);}else{MessageBox.Show(this, "图像已是最大,不能再放大了!", "提示对话框", MessageBoxButtons.OK, MessageBoxIcon.Warning);}}private void tspColor_Click(object sender, EventArgs e){ColorDialog color = new ColorDialog();if (color.ShowDialog() == DialogResult.OK){color.AnyColor = true;color.AllowFullOpen = true;color.FullOpen = true;color.SolidColorOnly = false;Graphics g = this.pictureBox1.CreateGraphics();Pen p = new Pen(color.Color, 2);//g.DrawLine(p, 120, 22, 34, 45);//pictureBox1.BackColor = color.Color ;btnBlack.BackColor = color.Color;}}private void缩小SToolStripMenuItem_Click(object sender, EventArgs e){if (pictureBox1.Width >= 30){pictureBox1.Height = Convert.ToInt32(pictureBox1.Height * 0.8);//图片的高度缩小0.8}else{MessageBox.Show(this, "图像已是最小,不能再缩小了!", "提示对话框", MessageBoxButtons.OK, MessageBoxIcon.Warning);}}private void还原ToolStripMenuItem_Click(object sender, EventArgs e){Graphics g = pictureBox1.CreateGraphics();Bitmap bmp = new Bitmap(pictureBox1.Image);//加载图像g.FillRectangle(Brushes.White, this.ClientRectangle);//填充窗体背景为白色//Point[] destinationPoints = {// new Point(0, 100), // destination for upper-left point of original// new Point(100, 100),// destination for upper-right point of original// new Point(0, 0)}; // destination for lower-left point of original//g.DrawImage(bmp, destinationPoints);g.DrawImage(bmp, 150, 400, 150, 150);}private void pictureBox1_Click(object sender, EventArgs e){}}}。

相关文档
最新文档