当前位置:文档之家› AE中实现 Control中的各种图形工具的方法

AE中实现 Control中的各种图形工具的方法

AE中实现 Control中的各种图形工具的方法
AE中实现 Control中的各种图形工具的方法

添加命名空间

using ESRI.ArcGIS.SystemUI;

using ESRI.ArcGIS.Controls;

A类:前面有Controls 后面有tool的工具都可以用同一类的代码实现(最后的tool或toolclass 都可以)

示例:

private void 放大ToolStripMenuItem_Click(object sender, EventArgs e)

{

ICommand Cmd = new ControlsMapZoomInTool();

Cmd.OnCreate(this.axMapControl1.Object);

this.axMapControl1.CurrentTool = Cmd as ITool;

}

同类的方法中用到此方法的还有以下等:

放大: ICommand Cmd = new ControlsMapZoomInTool();

缩小: ControlsMapZoomOutTool Cmd = new ControlsMapZoomOutTool();

漫游: ControlsMapPanTool Cmd = new ControlsMapPanTool();

绘制矩形:ControlsNewRectangleTool Cmd = new ControlsNewRectangleTool();

绘制圆:ControlsNewCircleTool Cmd = new ControlsNewCircleTool();

绘制椭圆: ControlsNewEllipseTool Cmd = new ControlsNewEllipseTool();

绘制曲线: ControlsNewCurveTool Cmd = new ControlsNewCurveTool();

绘制直线: ControlsNewLineTool Cmd = new ControlsNewLineTool();

绘制点标记: ControlsNewMarkerTool Cmd = new ControlsNewMarkerTool();

流方法绘图: ControlsNewFreeHandTool Cmd = new ControlsNewFreeHandTool();

墨水绘图: ControlsInkPenTool Cmd = new ControlsInkPenTool();

ControlsInkGenericDrawTool Cmd = new ControlsInkGenericDrawTool();

旋转工具: ControlsMapRotateTool Cmd = new ControlsMapRotateTool();

旋转图形: ControlsRotateElementTool Cmd = new ControlsRotateElementTool();

选择要素:ControlsSelectFeaturesTool Cmd = new ControlsSelectFeaturesTool();

选择图形: ControlsSelectTool Cmd = new ControlsSelectTool();

属性工具: ControlsMapIdentifyTool Cmd = new ControlsMapIdentifyTool();

测量工具: ControlsMapMeasureTool Cmd = new ControlsMapMeasureTool();

超链接工具: ControlsMapHyperlinkTool Cmd = new ControlsMapHyperlinkTool();

B类:Command命令的实现,前面是Controls 后面是CommandClass命令的都可以用这个程序

示例:

全图显示:

ICommand Cmd = new ControlsMapFullExtentCommandClass();

Cmd.OnCreate(this.axMapControl1.Object);

Cmd.OnClick();

类似可以实现的功能有:

坐标查找: ICommand Cmd = new ControlsMapGoToCommand();

查找命令:ICommand Cmd = new ControlsMapFindCommandClass();

创建书签: ICommand Cmd = new ControlsMapCreateBookmarkCommandClass();

墨迹设置:ICommand Cmd = new ControlsInkOptionsCommandClass();

清楚旋转: ICommand Cmd = new ControlsMapClearMapRotationCommandClass();

转到页底: ICommand Cmd = new ControlsMapPageDownCommandClass();

转到页左: ICommand Cmd = new ControlsMapPageLeftCommandClass();

转到页右: ICommand Cmd = new ControlsMapPageRightCommandClass();

转到页上:ICommand Cmd = new ControlsMapPageUpCommandClass();

向右: ICommand Cmd = new ControlsMapRightCommandClass();

向上: ICommand Cmd = new ControlsMapUpCommandClass();

中心放大:ICommand Cmd = new ControlsMapZoomInFixedCommandClass();

中心缩小: ICommand Cmd = new ControlsMapZoomOutFixedCommandClass();

后一视图: ICommand Cmd = new ControlsMapZoomToLastExtentBackCommandClass();

前一视图: ICommand Cmd = new ControlsMapZoomToLastExtentForwardCommandClass(); 地方查找: ICommand Cmd = new ControlsMyPlacesCommandClass();

打开文档: ICommand Cmd = new ControlsOpenDocCommandClass();

撤销: ICommand Cmd = new ControlsRedoCommandClass();

图形向左旋转: ICommand Cmd = new ControlsRotateLeftCommandClass();

向右旋转: ICommand Cmd = new ControlsRotateRightCommandClass();

文档另存为: ICommand Cmd = new ControlsSaveAsDocCommandClass();

选择第一个图层中的所有元素:ICommand Cmd = new ControlsSelectAllCommandClass(); 选择屏幕中的所有部分: ICommand Cmd = new ControlsSelectScreenCommandClass();

撤销命令:ICommand Cmd = new ControlsUndoCommandClass();

缩放到被选择的部分: ICommand Cmd = new ControlsZoomToSelectedCommandClass();

************************************************************

补充:上面的某些功能的其他实现方法

几个特殊的方法:

private void 全图ToolStripMenuItem_Click(object sender, EventArgs e)

