ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:24.53KB ,
资源ID:10286354      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10286354.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(处理毛孔问题.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

处理毛孔问题.docx

1、处理毛孔问题处理毛孔问题.txt爱,就大声说出来,因为你永远都不会知道,明天和意外,哪个会先来!石头记告诉我们:凡是真心爱的最后都散了,凡是混搭的最后都团圆了。你永远看不到我最寂寞的时候,因为在看不到你的时候就是我最寂寞的时候!处理毛孔问题.txt-一人行,必会发情 二人行,必会激情 三人行,必有奸情 就不会被珍惜。真实的女孩不完美,完美的女孩不真实。得之坦然,失之淡然,顺其自然,争其必然。1.用仿制图章工具祛除大包和污点2.建立新图层,双击左边工具栏的快速蒙版,调出选项,变更不透明度为40%3.用画笔描绘填充皮肤部分,用不透明度为100%橡皮擦去毛发和褶皱4.祛除皮肤以外的影象,边缘适当羽化

2、5.检查通道中的快速蒙版影象,填补漏图的地方6.回到图层,删除皮肤以外的影象7.关键部分 在底层上用快速蒙版选区,选择皮肤部分,用滤镜USM锐化,加强皮肤毛孔影象8.在上层皮肤上,用特殊模糊去斑,用高斯模糊柔化9.调整被柔化皮肤层的,不透明度为80-90%,显露下层毛孔,同时调整色阶减小皮肤层的色差和反差,合并所有图层。10.再新建一个图层,选择为屏幕(这是图象会变亮,调整不透明度为40%),在屏幕层上USM锐化,突出毛发11.合并所有图层,调整色彩平衡,大体基本完成12.剩下的是可调可不调的嘴唇,大致方法同上13.完成效果:(皮光了,毛孔还在)设计一个简单的计算器应用程序 VC+原创C O

3、N T E N T S? 程序设计内容与要求 1? 程序设计环节 1? 程序简介 1? 程序基本实现思路 2? 程序主要代码 2? 变量初始值 2? 主要实现代码 3? 心得体会 17? 参考资料 18? 程序界面图 19W i n d o w s 程 序 课 程 设 计课程设计题目:设计一个简单的计算器应用程序一、设计目标与内容:1 了解Windows编程的基础知识,掌握MFC应用程序的基本知识;2 基本掌握面向对象程序设计的基本思路和方法;3 掌握用VC+开发应用程序的的一般步骤和方法;4 能够利用所学的基本知识,设计一个简单的计算器应用程序,实现基本的加、减、乘、除、求平方根等基本运算(

4、必须实现的功能),实现求角度的正弦、余弦、正切,实现求指数、自然对数、常用对数等基本运算(这部分功能选做)。5 在程序中注意处理数据和运算符的输入,计算结果的显示。二,设计要求:1 用VC进行编码,实现应用程序的功能。注重编码质量,代码要有适当的注释;2 提交设计报告一份(课程设计任务书、目录、设计的基本思路、设计的步骤及主要代码、心得体会、参考文献)。三程序设计环节:1. 程序简介: 本程序在VS.NET2005的c+语言中的MFC开发制作,经测试(使用动态dll库)在同等环境(VS.NET2005)下可以正常运行执行文件完成计算器功能。使用静态dll库时候,不改变执行程序路径可以正常运行,

5、但移动到其他位置的执行文件运行会缺少3D按钮效果,其他功能不变。但在VC6.0和.NET2003环境下不能直接使用(提示缺少库文件)。解决办法是使用installshield制作软件安装包。在没有装有VS.NET2005的机器上可以用安装包安装该计算器,该安装包会在桌面放置一程序快捷方式和卸载图标。本软件不写注册表。2. 程序基本实现思路:1当前输入的数据,和数据处理过程均由变量n完成。因为最多是2元运算,另设一变量n_2表示第2个数,需要时由n_2=n赋值。2数字录入部内容相似,首先建立一个函数inum(),负责处理所输入的数字,按下相应数字键时候,调用inum()完成数字的输入和显示。3数

6、据计算部分.由函数operation(char ope),通过选择所按下的运算符(该函数的变量)来完成相应的计算并显示。由于运算符分为单元运算和双元 所以具有类似性,分开处理。4小数输入。按下小数点后,变量setxiaoshu=true,激活小数输入功能。inum()做出输入小数的判断并输出预期数。5正负号的改变可以通过每按下该键后执行n=-n来执行。对于负数的录入功能,也由inum()做出判断,完成正确的负数录入过程。6等号的实现调用operation(operate),完成相应运算。7删除一个字符,用n=long(n/10)的思路来完成,由于long的范围,所以删除只能实现10位以内的删除

7、。8CE和C键。CE负责清楚欲输入的第2个数据的相关变量,C清空所有变量,重置计算器。3. 根据上述设想编写程序,主要代码如下:变量初始值(dlg.cpp文件):#include stdafx.h#include 计算器.h#include 计算器Dlg.h#include math.h#include time.h /可以不用 ,屏蔽srand()#include stdlib.h#ifdef _DEBUG#define new DEBUG_NEW#endif C计算器Dlg:C计算器Dlg(CWnd* pParent /*=NULL*/): CDialog(C计算器Dlg:IDD, pPa

8、rent), n(0), setxiaoshu(false), xiaoshui(0), innum(0), n_2(0), operate(0), setnew(false)BEGIN_MESSAGE_MAP(C计算器Dlg, CDialog). /系统消息和控件的函数主要实现代码:(dlg.cpp文件):/注:下面所有控件名称使用加粗字体和下划线表示该按键void C计算器Dlg:OnPaint() /重写OnPaint(),实现,界面颜色的改变int c_r,c_g,c_b,c; /3个变量分别代表R/G/B/ srand(time(0); /控制随机函数rand()的取值时间(间隔1s

9、左右更新值),后来为实现每次按键都变色把这句去掉了c_r=rand()%256; / rand()%256代表变量取值为0-255之间的整数,下同c_g=rand()%256;c_b=rand()%256;c=rand()%4; /c=0-3,即分为4种情况,分别绘制不同的颜色方案.实现更多色彩.if (IsIconic() CPaintDC dc(this); / device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); / Center icon in client re

10、ctangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; / Draw the icon dc.DrawIcon(x, y, m_hIcon);else if (c=0) /蓝色渐变,其他两种颜色随机 CPaintDC dc(this);

11、CRect rc; GetClientRect(&rc); int nHeight=rc.Height(); for(int i=0;nHeight=0;nHeight-,i+) CPen pen; pen.CreatePen(PS_SOLID,1,RGB(c_r,c_g,i); CPen *pOldPen=dc.SelectObject(&pen); dc.MoveTo(rc.left,i); dc.LineTo(rc.right,i); dc.SelectObject(pOldPen); pen.DeleteObject(); else if(c=1) /绿色渐变, 其他两种颜色随机 CP

12、aintDC dc(this); CRect rc; GetClientRect(&rc); int nHeight=rc.Height(); for(int i=0;nHeight=0;nHeight-,i+) CPen pen; pen.CreatePen(PS_SOLID,1,RGB(c_r,i,c_b); CPen *pOldPen=dc.SelectObject(&pen); dc.MoveTo(rc.left,i); dc.LineTo(rc.right,i); dc.SelectObject(pOldPen); pen.DeleteObject(); else if(c=2) /

13、红色渐变, 其他两种颜色随机 CPaintDC dc(this); CRect rc; GetClientRect(&rc); int nHeight=rc.Height(); for(int i=0;nHeight=0;nHeight-,i+) CPen pen; pen.CreatePen(PS_SOLID,1,RGB(i,c_g,c_r); CPen *pOldPen=dc.SelectObject(&pen); dc.MoveTo(rc.left,i); dc.LineTo(rc.right,i); dc.SelectObject(pOldPen); pen.DeleteObject(

14、); else /都不渐变,所有随机 CPaintDC dc(this); CRect rc; GetClientRect(&rc); int nHeight=rc.Height(); for(int i=0;nHeight=0;nHeight-,i+) CPen pen; pen.CreatePen(PS_SOLID,1,RGB(c_r,c_g,c_r); CPen *pOldPen=dc.SelectObject(&pen); dc.MoveTo(rc.left,i); dc.LineTo(rc.right,i); dc.SelectObject(pOldPen); pen.DeleteO

15、bject(); void C计算器Dlg:OnBnClickedButton31() / 控件pi对应的函数 按键pi的处理n=3.14159265358979; / 把pi值3.14159265358979赋给nUpdateData(false);Invalidate(); /重新执行OnPaint()函数实现每一次按键,界面自动变色.下面各控件对应函数也调用这函数,如控件对应函数/没有直接显示,就是在被调用的函数中有该函数/以下部分处理方式相似(数字录入)/void C计算器Dlg:OnBnClickedButton0() /控件0对应的函数.调用inum()产生预期的数.包括整数/小数

16、/正数/负数.下面1 - 9同 按键0的处理if (setnew) C计算器Dlg:OnBnClickedButton23(); else Invalidate(); / setnew为true,清除所有控制变量, 在上次计算出结果后innum=0; / 把0赋给变量inum,执行相应的+- /可以不用按C键清除直接按数字键开始下一个运C计算器Dlg:inum(innum); /完成数据的输入过程. /算.setnew=true会在每个单元运算符和等号中出现. setnew UpdateData(false); /在屏幕上显示当前n的值,下同 /为false,继续输入该数据. setnew=f

17、alse出现在每个双元运算 /符中.因OnBnClickedButton23()中已包含Invalidate(),但OnBnClickedButton23()不是 每次都执行, /为避免代码的重复执行,采用if else形式.void C计算器Dlg:OnBnClickedButton1() /控件1对应的函数 按键1的处理if (setnew) C计算器Dlg:OnBnClickedButton23(); else Invalidate();innum=1;C计算器Dlg:inum(innum);UpdateData(false);void C计算器Dlg:OnBnClickedButton

18、2() /控件2对应的函数 按键2的处理if (setnew) C计算器Dlg:OnBnClickedButton23(); else Invalidate();innum=2;C计算器Dlg:inum(innum);UpdateData(false);void C计算器Dlg:OnBnClickedButton3() /控件3对应的函数 按键3的处理if (setnew) C计算器Dlg:OnBnClickedButton23(); else Invalidate();innum=3;C计算器Dlg:inum(innum);UpdateData(false);void C计算器Dlg:OnB

19、nClickedButton4() /控件4对应的函数 按键4的处理if (setnew) C计算器Dlg:OnBnClickedButton23(); else Invalidate();innum=4;C计算器Dlg:inum(innum);UpdateData(false);void C计算器Dlg:OnBnClickedButton5() /控件5对应的函数 按键5的处理if (setnew) C计算器Dlg:OnBnClickedButton23(); else Invalidate();innum=5;C计算器Dlg:inum(innum);UpdateData(false);vo

20、id C计算器Dlg:OnBnClickedButton6() /控件6对应的函数 按键6的处理if (setnew) C计算器Dlg:OnBnClickedButton23(); else Invalidate();innum=6;C计算器Dlg:inum(innum);UpdateData(false);void C计算器Dlg:OnBnClickedButton7() /控件7对应的函数 按键7的处理if (setnew) C计算器Dlg:OnBnClickedButton23(); else Invalidate();innum=7;C计算器Dlg:inum(innum);Update

21、Data(false);void C计算器Dlg:OnBnClickedButton8() /控件8对应的函数 按键8的处理if (setnew) C计算器Dlg:OnBnClickedButton23(); else Invalidate();innum=8;C计算器Dlg:inum(innum);UpdateData(false);void C计算器Dlg:OnBnClickedButton9() /控件9对应的函数 按键9的处理if (setnew) C计算器Dlg:OnBnClickedButton23(); else Invalidate();innum=9;C计算器Dlg:inum

22、(innum);UpdateData(false);/结束/以下部分处理方式相似(双元运算)/ /void C计算器Dlg:OnBnClickedButton16() /控件+对应的函数. 下面的 - * / xy 同 +符号的处理C计算器Dlg:OnBnClickedIsButton(); / 自动完成上次未完成的运算.当上一次计算完双元运算没有按等号键时候,如只按 /下1 + 1而没有按=的时候,直接按+.可以实现连续计算,从而省去每次都按=的麻烦, /更符合使用的习惯.n_2=n; / 因为是双元运算,按下+后,把输入值存入另一个数据中,开始输入新的数据C计算器Dlg:setempty(

23、); / 置空n的各项参数,便于以后重新输入新n值时不影响setnew=false; /setnew=false(由数字录入部分做出相应).不是在重新输入数据,下面按数字键时接着录入部分执行相应操作operate=+; / 操作符为+,,由OnBnClickedIsButton()处理加法运算void C计算器Dlg:OnBnClickedButton15() /控件-对应的函数. -符号的处理C计算器Dlg:OnBnClickedIsButton();n_2=n;C计算器Dlg:setempty();setnew=false;operate=-;void C计算器Dlg:OnBnClicke

24、dButton14() /控件*对应的函数. *符号的处理C计算器Dlg:OnBnClickedIsButton();n_2=n;C计算器Dlg:setempty();setnew=false;operate=*;void C计算器Dlg:OnBnClickedButton13() /控件/对应的函数. /符号的处理C计算器Dlg:OnBnClickedIsButton();n_2=n;C计算器Dlg:setempty();setnew=false;operate=/;void C计算器Dlg:OnBnClickedButton27() /控件xy对应的函数. xy符号的处理C计算器Dlg:O

25、nBnClickedIsButton();n_2=n;C计算器Dlg:setempty();operate=y;setnew=false;/结束/以下部分处理方式相似(单元运算)/void C计算器Dlg:OnBnClickedButton19() /控件1/x对应的函数. 下面符号处理类似 1/x符号的处理 operate=x; /下面执行1/x的运算C计算器Dlg:operation(operate); / 单元运算,按下该符号直接进行运算UpdateData(false);operate=0; /在这个运算符算出的数据后,输入另外一个数据时候,按下双元运算符因为会先执行OnBnClick

26、edIsButton(),操 /作符为0,什么也不执行setnew=true; /在数字录入部分做出判断, setnew=true按下数字键时候,执行OnBnClickedButton23(),清空变量.开始新的运算void C计算器Dlg:OnBnClickedButton17() / 控件sqrt对应的函数. sqrt符号的处理operate=q;C计算器Dlg:operation(operate);UpdateData(false);operate=0;setnew=true;void C计算器Dlg:OnBnClickedButton24() / 控件sin对应的函数. sin符号的处

27、理operate=s;C计算器Dlg:operation(operate);UpdateData(false);operate=0;setnew=true;void C计算器Dlg:OnBnClickedButton25() / 控件cos对应的函数. cos符号的处理 operate=c;C计算器Dlg:operation(operate);UpdateData(false);operate=0;setnew=true;void C计算器Dlg:OnBnClickedButton26() / 控件tan对应的函数. tan符号的处理operate=t;C计算器Dlg:operation(operate);UpdateData(false);operate=0;setnew=true;void C计算器Dlg:OnBnClickedButton29() / 控件ln对应的函数. ln符号的处理operate=n;C计算器Dlg:operation(operate);UpdateData(false);operate=0;setnew=true;void C计算器Dlg:OnBnClickedButton30() / 控件lg对应的函数. lg符号的处理operate=g;C计算器Dlg:operation(operate);UpdateData(false);operate=0

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1