{

this.axMapControl1.Extent = this.axMapControl1.FullExtent;

}

private void 刷新ToolStripMenuItem_Click(object sender, EventArgs e)

{

axMapControl1.Refresh();

}

private void 中心放大ToolStripMenuItem_Click(object sender, EventArgs e)

{

IEnvelope objEnvelope = null;

objEnvelope = axMapControl1.Extent;

objEnvelope.Expand(0.2, 0.2, true);

axMapControl1.Extent = objEnvelope;

}

private void 中心缩小ToolStripMenuItem_Click(object sender, EventArgs e) {

IEnvelope objEnvelope = null;

objEnvelope = axMapControl1.Extent;

objEnvelope.Expand(2, 2, true);

axMapControl1.Extent = objEnvelope;

}

private void 前一视图ToolStripMenuItem_Click(object sender, EventArgs e) {

IExtentStack pExtentStack = null;

pExtentStack = axMapControl1.ActiveView.ExtentStack;

if (pExtentStack.CanUndo())

{

pExtentStack.Undo();

}

axMapControl1.Refresh();

}

private void 后一视图ToolStripMenuItem_Click(object sender, EventArgs e) {

IExtentStack pExtentStack = null;

pExtentStack = axMapControl1.ActiveView.ExtentStack;

if (pExtentStack.CanRedo())

{

pExtentStack.Redo();

}

axMapControl1.Refresh();

}

MFC中List Control控件的使用及实时显示系统时间的方法 .

MFC中List Control控件的使用及实时显示系统时间的方 法 . (一)List Control控件的使用 新近开发了一个摄像机标定的MFC程序,标定完成后期望将求得的摄像机参数直观地显示到应用程序的界面上来。起初的方案是为每一个参数都建立一个Edit控件,并对每一个控件设定一个控制变量,将该变量与相应参数对应起来。这样做是可行的,但当参数众多时比较繁琐。鉴于此,决定在程序中使用List Control控件,将参数以List的形式呈现在界面上。以下是我在基于对话框的MFC程序中添加List Control控件的步骤。 1.新加ListControl 控件,属性中的style属性页下的View选择Report。并设置其对应的控制变量如:m_ListCtrl。 2.初始化,即设置列。 m_ListCtrl.InsertColumn(0,"参数名"); //插入列 m_ListCtrl.InsertColumn(1,"参数值"); m_ListCtrl.InsertColumn(2,"备注"); CRect rect3; m_ListCtrl.GetClientRect(rect3); //获得当前客户区信息m_ListCtrl.SetColumnWidth(0,rect3.Width()/4); //设置

列的宽度。 m_ListCtrl.SetColumnWidth(1,rect3.Width()*2/4); m_ListCtrl.SetColumnWidth(2,rect3.Width()/4); 这部分初始化操作,最好放在对话框类的OnInitDialog()函数里,自动初始化。 3.插入数据 m_ListCtrl.InsertItem(0,"参数1"); //插入第一个数据,即第0条数据。先插入,然后在修改其他的信息。 m_ListCtrl.SetItemText(0,1,"参数1值"); //修改第0条数据的其他信息。 m_ListCtrl.SetItemText(0,2,"无"); SetItemText()函数负责向列表里添加字符串。当需要添加的是非字符串的数据类型时,需要先转换为字符串类型再用SetItemText()完成添加。假设所需要添加的是double 类型的浮点数。 double dbl=1.2345678; char str[16]={0}; sprintf(str, "%lf", dbl); m_ListCtrl.InsertItem(0,"参数1"); m_ListCtrl.SetItemText(0,1,str); //等价于 m_ListCtrl.SetItemText(0,1,“1.2345678”); 需要注意的是用sprintf族函数时,char数组一定要足

Control-M简明操作手册

Control-M简明操作手册 本手册仅列出一些重要的操作方法,因时间关系,次要的不在此列出,请参考Control-M用户手册。 1.调度的启停 1.1Control-M/EM启停 用ctem用户登录EM服务器,键入root_menu命令,看到以下菜单: 选择其中的“1 - Activation Menu”,进入子菜单:

即可根据情况启动或停止相应的服务。同时,这个菜单下还可进行EM各服务运行的检查。 1.2Control-M/Server启停 用ctm用户登录Control-M/Server服务器,键入ctm_menu命令,看到以下菜单:

选择其中的“1 - CONTROL-M Manager”,进入子菜单: 根据情况启动或停止相应的服务。同时,这个菜单下还可进行Server运行的检查。1.3Control-M/Agent启停 启动Control-M/Agent:用root用户登录Agent节点,进入Agent安装目录下的ctm/scripts

子目录(如果Server和Agent安装在同一节点上则进入ctm_agent/ctm/scripts目录,下同),并执行start-ag –u ctm。使用root用户启停Agent的原因是只有root才能调用任何一个用户的任何命令。 停止Control-M/Agent:用root用户登录Agent节点,进入Agent安装目录下的ctm/scripts 子目录,并执行shut-ag –u ctm。 2.参数配置 Control-M/EM的参数已在安装过程中设置完毕。 2.1Control-M/Server参数设置 用ctm用户登录Control-M/Server服务器,键入ctm_menu命令,可见以下菜单: 1)选择主菜单中的“6 –Parameter Customization”可查看或设置包括各通讯端口在内的重要参数:

抠图的四种方法

本例介绍用PS抠玻璃的四种方法,适合新手朋友学习透明物体抠图的技巧,教程讲解了图层模式抠图、抽出滤镜抠图、快捷键取高光抠图和通道抠图的方法,希望能给朋友们带来帮助~~ 有不少朋友问到抠玻璃的问题,新手对抠取透明物体还是不怎么理解,今天发个抠玻璃的教程。希望对大家有所帮助。 先贴原图和底图一幅: 参考图

参考图 第一抠:图层模式抠图 图层模式抠图:充分运用了图层模式里的“屏幕”和“正片叠底”的性质来抠图。说直白点就是某个图层运用了“屏幕”后,该层的白色看得见,黑色看不见了;运用了“正片叠底”后该层的白色看不见,黑色看得见。 具体抠法大家往下看。 1、首先用工笔工具或套索工具勾出不透明的部分。注意:红框里的工具都是可用的,我一般都是喜欢用精确的钢笔工具。

图1 2、按ctrl+enter键,路径转为选区了。如图所示:(顺便说句:大家看到我图层里有两个图,我是留着做最后做底图用的,与抠图过程没关系,不要管它)。 图2 3、按ctrl+j后在背景层上方自动生成图层1,如图:

4、将图层1拖至最上方,点图层1按右键,将图层1改名为“不透明部分”(当然不改也行,我这里便于大家能一目了然好理解)。 图4 5、回到背景层,用魔棒工具选取白色区域。

图5 6、进行反选,这样一来就选取了玻璃了,大家看,蚂蚁线这次是围住了玻璃。如图: 图6 7、不要取消蚂蚁线,按ctrl+J,生成图层1,隐藏背景层,显示效果如图所示:

图7 8、复制图层1为"图层1副本",拖至"底图2"上方,打开底图2图层前的眼睛,让图层2为可见状态。具体如图所示: 图8 9、将"图层1副本"设定为"正片叠底",注意看红色椭圆里的内容。大家看,设定正片叠底后,玻璃下的白色消失了,但是玻璃显得暗淡,没有光泽感,不自然。所以抠图还得继续。

VC MFC List Control控件的使用

基于对话框的MFC程序中添加List Control控件的步骤。 1.新加ListControl 控件,属性中的style属性页下的View选择Report。并设置其对应的控制变量如:m_ListCtrl。 2.初始化,即设置列。 m_ListCtrl.InsertColumn(0,"参数名"); //插入列 m_ListCtrl.InsertColumn(1,"参数值"); m_ListCtrl.InsertColumn(2,"备注"); CRect rect3; m_ListCtrl.GetClientRect(rect3); //获得当前客户区信息 m_ListCtrl.SetColumnWidth(0,rect3.Width()/4); //设置列的宽度。 m_ListCtrl.SetColumnWidth(1,rect3.Width()*2/4); m_ListCtrl.SetColumnWidth(2,rect3.Width()/4); 这部分初始化操作,最好放在对话框类的OnInitDialog()函数里,自动初始化。 3.插入数据 m_ListCtrl.InsertItem(0,"参数1"); //插入第一个数据,即第0条数据。先插入,然后在修改其他的信息。 m_ListCtrl.SetItemText(0,1,"参数1值"); //修改第0条数据的其他信息。 m_ListCtrl.SetItemText(0,2,"无"); SetItemText()函数负责向列表里添加字符串。当需要添加的是非字符串的数据类型时,需要先转换为字符串类型再用SetItemText()完成添加。假设所需要添加的是double类型的浮点数。 double dbl=1.2345678; char str[16]={0}; sprintf(str, "%lf", dbl); m_ListCtrl.InsertItem(0,"参数1"); m_ListCtrl.SetItemText(0,1,str); //等价于 m_ListCtrl.SetItemText(0,1,“1.2345678”); 需要注意的是用sprintf族函数时,char数组一定要足够大,否则程序运行时会出现错误提示“ Stack around the variable 'str' was corrupted ”,解决方法是把数组改大一些。 4.删除所有数据。

四种抠图法用PS更换背景照片

前提条件:有 Photoshop软件 照片的后期处理中,我们经常会使用Photoshop将照片中的人物素材提取出来,以便实现背景更换等特殊效果。利用Photoshop来对人物素材进行提取的方法很多,我们先以更换照片中人物的背景的一些小实例,来总结一下Photoshop抠图的四种方法: 一、工具法——巧用魔棒工具替换背景 二、路径法——用钢笔工具来抠取人物 三、蒙版法——利用蒙版技术抠图 四、滤镜法——功能强大的抽出滤镜 基本思路 实现照片背景更改的方法有很多,但基本的思路都遵循着以下两条: 1.选择背景法。将照片中不满意的背景去除后,然后将提取出来的人物插入到一张新的自己比较喜爱的背景图片中去。这个方法比较适合于抠取掉那些图案较为单调、色彩不多的背景,从而将人物选择出来。 2.选择人物法。这个思路恰恰和上面的思路相反,就是直接将照片中需要的人物或者物体选择出来并剪切或者复制到预先确定好的背景照片中。这种方法比较适合于抠取那些边缘较为清晰的人物或者物体。 对于上述两种照片背景更改的思路,最终的效果都是相同的,但具体要应用哪种思路,就要看需要替换背景的具体照片而确定了。 四种抠图方法详解 一、工具法——巧用魔棒工具替换背景 知识点提示:魔棒工具主要是使用户可以选择颜色一致的区域(例如,一朵红花)或者背景比较单调的图片,而不必跟踪其轮廓。魔棒工具选择的颜色范围可以由工具选项栏中的“误差范围”参数值来控制。注意,不能在位图模式的图像中使用魔棒。 下面我们就以一个实例来讲解。在Photoshop中打开一张照片,如图1所示。我们先来分析一下这张照片,它的背景比较暗淡,而且背景的颜色也比较相近,那么在这种情况下我们可以运用将背景去除的方

List+Control中的数据写入Excel表格----+数据库操作法

将List Control中的数据写入Excel表格---- 数据库操作法 CDatabase database; CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安装驱动CString sExcelFile,sPath; CString sSql; //获取主程序所在路径,存在sPath中 GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH); sPath.ReleaseBuffer (); int nPos; nPos=sPath.ReverseFind ('\\'); sPath=sPath.Left (nPos + 1); CString sFileName; CFileDialog fDlg(TRUE, "xls", sPath + "aaaa.xls", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "xls File (*.xls)|*.xls|"); if(fDlg.DoModal()==IDOK) { sFileName = fDlg.GetPathName(); } else return; sExcelFile = sFileName; // 要建立的Excel文件 try { // 创建进行存取的字符串 sSql.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\ ";DBQ=%s",sDriver, sExcelFile, sExcelFile); // 创建数据库(既Excel表格文件) if( database.OpenEx(sSql,CDatabase::noOdbcDialog) ) { // 创建表结构(姓名、年龄) //sSql = "CREATE TABLE Exceldemo (Name TEXT,Age NUMBER)"; sSql = "create table Report (ID AUTOINCREMENT, 省份char(50), 开始时间date," "结束时间date, 宽带用户数Integer, 本周用户数Integer, 本周增长数Integer, 本周注销数Integer, " "本周净增数Integer, 用户渗透率real,收费用户数Integer, 营销增长用户Integer, 营销注销用户Integer," "市场动作char(255),产品情况TEXT)";

ps抠图详细教程ps抠图方法

1Photoshop抠图完全攻略(1) 抠图难吗?其实一点也不难,只要你有足够的耐心和细心,只须掌握最基础的photoshop知识就能完美的抠出图片。当然,这是靠时间换来的,我们应当掌握更简便、快速、效果好的抠图方法。抠图,也就是传说中的“移花接木”术,是学习photoshop的必修课,也是photoshop最重要的功能之一。这几天在研究photoshop抠图,个人纵观所有抠图方法无外乎两大类:一是作选区抠图;二是运用滤镜抠图。 图1 稍难点的抠图就是“抠发抠婚纱”,抠发,指的是抠细小的物体,如毛发等;抠婚纱,就是抠透明质感的物体,如婚纱、玻璃杯等。好了,我们就分三大类来解析一下photoshop抠图: 一、一步抠图——最原始最没有技术含量的抠图方法。 1、双击photoshop窗口灰色区域,打开两张素材图片。

图2 2、移动图片至想要的背景图片上,把所在层的模式改为“滤色”。 图3 3、总结一下,黑色背景的图片用“滤色”模式;白色背景的图片用“正片叠底”模式。当然如果你想抠的对象本身有黑色或白色,那就另当别论了。

图4 4、这种方法对于白色背景的图片,效果好像不是太好;所以我们就用另一种更简便的方法——魔术棒工具。这里之所以把它列举出来主要是,让你明白与黑色背景的图片对应着有这么一种方法。必要时进行加减选区,有时还需要反选一下;说明一下,Shift+工具,加选区;Alt+工具,减选区;Ctrl+Shift+I,反选。 图5 5、最终效果图:

图6 除用魔术棒工具外,利用套索工具和钢笔工具也是不错的选择,但最好用带磁性的套索工具和钢笔工具,在这里就不再赘述了。另外再说一点,就是在PS CS3版本中有一个比魔术棒工具功能更加强大的“快速选择工具(Quick Selection Tool)”,可以不用任何快捷键进行加选,按往不放可以像绘画一样选择区域,非常神奇。当然选项栏也有新、加、减三种模式可选,快速选择颜色差异大的图像会非常的直观、快捷。如果你有用CS3可以试一下。 6、除了用工具直接进行选择外我们还可以用色彩范围进行选区的选择。注意一下,颜色容差值的不同得到的选区也就不会相同。不仅仅是色彩范围,所有带容差参数的均适用这个原理,所以我们在设置参数时多琢磨一下。

VC++中listlist的使用方法总结

以下是引自msdn帮助文档(中文是我自己翻译的,错误之处请包涵。): The template class describes an object that controls a varying-length sequence of elements of type T. The sequence is stored as a bidirectional linked list of elements, each containing a member of type T. 本模板类描述了一个对象,这个对象是类型为T的可变长度的序列元素。这个序列采用双向链表的方式存储每一个元素,其中每一个元素的数据流行都是T。 The object allocates and frees storage for the sequence it controls through a protected object named allocator, of class A. Such an allocator object must have the same external interface as an object of template class allocator. Note that allocator is not copied when the object is assigned. 对序列对象的分配和释放操作通过一个受保护的对象allocator进行。这样一个allocator对象必须有相同的外部接口作为一个模板类分配器的对象。注意:当对象被分配之后allocator不能被复制。 List reallocation occurs when a member function must insert or erase elements of the controlled sequence. In all such cases, only iterators or references that point at erased portions of the controlled sequence become invalid. 当一个成员要进行insert或者erase操作时,列表的重新分配操作发生。在这种情况下,只有迭代器或者引用所指向的要删除的对象的指针变为无效。 msdn帮助文档自带的例子 下面为msdn帮助文档中自带的一个例子,该例展示了如何使用迭代器读取列表中的元素和进行插入操作。 #include #include using namespace std ; typedef list LISTINT; void main() { int rgTest1[] = {5,6,7}; int rgTest2[] = {10,11,12}; LISTINT listInt; LISTINT listAnother; LISTINT::iterator i; // Insert one at a time listInt.insert (listInt.begin(), 2); listInt.insert (listInt.begin(), 1); listInt.insert (listInt.end(), 3); // 1 2 3 for (i = listInt.begin(); i != listInt.end(); ++i) cout << *i << ""; cout << endl; // Insert 3 fours listInt.insert (listInt.end(), 3, 4); // 1 2 3 4 4 4 for (i = listInt.begin(); i != listInt.end(); ++i) cout << *i << "";

VC++中listcontrol的用法

CListCtrl 使用技巧 以下未经说明,listctrl默认view 风格为report 相关类及处理函数 MFC:CListCtrl类 SDK:以“ListView_”开头的一些宏。如ListView_InsertColumn 1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料 2. 设置listctrl 风格及扩展风格 LONG lStyle; lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口style lStyle &= ~LVS_TYPEMASK; //清除显示方式位 lStyle |= LVS_REPORT; //设置style SetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle);//设置style DWORD dwStyle = m_list.GetExtendedStyle(); dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl) dwStyle |= LVS_EX_CHECKBOXES;//item前生成checkbox控件 m_list.SetExtendedStyle(dwStyle); //设置扩展风格 注:listview的style请查阅msdn https://www.doczj.com/doc/217395898.html,/library/default.asp?url=/library/en-us/wceshellui5/html/wce50lrflistviewstyles. asp

uicontrol的使用

Uicontrol:是user interface control 的缩写(用户界面控制)。 MATLAB的uicontrol包括按钮、滑标、文本框及弹出式菜单。Uicontrol由函数uicontrol 生成。 >>Hc_1=uicontrol(Hf_fig,' PropertyName ' ,PropertyValue,...) 其中,Hc_1是由函数uicontrol生成uicontrol对象的句柄。 下面将给出uicontrol 对象的一些属性及它们相应的值和描述,{}内的内容为默认值,如{default},除非另外声明,否则所有的属性都可以进行设置,所有对象都通用的属性将在附件中列出。 ‘BakcgroundColor'(背景颜色)---ColorSpec(特定的颜色).这个属性声明了用来填充uicontrol 对象的背景颜色,ColorSpec是一个三元素的RGB 向量或者标准颜色的字符串号,默认的颜色值是和系统相关的,并且可以通过输入命令get(0,'DefaultUuicontrolBackgroundColor')获得。 ‘Callback'(返回,回调)----string(字符串)。这个属性声明了当用户触发uicontrol对象(如:在按下一个'pushbutton'或者拖动一个'slider')时候所执行的字符串,'frame' 和静态的'text'uicontrol类型不发出回调。 ‘CData'--m-by-n-by-3 array( 矩阵)这个属性是一个在'pushbutton'或'fogglebutton'uicontrol 类型上显示的真彩色图像。 ‘Enable'---{‘on'}(默认状态)|‘inactive'(静态)|'off'(关)这个属性声明了是否启用这个uicontrol 对象,当设置为'on'的时候,在这个uicontrol被选中的时候,执行这个回调字符串,当设置为'off'的时候,这个uicontrol标签字符串就变暗。当设置为'inactive' 的时候,uicontrol 没有被变暗,当设置为'off'和'inactive'的时候,不执行这个回调字符串,但是'ButtonDownFcn'属性还是会起作用。

用Photoshop抠图的四种方法

用Photoshop抠图的四种方法 抠图难吗?其实一点也不难,只要你有足够的耐心和细心,只须掌握最基础的photoshop 知识就能完美的抠出图片。当然,这是靠时间换来的,我们应当掌握更简便、快速、效果好的抠图方法。抠图,也就是传说中的“移花接木”术,是学习photoshop的必修课,也是photoshop最重要的功能之一。这几天在研究photoshop抠图,个人纵观所有抠图方法无外乎两大类:一是作选区抠图;二是运用滤镜抠图。 稍难点的抠图就是“抠发抠婚纱”,抠发,指的是抠细小的物体,如毛发等;抠婚纱,就是抠透明质感的物体,如婚纱、玻璃杯等。好了,我们就分三大类来解析一下photoshop抠图: 一步抠图——最原始最没有技术含量的抠图方法。 1、双击photoshop窗口灰色区域,打开两张素材图片。 2、移动图片至想要的背景图片上,把所在层的模式改为“滤色”。 3、总结一下,黑色背景的图片用“滤色”模式;白色背景的图片用“正片叠底”模式。当然

如果你想抠的对象本身有黑色或白色,那就另当别论了。 4、这种方法对于白色背景的图片,效果好像不是太好;所以我们就用另一种更简便的方法——魔术棒工具。这里之所以把它列举出来主要是,让你明白与黑色背景的图片对应着有这么一种方法。必要时进行加减选区,有时还需要反选一下;说明一下,Shift+工具,加选区;Alt+工具,减选区;Ctrl+Shift+I,反选。 5、最终效果图:

除用魔术棒工具外,利用套索工具和钢笔工具也是不错的选择,但最好用带磁性的套索工具和钢笔工具,在这里就不再赘述了。另外再说一点,就是在PS CS3版本中有一个比魔术棒工具功能更加强大的“快速选择工具(Quick Selection Tool)”,可以不用任何快捷键进行加选,按往不放可以像绘画一样选择区域,非常神奇。当然选项栏也有新、加、减三种模式可选,快速选择颜色差异大的图像会非常的直观、快捷。如果你有用CS3可以试一下。 6、除了用工具直接进行选择外我们还可以用色彩范围进行选区的选择。注意一下,颜色容差值的不同得到的选区也就不会相同。不仅仅是色彩范围,所有带容差参数的均适用这个原理,所以我们在设置参数时多琢磨一下。 7、移动到新的图像中,得到的最终效果图。

ps完美抠图四种方法(网上找到)

抠图难吗?其实一点也不难,只要你有足够的耐心和细心,只须掌握最基础的photoshop知识就能完美的抠出图片。当然,这是靠时间换来的,我们应当掌握更简便、快速、效果好的抠图方法。抠图,也就是传说中的“移花接木”术,是学习photoshop的必修课,也是photoshop最重要的功能之一。这几天在研究photoshop抠图,个人纵观所有抠图方法无外乎两大类:一是作选区抠图;二是运用滤镜抠图。 稍难点的抠图就是“抠发抠婚纱”,抠发,指的是抠细小的物体,如毛发等;抠婚纱,就是抠透明质感的物体,如婚纱、玻璃杯等。好了,我们就分三大类来解析一下photoshop抠图: 一、一步抠图——最原始最没有技术含量的抠图方法。 1、双击photoshop窗口灰色区域,打开两张素材图片。 2、移动图片至想要的背景图片上,把所在层的模式改为“滤色”。

3、总结一下,黑色背景的图片用“滤色”模式;白色背景的图片用“正片叠底”模式。当然如果你想抠的对象本身有黑色或白色,那就另当别论了。 4、这种方法对于白色背景的图片,效果好像不是太好;所以我们就用另一种更简便的方法——魔术棒工具。这里之所以把它列举出来主要是,让你明白与黑色背景的图片对应着有这么一种方法。必要时进行加减选区,有时还需要反选一下;说明一下,Shift+工具,加选区;Alt+工具,减选区;Ctrl+Shift+I,反选。

5、最终效果图: 除用魔术棒工具外,利用套索工具和钢笔工具也是不错的选择,但最好用带磁性的套索工具和钢笔工具,在这里就不再赘述了。另外再说一点,就是在PS CS3版本中有一个比魔术棒工具功能更加强大的“快速选择工具(Quick Selection Tool)”,可以不用任何快捷键进行加选,按往不放可以像绘画一样选择区域,非常神奇。当然选项栏也有新、加、减三种模式可选,快速选择颜色差异大的图像会非常的直观、快捷。如果你有用CS3可以试一下。

MFC中ListControl控件的使用分类

1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料” 2. 设置listctrl 风格及扩展风格 LONG lStyle; lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口style lStyle &= ~LVS_TYPEMASK; //清除显示方式位 lStyle |= LVS_REPORT; //设置style SetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle);//设置style DWORD dwStyle = m_list.GetExtendedStyle(); dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl) dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl) dwStyle |= LVS_EX_CHECKBOXES;//item前生成checkbox控件 m_list.SetExtendedStyle(dwStyle); //设置扩展风格 注:listview的style请查阅msdn https://www.doczj.com/doc/217395898.html,/library/default.asp?url=/library/en-us/wceshellui5/html/wce5 0lrflistviewstyles.asp 3. 插入数据 m_list.InsertColumn( 0, "ID", LVCFMT_LEFT, 40 );//插入列 m_list.InsertColumn( 1, "NAME", LVCFMT_LEFT, 50 ); int nRow = m_list.InsertItem(0, “11”);//插入行 m_list.SetItemText(nRow, 1, “jacky”);//设置数据 4. 一直选中item

ListControl使用范例

MFC如何使用List Control 以下未经说明,listctrl默认view 风格为report 相关类及处理函数 MFC:CListCtrl类 SDK:以“ListView_”开头的一些宏。如ListView_InsertColumn -------------------------------------------------------------------------------- 1. CListCtrl 风格LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料” -------------------------------------------------------------------------------- 2. 设置listctrl 风格及扩展风格LONG lStyle; lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口style lStyle &= ~LVS_TYPEMASK; //清除显示方式位 lStyle |= LVS_REPORT; //设置style SetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle);//设置style DWORD dwStyle = m_list.GetExtendedStyle(); dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl) dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)

Photoshop抠图的四种方法

Photoshop抠图的四种方法: 一、工具法——巧用魔棒工具替换背景 二、路径法——用钢笔工具来抠取人物 三、蒙版法——利用蒙版技术抠图 四、滤镜法——功能强大的抽出滤镜 基本思路 实现照片背景更改的方法有很多,但基本的思路都遵循着以下两条: 1.选择背景法。将照片中不满意的背景去除后,然后将提取出来的人物插入到一张新的自己比较喜爱的背景图片中去。这个方法比较适合于抠取掉那些图案较为单调、色彩不多的背景,从而将人物选择出来。 2.选择人物法。这个思路恰恰和上面的思路相反,就是直接将照片中需要的人物或者物体选择出来并剪切或者复制到预先确定好的背景照片中。这种方法比较适合于抠取那些边缘较为清晰的人物或者物体。 对于上述两种照片背景更改的思路,最终的效果都是相同的,但具体要应用哪种思路,就要看需要替换背景的具体照片而确定了。四种抠图方法详解 一、工具法——巧用魔棒工具替换背景 知识点提示:魔棒工具主要是使用户可以选择颜色一致的区域(例如,一朵红花)或者背景比较单调的图片,而不必跟踪其轮廓。

魔棒工具选择的颜色范围可以由工具选项栏中的“误差范围”参数值来控制。注意,不能在位图模式的图像中使用魔棒。 下面我们就以一个实例来讲解。在Photoshop中打开一张照片,如图1所示。我们先来分析一下这张照片,它的背景比较暗淡,而且背景的颜色也比较相近,那么在这种情况下我们可以运用将背景去除的方法来实现人物的抠图。 图1 这个例子的创作思路是利用魔棒工具将背景的大部分面积选中,然后使用增加选区或者删除选区的方法进一步选择。如果对于不能选择的细节部分,就使用套索工具或者磁性套索工具来完成。 1.在Photoshop CS中文版中打开照片后,单击工具箱中的魔棒工具,然后在出现的工具选项栏中设置容差参数值为50。接着在人物背景上单击鼠标左键,这时就可以得到大部分的背景选区了。对于不连续的选区,我们可以在选中魔棒工具的情况下再在其工具选项栏中单击“添加到选区”图标或者按住键盘上的Shift键再单击其他想要选取的地方来选择,如图2所示。

[MFC]List Control 用法

少将 本人最常用到List的report格式。 所以介绍下使用方法,自己老忘记。 1、初始化List DWORD dwStyle = m_listData.GetExtendedStyle(); m_listData.SetExtendedStyle(dwStyle|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINE S); m_listData.InsertColumn(0, "用户名"); m_listData.InsertColumn(1, "密码"); m_listData.InsertColumn(2, "Key ID"); m_listData.InsertColumn(3, "Key 密码"); m_listData.SetColumnWidth(0, 80); m_listData.SetColumnWidth(1, 120); m_listData.SetColumnWidth(2, 80); m_listData.SetColumnWidth(3, 120); 2、添加记录 m_list.InsertItem(nIndex, strName); m_list.SetItem(nIndex, 1,LVIF_TEXT|LVIF_IMAGE, strSex, 0, 0L,0L, 0L ); m_list.SetItem(nIndex, 2,LVIF_TEXT|LVIF_IMAGE, strLisenceId, 0, 0L,0L, 0L ); m_list.SetItem(nIndex, 3,LVIF_TEXT|LVIF_IMAGE, strDept, 0, 0L,0L, 0L ); m_list.SetItem(nIndex, 4,LVIF_TEXT|LVIF_IMAGE, strJob, 0, 0L,0L, 0L ); m_list.SetItem(nIndex, 5,LVIF_TEXT|LVIF_IMAGE, strInitTime, 0, 0L,0L, 0L ); 3、修改记录 4、删除记录 m_list.DeleteAllItems(); 5、单击列表,获得行号 NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; int nMask = pNMListView->iItem;//nMask为你单击选择的行号 6、获取列表内容 char szValue[260] = {0}; m_list.GetItemT ext(nMask, 0, szValue, 260);//name m_list.GetItemT ext(nMask, 1, szValue, 260);//sex

用ps抠图换背景的方法以及步骤

照片的处理中,我们经常会使用Photoshop将照片中的人物素材提取出来,以便实现背景更换等特殊效果。利用Photoshop来对人物素材进行提取的方法很多,我们先以更换照片中人物的背景的一些小实例,来总结一下本帖介绍的Photoshop抠图的四种方法: 一、工具法____巧用魔棒工具替换背景 二、路径法____用钢笔工具来抠取人物 三、蒙版法____利用蒙版技术抠图 四、滤镜法____功能强大的抽出滤镜 基本步骤路 照片背景更改的方法有很多,但基本的思路都遵循着以下两条: 1.选择背景法。将照片中不满意的背景去除后,然后将提取出来的人物插入到一张新的自己比较喜爱的背景图片中去。这个方法比较适合于抠取掉那些图案较为单调、色彩不多的背景,从而将人物选择出来。 2.选择人物法。这个思路恰恰和上面的思路相反,就是直接将照片中需要的人物或者物体选择出来并剪切或者复制到预先确定好的背景照片中。这种方法比较适合于抠取那些边缘较为清晰的人物或者物体。 对于上述两种照片背景更改的思路,最终的效果都是相同的,但具体要应用哪种思路,就要看需要替换背景的具体照片而确定了。 四种抠图方法详解 一、工具法——巧用魔棒工具替换背景 知识点提示:魔棒工具主要是使用户可以选择颜色一致的区域(例如,一朵红花)或者背景比较单调的图片,而不必跟踪其轮廓。魔棒工具选择的颜色范围可以由工具选项栏中的“误差范围”参数值来控制。注意,不能在位图模式的图像中使用魔棒。 下面我们就以一个实例来讲解。在Photoshop中打开一张照片,如图1所示。我们先来分析一下这张照片,它的背景比较暗淡,而且背景的颜色也比较相近,那么在这种情况下我们可以运用将背景去除的方法来实现人物的抠图。 图1 这个例子的创作思路是利用魔棒工具将背景的大部分面积选中,然后使用增加选区或者删除选区的方法进一步选择。如果对于不能选择的细节部分,就使用套索工具或者磁性套索工具来完成。 1.在Photoshop CS中文版中打开照片后,单击工具箱中的魔棒工具,然后在出现的工具选项栏中设置容差参数值为50。接着在人物背景上单击鼠标左键,这时就可以得到大部分的背景选区了。对于不连续的选区,我们可以在选中魔棒工具的情况下再在其工具选项栏中单击“添加到选区”图标或者按住键盘上的Shift键再单击其他想要选取的地方来选择,如图2所示。

MFC ListControl控件用法

MFC ListControl控件用法 开发环境:visual studio 2008 1、新建一个基于对话框的MFC应用程序。在对话框上拖放一个listcontrol控件和一个button控件,给listcontrol控件添加一个名为m_StoreItems的变量。添加button的点击响应函数。 void CDepartmentStoreDlg::OnBnClickedNewitem() { // TODO: 在此添加控件通知处理程序代码 srand((unsigned)time(NULL)); TCHAR strNumber[20];//这里不要定义为char或者CString类型,不然后面lvItem.pszText会报错。 int number1 = rand() % 100; int number2 = rand() % 100; wsprintf(strNumber,_T("%d-%d"), number1, number2); LVITEM lvItem; lvItem.mask = LVIF_TEXT; lvItem.iItem = 0; lvItem.iSubItem = 0; lvItem.pszText = strNumber; m_StoreItems.InsertItem(&lvItem); } 运行效果如下,效果相当于listbox控件,就是一个列表,一行一行的:

现在设置为报表视图,显示成表格形式。 在初始化函数里添加: BOOL CDepartmentStoreDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: 在此添加额外的初始化代码 m_StoreItems.SetView(LVS_REPORT);//如果在属性里面设置了listview的view是report,这里就没必要了,默认的是icon LVCOLUMN lvColumn; lvColumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH; //掩码设置了fmt值、显示列标题和指定宽度 lvColumn.fmt = LVCFMT_LEFT; //设置作对其模式 lvColumn.cx = 120; //设置标题的宽度为120个像素

在Windows应用程序中添加ListControl控件的几种方法

一、在Windows应用程序中添加ListControl控件的几种方法 1、在对话框中添加控件: 创建对话框应用程序,在资源视图中添加对话框。如下图所示,在控件工具条中选择ListControl控件添加到对话框中,并调整控件尺寸。在ListControl控件的属性页中设置控件样式(Styles)和扩展样式等。为了显示详细数据信息,可以设置控件的显示风格为报表视图(Report)。 为了在对话框中使用控件,需要在ClassWizard中为对话框类添加控件成员变量,如下图所示:

执行以上操作后,系统自动添加了一个ClistControl对象,并与ListControl控件资源关联,相关代码如下: // ListDialogDlg.h : header file ...... public: CListCtrl m_cListCtrl; ...... // ListDialogDlg.cpp : implementation file ...... void CListDialogDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CListDialogDlg) DDX_Control(pDX, IDC_LIST_CTRL, m_cListCtrl); //}}AFX_DATA_MAP } ...... 因为本例只为演示在对话框中添加ListControl控件,所以只在对话框初始化消息函数中添加了以下显示控件的示例代码(代码含义请参照MSDN文献): BOOL CListDialogDlg::OnInitDialog() { CDialog::OnInitDialog(); ...... // TODO: Add extra initialization here DWORD exstyle = m_cListCtrl.GetExtendedStyle(); m_cListCtrl.SetExtendedStyle(exstyle | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES |

相关主题
文本预览
相关文档 最新文档