教你怎样用SkinMagicBuilder制作皮肤

合集下载

如何绘制人体皮肤

如何绘制人体皮肤

如何绘制人体皮肤
皮肤恐怕是我们在制作角色时最常碰到的一个难题。

很多时候我们绘制出来的皮肤看起来总是很呆板,那是因为我们没有掌握好皮肤上丰富的颜色变化。

下面是一个step by step的简单实例,用来演示一个亚洲男性的皮肤颜色变化。

首先我们为皮肤区域填充图中所示的略微偏红的土黄色。

(谁叫我们是黄种人呢?)
接着我们用下图底部方块所示的暗红色涂抹上皮肤的暗部,而亮部则保留我们刚才填充的土黄色。

注意在绘制暗部的时候,一些大的肌肉转折可以尝试把明暗交界画得硬一点。

但不可整条交界线都硬,要时软时硬,相互过渡。

接着我们用下图底部方块所示的大概25%的亮蓝色叠加上从我们绘制的皮肤的中等亮度区域取来的棕色,这样就得到了第三个方块所示的颜色。

我们用这个颜色来涂抹暗部与亮部交界的区域。

接下来我们在photoshop里选择下图底部方块所示的亮蓝色,并将笔刷的模式选为LinearDodge,然后涂抹出高光区域。

注意在一些明暗交界比较硬的地方可以适当的涂抹一点高光加强一下。

最后我们用普通笔刷选择下图方块所示的亮红色围绕高光的边缘进行涂抹,注意不要把高光全给盖住了。

最后我们的皮肤贴图就绘制完成了。

不同人种或性别的皮肤在绘制时只需要改变第一步所填充的底色就可以了。

使用SkinMagic美化界面

使用SkinMagic美化界面

使用SkinMagic美化界面网络上的SkinMagic版本繁多,而且试用版,破解版并存,各版本之间支持的皮肤文件也不尽相同,因此经常有人在网上询问为何添加了SkinMagic没有效果甚至导致程序崩溃之类的问题、这里有一个可用的破解版本(包含VC6使用的库和支持的常用皮肤文件)SkinMagicToolkitV2.2.31、请注意这个包的大小为1.31M,如果小于1.31M说明下载不完全,则无法使用,建议使用迅雷下载、一:文件说明SkinMagicLib.h 必须的头文件,请添加到工程中、SkinMagic.lib + SkinMagic.dll 动态链接库配套使用编译时需要在工程中添加SkinMagic.dll,程序运行时需要SkinMagic.dll以下版本的编译出来的程序运行时不再依赖SkinMagic.dllSkinMagicLibMD6.lib 静态链接库,用于VC6的Release版编译SkinMagicLibMT6.lib 静态链接库,用于VC6的Debug版编译二:使用步骤1、把SkinMagicLib.h, SkinMagicLibMT6.lib, SkinMagicLibMD6.lib放到你的VC6工程目录下2、在StdAfx.h中添加#include "SkinMagicLib.h"3、在工程设置中添加对应的库Win32 Release中填上SkinMagicLibMD6.libWin32 Debug中填上SkinMagicLibMT6.lib4、在InitInstance()函数的开始处添加初始化SkinMagic资源的代码、VERIFY(1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));5、在InitInstance()函数中加载皮肤文件并设置程序皮肤、你可以选择添加皮肤文件到资源中,并编译到程序中、或者程序在运行时动态加载皮肤文件a. 比如添加corona.smf,设置资源类型为"SKINMAGIC", 资源ID为IDR_SKIN_CORONA CBossKeyDlg dlg;m_pMainWnd = &dlg;//加载SkinMagic皮肤VERIFY(1 == LoadSkinFromResource(NULL, (LPSTR)IDR_SKIN_CORONA, "SKINMAGIC"));VERIFY(1 == SetWindowSkin(m_pMainWnd->m_hWnd, "MainFrame"));VERIFY(1 == SetDialogSkin("Dialog"));int nResponse = dlg.DoModalEx(bStartShow);if (nResponse == IDOK){}else if (nResponse == IDCANCEL){}b. 程序在运行时动态加载皮肤文件CBossKeyDlg dlg;m_pMainWnd = &dlg;//加载SkinMagic皮肤VERIFY(1 == LoadSkinFile("corona.smf"));VERIFY(1 == SetWindowSkin(m_pMainWnd->m_hWnd, "MainFrame")); VERIFY(1 == SetDialogSkin("Dialog"));int nResponse = dlg.DoModalEx(bStartShow);if (nResponse == IDOK){}else if (nResponse == IDCANCEL){}6、在ExitInstance()函数中释放SkinMagic资源//释放SkinMagic资源:ExitSkinMagicLib();。

利用Blender制作逼真的皮肤材质效果

利用Blender制作逼真的皮肤材质效果

利用Blender制作逼真的皮肤材质效果Blender是一款强大的3D建模软件,它提供了丰富的材质和节点系统,使得艺术家能够制作出逼真的皮肤效果。

本教程将教你如何利用Blender制作逼真的皮肤材质效果。

首先,创建一个人物模型。

在建模过程中,确保你的模型拓扑结构合理,拥有适当的分辨率。

一个好的拓扑将有助于后续的细节制作和材质渲染。

接下来,打开Blender的材质面板。

选择一个合适的材质槽,并添加一个新的材质。

然后,在节点编辑器中添加一个皮肤材质。

进一步,为皮肤材质设置基础色彩。

选择一个与你所需皮肤肤色相近的基础色彩,在材质节点中调整其强度和亮度。

你也可以使用图像编辑器中的纹理来添加更多的细节。

为了使皮肤看起来更真实,添加一些细微的质感变化是必要的。

在节点编辑器中,你可以添加子表面散射(SSS)效果。

通过控制SSS节点的散射半径和颜色来模拟皮肤的散射光。

另外,你可以添加一些纹理来增加皮肤的细节。

使用图像编辑器来导入一张纹理贴图,然后将其链接到材质节点中。

通过调整纹理的强度和反射参数,可以实现细节纹理的自然效果。

除了纹理,皮肤上的一些特殊效果也可以用节点来实现。

例如,添加一个镜面节点,来模拟皮肤的光泽效果。

通过调整镜面节点的高光大小和强度,你可以让皮肤看起来更加光滑和有光泽。

最后,你可以通过调整环境光等参数来增强整体的渲染效果。

环境光的设置将直接影响到皮肤的色彩和阴影效果。

经过以上一系列步骤,你应该能够制作出一个逼真的皮肤效果。

然而,要想达到更高级别的逼真效果,还需要花费更多的时间和精力来对模型进行微调和渲染。

在制作逼真皮肤效果的过程中,创造力和耐心是非常重要的。

通过不断的尝试和实践,你将能够掌握Blender中制作逼真皮肤材质的技巧,并创建出令人惊叹的作品。

总结起来,利用Blender制作逼真的皮肤材质效果需要注意模型的拓扑结构、材质的设置、节点的运用以及纹理和特效的添加等。

通过不断的学习和实践,你将能够掌握这些技术,并创作出令人震撼的皮肤效果。

PS制作Flex皮肤

PS制作Flex皮肤

PS制作Flex皮肤本文主要介绍了如何通过使用Photoshop CS4创建Adobe的Flex应用程序的外观CS3。

同样的,如果你比较熟悉Adobe Flash, Adobe Illustrator, and Adobe Fireworks 这些adobe 公司的开发工具,一样可以利用这些工具的插件开发flex应用程序的皮肤。

这里重点讲解一Acrobat 文档个ps 的用法。

更多资料请参阅首先我们讲解下皮肤的定义。

关于皮肤Skining通过修改或替换的可视元素的过程中,改变一个组件的外观。

这些元素可以由位图图像、SWF文件或包含绘图方法定义的类文件或矢量图像。

皮肤可以为在各种状态下的组件定义的整个外观,或只有一部分的外观。

例如,Button控件有8个可能的状态,和8个相关的皮肤属性,如下面的示例:默认外观的up,over和down状态显示如下:A. upB. overC. down其他控件也有类似的状态与相关的皮肤。

例如,RadioButton是Button的子类,也有up,over和down skins。

ComboBox控件定义皮肤时,它的外观的控制是disabled, down, and over。

皮肤类型我们通常会定义一个皮肤位图图形或为矢量图形。

位图图形的缺点是,它通常是定义特定的分辨率,如果您修改图像缩放或转化的,你可能会注意到一个退化图像质量。

一个矢量图形,由一组线的定义指定的起点和终点的一条线,它的厚度、颜色,以及其他信息需要由Flash Player划清界线。

当一个矢量图形缩放,旋转,或修改在一些其他的方式,它是相对简单计算为Flash Player新的布局,矢量图形转换线定义。

因此,您可以执行多种类型的矢量图形的修改却没有任何质量退化。

程序化的皮肤的一大优势是,你可以用程序代码创建矢量图形。

例如,您可以开发程序化的皮肤Flex的创作环境或任何文本编辑器,而不使用图形工具,flash倾向于使用更少的内存,因为它们不包含任何外部图像文件。

简单皮肤制作

简单皮肤制作

一、文字DOCK皮肤今天要教大家的是上图的简单文字DOCK!!SHOWTIME! PRESENT!首先介绍这个简单文字DOCK皮肤的组成请仔细分析,本皮肤由两个元素构成,1是背景图片(背后那个透明的条,那是一张PNG格式的图片)2是DOCK文字因此在皮肤代码中我们需要用到两种节点,分别是图片节点和文字节点。

顺便说一句,节点就是你点开编辑皮肤之后那些[....]方框里的东西,一个方框也就是一个节点。

本DOCK看上去有一个图片节点,和六个文字节点。

怎么写代码来表达呢?我们先不管它。

先教你们建立自己的皮肤文件夹:1.进入Rainmeter皮肤文件夹也就是Skin大概在这个位置,里面有你自己的皮肤,现在你在这里新建一个文件夹,叫做文字DOCK 教学,然后点进去。

我在里面放了一个叫做“玻璃白条5细.PNG”的图片素材,也就是我们用作背景的玩意儿。

新建一个记事本命名为“文字dock教学.ini”。

注意,后缀一定要改成ini,不能直接用txt后缀!!!2.点开你的ini,开始敲代码第一行写上[Rainmeter]第二行写上Update=1000第三行写上;作者=000第四行写上[Variable]为啥这么写?你怎么问这么多!!!反正你先这么写就对了!解释下为啥这么写,这几句代码雷打不动,必须写上去,事实上可以不写但是为了规范,不写的都拉出去宫刑!下面给解释,我的解释非常不专业,但有用。

[Rainmeter]这个节点应该是总管节点,反正就是屌,必须写后面的Update是总刷新率,1000表示1000毫秒,也就是1秒,表示你的雨滴每隔1秒更新一次数据,不要问是什么数据因为我也不知道。

你可以自己设定你的刷新率。

;作者=000这句话表示作者的名字,事实上雨滴里有个AUTHER还是什么的来直接表示作者,拼不出来,我就用中文了。

请注意:本行为无效代码,因此请在前面加上;加上;的意思就是表示这句话不是代码,雨滴你别看!!!最后一行[Variable]很重要!这是你写进阶皮肤所必须的,这一行叫做变量你现在的皮肤用到的元素非常少,不需要用变量。

RM-4-RM皮肤制作入门

RM-4-RM皮肤制作入门

Rainmeter皮肤制作入门皮肤编写须知所有皮肤都放置在皮肤文件夹中。

所有的皮肤文件都必须放在skins文件夹的子文件夹下面,而且你可以建立多层子文件夹。

实际的皮肤文件是一个普通的.ini文件,利用几个节点定义了皮肤的布局和一些值。

一个皮肤的文件夹可能包含几个.ini文件,但每个文件夹只有一个.ini文件可以处在活动的状态,我们称一个皮肤的所在的文件夹的名称为这个皮肤的config(配置),所有的皮肤文件只是配置下面的一个个皮肤而已,你可以这么理解每一个配置是一个有特定功能的软件,这个软件下面可以选择皮肤来表现自己。

皮肤即.ini文件,它被分为几个部分。

所有的一般性设置会放在[rainmeter]部分,详细信息将被放入[Metadata]节点,变量放在[variables]节点下面。

然后剩下的measure(用来收集检测数据的)和meter(用来显示数据的)。

上面的所有的节点的顺序可以自己随意编写,没有固定的约束,但是通常来说大致编写皮肤的顺序是[rainmeter]->[metadata]->[variables]->[measure]->[meter]注意的一点是:meter编写的顺序是十分重要的, 编写顺序是按照从上到下,meter显示从里到外(也就是说呢,如果两个meter坐标相同,那么代码在下方的meter会覆盖代码比较靠上的meter),还有meter和measure的名称是可以自己定义的.另外说明一点的是[rainmeter]节点以及[metadata]和[variables],[measure]节点都可以不写.一个皮肤可以只有一个[meter]节点.[rainmeter]节点简要说明这个节点定义了整个皮肤操作范围内的选项(简而言之就是在整个当前皮肤中起作用,相当于全局的设定)改变图片遵循下面的步骤: imagecrop -> greyscale ->imagetint ->imageflip ->imagerotate. Background设定meter的背景图片的名称Backgroundmode定义了背景样式,可识别的值如下:0-定义背景图片1-透明的(这个是默认的,如果没有定义背景图片的话)2-纯色(定义这个之后默认是淡淡的灰色,你可以定义solidcolor来改变背景色) 3-缩放的背景图片(一个皮肤的背景相当于一个舞台或者一个画布,你要把这个同在meter里面定义的图片区分开来,在rm里面背景区域是不能人工的在[rainmeter]节点下面定义宽和高的,它的大小随着下面定义的meter的大小而变,那么这里所谓的缩放背景图片随着也会下面的meter显示的区域而改变大小) 4-平铺背景图片Solidcolor当backgroundmode=2的时候,用来定义背景颜色.Update为meter和measure设定了更新周期,单位是毫秒,默认是1000就是1秒,设定为-1的话那么就不会更新皮肤了,那么它只有在皮肤加载或者皮肤刷新的时候才会更新.Meter类型节点简要说明Meters在Rainmeter里面的作用是告诉它如何显示信息用的一系列节点的统称,每个节点的名称都必须是独一无二的,而且必须用”[“和”]”括起来.只要没有空格它不介意你怎么定义meter的名称,而且除了meter节点所在的ini文件之外的文件这些meter将不起作用。

我的世界皮肤操作方法

我的世界皮肤操作方法

我的世界皮肤操作方法
操作"我的世界"的皮肤需要经过以下步骤:
1. 打开"我的世界"游戏。

2. 在主菜单界面上选择"皮肤"选项。

3. 这将带您到皮肤选择界面。

4. 选择一个皮肤模板,如"经典"或"自定义"。

5. 如果选择"经典"模板,您可以选择一个预先设计好的皮肤。

6. 如果选择"自定义"模板,您可以自己设计和编辑皮肤。

7. 在编辑界面上,您可以选择头发、面部特征、身体服装等不同部分,以及选择颜色和纹理。

8. 点击每个部分来调整其外观。

9. 在编辑完皮肤后,点击保存按钮。

10. 返回到主菜单界面,您将看到您选择或自定义的皮肤已经生效。

请注意,您可能需要购买"我的世界"的皮肤包或使用特定的游戏版本才能使用皮肤功能。

此外,一些特定游戏平台或版本可能会有额外的操作步骤或限制。

最好根据您使用的"我的世界"版本和平台查找相应的详细操作指南。

逼真的皮肤效果制作指南 Blender皮肤材质和次表面散射技术

逼真的皮肤效果制作指南 Blender皮肤材质和次表面散射技术

逼真的皮肤效果制作指南:Blender皮肤材质和次表面散射技术在数字艺术领域中,逼真的皮肤效果对于人物角色的真实感至关重要。

为此,在Blender软件中,我们可以利用皮肤材质和次表面散射技术来实现令人惊叹的皮肤效果。

本文将为您介绍Blender中如何制作逼真的皮肤材质和运用次表面散射技术的技巧。

1. 皮肤材质的创建首先,在Blender中创建一个新的材质。

选择一个适合的节点类型,例如Principled BSDF节点。

这个节点将帮助我们控制皮肤表面的不同属性。

2. 肤色调整从基础材质开始,我们需要选取一个适合的肤色。

通过调节RGB 值,我们可以实现不同肤色的效果。

此外,通过在节点设置中选择正确的色彩空间,也可以增强肤色的真实感。

3. 表面细节添加现在,我们可以通过添加节点来制作皮肤表面的细节。

使用天然纹理节点或者噪音节点可以为肤色增加细微变化,使皮肤看起来更加真实。

调整节点的细节参数,例如颜色、几何细节和变化密度,以达到所需的效果。

4. 微表面反射调整现实世界中的皮肤通常具有微细的反射。

为了模拟这个效果,在材质节点中添加微表面反射。

通过调整反射的强度、粗糙度和颜色,可以使皮肤看起来更加光滑,增加真实感。

5. 添加次表面散射效果最重要的一步是利用次表面散射技术,实现皮肤在不同光照条件下的传递效果。

在材质节点中,添加一个SSS (Subsurface Scattering)节点。

根据皮肤类型和色调,调整散射节点的参数,例如颜色、强度和半径。

通过改变这些参数,可以模拟不同皮肤类型和特征的效果。

6. 照明设置完成皮肤材质的调整后,为了获得逼真的效果,合适的照明设置是必不可少的。

在Blender中,您可以使用不同类型的灯光,如点光源、聚光灯和环境光等。

通过调整灯光的强度、颜色和位置,您可以获得不同的皮肤表现效果。

7. 渲染和后期处理最后,在Blender中进行渲染,并进行后期处理以提高图像的质量。

您可以使用不同的渲染引擎和设置来获得最佳结果。

《我的世界皮肤制作器》DIY自己的MC皮肤

《我的世界皮肤制作器》DIY自己的MC皮肤

《我的世界皮肤制作器》DIY自己的MC皮肤
由fyy77543于07-21 发表
我来测评《我的世界皮肤制作器》(MC Skin Editor)大家看到这款软件的名称是不是很激动呢!没错,这款就是你寻找已久,期待已久的,梦寐以求的MC皮肤自己DIY的神奇软件!绝对真实,不会有假!真的可以自己制作皮肤!而且这种神器,不要998,不要998,免费下载!免费下载!免费下载!(很重要所以我说了三遍)不过你只需要轻轻切换一下美区........
下载完后,我们进入软件就是以下界面,
可以随时进行更改。

建立空白档案就不用多说,这里给大家看看制作界面
例如头这里就需要对头的四面八方进行图画
预览,预览时可以对像素人摆各种姿势
对于"在基础素材上建立",我们可以选择基础的皮肤来进行改装
作的皮肤来进行改装,比如试试搜索"spiderman","hulk","bear"等等别慌,重要时刻就来了,这就是如何将你制作的皮肤弄到MC游戏里去,看见制作界面那个云端的图标了吗,对就是它!!!把你的皮肤保存到云端里去(在保存之前请在主界面的下拉菜单的设置里登陆你的微软账号),然后在OneDrive里你就会看见你的皮肤。

将他们下载到"图片"里,你的相册里就会有你的皮肤了,然
后在Minecraft的皮肤设置里选择自定义就OK了
现在就可以在你的游戏里享受你自己的皮肤了!联机模式里向朋友炫耀吧!某卓用户好像是下不到这个应用的哦(至少笔者朋友的卓手机下了后显示文件已损坏),而且好像苹果商店是要钱的哦(笔者未有查实,只是听朋友说的)。

快去切换下区域下载吧!小编我期待明天的每日推荐上面有它哦!快来膜拜。

我学院:3dmax Skin蒙皮流程详解

我学院:3dmax Skin蒙皮流程详解

学游戏就上我学院3dmax Skin蒙皮流程详解使用3ds max 8 的skin修改器的蒙皮流程1 首先在max 窗口中根据角色的位置,建立Bipe 骨骼。

2 在动画面板中设置bipe 的各项参数,使其与角色匹配。

学游戏就上我学院注意,要在bipe的figure 模式下设置bipe 参数。

3 在Front 和Right 视图中将bipe 对齐角色的四肢和关节。

学游戏就上我学院学游戏就上我学院小技巧:可以将角色模型用半透明显示(Alt+X)后,然后冻结模型,这样方便bipe 对齐。

学游戏就上我学院学游戏就上我学院4 完成bipe 对齐后,一定要退出figure 模式。

5 为角色模型添加skin 修改器学游戏就上我学院6 在封套参数卷展中,点击Add 按钮,添加bipe 作为模型的骨骼。

7 小技巧:选择所有bipe,右键进入属性设置。

将bipe 都改成用box 显示。

这样可以方便后面的学游戏就上我学院bipe 动作姿态调整。

学游戏就上我学院8 单独显示角色,在Envolope(封套)层级下,对bipe 骨骼产生的封套进行设置。

9 下面是几个重要封套的设定示意图,请参考。

头部封套学游戏就上我学院锁骨封套上臂封套学游戏就上我学院前臂封套手部学游戏就上我学院胸部spine2 封套学游戏就上我学院盆骨封套大腿封套学游戏就上我学院小腿封套脚跟封套学游戏就上我学院前脚掌封套10 现在把封套镜像到另外一边,因为我们只设定了身体一半的封套。

学游戏就上我学院11 我们先对bipe 设置一些肢体变化的极限动作pose,以便我们观察蒙皮效果。

学游戏就上我学院12 这时我们再显示角色模型,可以看到现在的蒙皮效果很糟糕,因为随着肢体的运动,关节处的模型变形扭曲严重。

需要进一步调整封套对点的权重影响。

学游戏就上我学院13 通过不断的调整封套权重,关节的变形效果比较满意。

具体的封套的权重调整步骤,请参考课堂的教师示范。

14 在对每个关节的点进行调整得到合理的关节模型变形后,蒙皮工作结束。

MFC使用Skin++美化皮肤

MFC使用Skin++美化皮肤

MFC使⽤Skin++美化⽪肤查了好⼏天关于MFC应⽤程序换肤的资料,经过各种莫名其妙的问题的困扰,现分享⼀下⾃⼰的体会。

希望可以避免⼀些弯路。

另外会在附上⼀些资源。

环境:Windows 7 + VS2012 + SkinSharp(注:Skin++、USkin、SkinMagic ⽤法相同)1. 新建⼀个⼯程(⼯程名:Demo)(⽐如⼀个基于对话框的MFC程序)如图所⽰,注意不要勾选Use Unicode libraries ,否则可能会出现以下错误:见图2. 添加相关⽂件(.h .lib .dll 以及⽪肤⽂件)下⾯就以SkinSharp、Skin++、USkin、SkinMagic中的⼀种(SkinSharp)进⾏⽰范,其他三种的操作基本是⼤同⼩异。

如图将SkinH.h和SkinH.lib⽂件导⼊⼯程⽂件的⽬录中,如下图所⽰:请注意VC++6.0和VS2012下⼯程⽬录的不同之处,应该是Demo->Demo⽂件夹下(Demo是⼯程名),然后加⼊⼯程的Header Files下:3. 添加必要的代码3.1 在stdafx.h中添加#include "SkinH.h"#pragma comment(lib, "SkinH.lib")如图:在BOOL CDemoApp::InitInstance() 函数下写SkinH_Attach();这句语句是加载默认的⽪肤⽂件:skinh.she3.3 试着编译⼯程,产⽣Debug⽂件(或者Release⽂件)将以下⽂件放⼊Debug⽬录(⼯程根⽬录下的Debug⽂件夹)中如图:3.4 再次编译⼯程即可看到换肤的效果:(添加的是只是skinh.she⽪肤⽂件)3.5 实现更“⾃由”的换肤将SkinH_Attach(); 改为下句SkinH_AttachEx("../Debug/Skins/Green.she", NULL);运⾏效果如下:3.6 如果出现缺少SkinH.dll,就将该⽂件再放到C:\Windows\System32和C:\Windows\SysWOW64⽂件夹下,然后重新编译运⾏就可以了。

用SkinMagic工具包创建换皮肤程序

用SkinMagic工具包创建换皮肤程序

⽤SkinMagic⼯具包创建换⽪肤程序⽤SkinMagic⼯具包创建换⽪肤程序如何使⽤:①下载SkinMagic的开发包,我⽤的开发包需要下⾯⼏样东西:SkinMagicLib.lib,DETOURS.lib 两个库⽂件;.smf⽂件(⽪肤⽂件);还有个SKinMagicLib.h⽂件;这些就⾜够了(SkinMagicLib.lib 1199kB 的据说经处理不会显⽰[Powered by SkinMagic],但我这⾥⽤着会产⽣问题,不得已还是⽤了998kB的)②新建⼯程后,将SkinMagic包中的SkinMagicLib.h、SkinMagicLib.lib、DETOURS.lib拷贝到所在⽂件夹下,点击Project->Add To Project->Files,包含到⼯程中。

(SkinMagicLib.h、SkinMagicLib.lib 可以直接放在⼯程⽂件中,DETOURS.lib和.smf ⽪肤⽂件可以放在res⽂件夹中)③在Resource View中点击Import 菜单引⼊⼏个Skin⼆进制⽂件放在相同的“SKINMAGIC”⽂件夹下,分别给起⼀个名字(见源程序)。

(4) 在stdafx.h中加⼊#include "SkinMagicLib.h"#include // MFC support for Windows Common Controls#endif // _AFX_NO_AFXCMN_SUPPORT#include "SkinMagicLib.h"//{{AFX_INSERT_LOCATION}}(5)打开以你⼯程名字命名的CPP⽂件,在⾥⾯的InitInstance()函数⾥,单⽂档在if (!ProcessShellCommand(cmdInfo)) return FALSE;这⼀句的后⾯加上更换⽪肤的关键代码:/***********************换肤代码*********************************/VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), NULL , NULL, NULL ) ); //初始化类库VERIFY( 1 == LoadSkinFromResource( AfxGetInstanceHandle() , "KROMO" ,"SKINMAGIC") );//从资源中加载⽪肤VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" )); //对话框这句可不也可以放着VERIFY( 1 == SetDialogSkin( "Dialog" ) );//m_pMainWnd->ShowWindow(SW_SHOW);//m_pMainWnd->UpdateWindow();/**************************************************************/其中,第⼆句的作⽤是更换⽪肤资源;(本来还有另外⼀种换肤的途径,直接从⽂件读取,不需要引导资源,更加简洁,但是这样⼦直接运⾏exe⽂件会出现问题,百思不得其解,只有舍弃)(5)让你的程序更进⼀步,在菜单栏中添加更换⽪肤项⽬,只需要在它的相应函数中写⼊:VERIFY( 1 == LoadSkinFromResource( AfxGetInstanceHandle() , "KROMO" ,"SKINMAGIC"),就可以实现换肤的功能了,当然这⾥"IDR_Devior"需要换成你想更换⽪肤资源的ID;(6)我在实际运⾏的时候发现了⼀个问题,编译时只能选择MFC共享的DLL,如果⽤动态的库链接则会出现问题,好像是说库与库之间命名冲突之类,可能是SkinMagicLib库的问题,我找了很多SkinMagicLib的库,试了很多遍都没有办法解决,只有在编译时注意⼀下,选择MFC共享的DLL;(7)在MainFrame中加⼊换⽪肤菜单,及相应的函数,在函数中加载⽪肤。

制作逼真的皮肤材质的Blender教程

制作逼真的皮肤材质的Blender教程

制作逼真的皮肤材质的Blender教程皮肤是人物建模中最重要的一部分,制作逼真的皮肤材质将使我们的人物模型更加栩栩如生。

在Blender软件中,我们可以使用一些技巧来制作逼真的皮肤材质。

本教程将向你展示如何使用Blender的材质节点来实现这一目标。

首先,我们需要打开Blender软件并导入我们的人物模型。

选择你的人物模型并进入“编辑”模式。

确保模型的UV贴图已正确制作,它将决定皮肤纹理的分布。

接下来,我们需要创建皮肤材质。

进入“材质”选项卡,并点击“新建材质”来创建一个新的材质槽。

将其命名为“皮肤”。

在节点编辑器中,我们可以将各种节点连接起来以创建复杂的材质。

在这里,我们将使用几个特定的节点来制作逼真的皮肤材质。

首先,我们需要添加“Diffuse(漫反射)”节点,它将决定皮肤的基本颜色。

调整“Diffuse(漫反射)”节点的颜色属性,以匹配你想要的皮肤颜色。

接下来,我们需要添加“Glossy(光泽)”节点,这将模拟皮肤的反射特性。

将“Glossy(光泽)”节点的属性设置为合适的值,以使皮肤看起来有光泽和光滑。

此外,我们还需要添加“SSS(次表面散射)”节点,以模拟皮肤更真实的反射效果。

调整“SSS(次表面散射)”节点的属性,以使皮肤看起来有透明感和柔和的光散射效果。

最后,我们可以添加一些额外的节点来增加细节和纹理。

例如,使用“Bump(凹凸)”节点来模拟皮肤的皱纹和纹理。

完成所有的节点调整后,我们可以预览我们创造的皮肤材质效果。

点击“渲染”选项卡,然后点击“渲染”按钮。

Blender将渲染出一个预览图像,你可以查看你的皮肤材质在实际情景中的效果。

如果你对皮肤材质的效果不满意,可以回到节点编辑器中继续调整参数,直到达到你想要的效果为止。

总结一下,制作逼真的皮肤材质需要使用Blender软件的节点编辑器来调整材质的属性和效果。

通过合理地使用“Diffuse(漫反射)”、“Glossy(光泽)”和“SSS(次表面散射)”节点,以及添加适当的细节节点,我们可以轻松地创建出逼真的皮肤材质。

SkinMagic使用详解

SkinMagic使用详解
如果只有Tab控件皮肤而没有Header的皮 如果只有Tab控件皮肤而没有Header的皮 肤。在实践中发现当鼠标滑过Tab控件时, 肤。在实践中发现当鼠标滑过Tab控件时, 窗体闪烁的厉害。
菜单栏自定义加皮肤的方法
皮肤文件中定义菜单栏的背景 皮肤文件中定义popupmenu的皮肤 皮肤文件中定义popupmenu的皮肤 调用SetWindowSkin给窗体加皮肤 调用SetWindowSkin给窗体加皮肤
给菜单加载图片
int __stdcall SetWindowMainMenuImage( HWND hWnd , MENUIMAGEINFO* pMenuImage, UINT nCount , HIMAGELIST hImageList , HIMAGELIST hHotImageList, HIMAGELIST hDisabledImagelist );
给快捷菜单添加图片
BOOL __stdcall TrackSkinPopupMenuEx( HMENU hMenu, LPCTSTR lpSkinName, UINT uFlags, int x, int y, HWND hWnd , MENUIMAGEINFO* pMenuImage, UINT nCount , HIMAGELIST hImageList , HIMAGELIST hHotImageList, HIMAGELIST hDisabledImagelist );
例:VERIFY( 例:VERIFY( 1 == SetSingleDialogSkin(this->GetSafeHwnd(), SetSingleDialogSkin(this_T("Dialog") ) ); m_list.SubclassDlgItem(IDC_LIST1,this);

dUP皮肤设计详细教程

dUP皮肤设计详细教程

dUP皮肤设计详细教程(图文)作者:timerdUP全称:diablo2oo2's Universal Patcher简介:一款极佳的文件补丁工具,可以进行自由定制.程序主要功能:1.支持搜索与替换多字节模式2.可通过比较功能创建偏移量补丁[Raw 偏移量和虚拟地址]3.环境变量,注册表补丁,附加文件补丁4.可以激活CRC32校验5.创建加壳[UPX;FSG;ASPACK]目标的补丁6.可以用你喜欢的壳来压缩补丁7.可以创建 Loader8.支持自定义图标与对话框9.支持XM,IT,S3M,MOD等音乐文件的播放亮点:除了打补丁的手段众多外,那就是皮肤也可以DIY.还在使用自带的皮肤么?还在使用千篇一律的style么?跟我来,教你如何打造个性的skin.1.认识patch的资源dUP生成的补丁程序外观都是皮肤资源(res)控制的,程序自带了一些皮肤,一般在目录skins下面.2.如何编辑皮肤资源(res)文件能编辑res文件的程序很多,比如:Resource Hacker,Restorator等等..3.使用工具编辑皮肤资源(res)下面以Unpack一款皮肤资源做例子.(使用工具:Resource Hacker 3.4) /viewthread.php?tid=18771界面如下:图1用RH(Resource Hacker简称)打开res文件,如图2第一行是位图,就是bmp图片,里面放的是程序调用的bmp,如图3菜单-操作-替换位图-如图4菜单-操作-增加一个新资源-找到bmp位图,如图5我这里资源名称命名为:UPK,然后就增加进去了,如图6就这样,把位图增加完成,后面讲怎么调用位图资源.第二行是图标,就是程序图标的不同分辨率下面的个别显示.(不用修改,需要更改ICO图片,直接在下面的图标组更改即可)第三行是界面资源(对话框)如图7为了美观程序,我们就先来说调用bmp.在出来的预览对话框上门点击右键,选择[插入控件] 出来对话框,如图8a.点击图片上门的标识点.b.出来,如图9对话框,这里的标题行填入我们刚刚增加的新文图资源UPK,其他默认点确定.c.如图10,BMP资源已经现在在对话框上面了,点击BMP图片移动到理想位置即可.就这样位图资源增加好了.下面看其他对话框.同理,可以拖动右下角边缘调整对话框大小长度等.在对话框里面的那些按钮,如同拖动bmp资源可以拖到理想位置. 如图11.就这样,界面完全可以自定义了.界面上面的按钮也可以自己增加,如图12我这里增加了一个test按钮,注意看代码资源.如图13因为我们增加的一个新按钮,是一个未完成的按钮而已,只是显示在对话框上面的按钮,还没有起作用,要为它'连接'上资源句柄才行.按钮资源代码如下:CONTROL "test", 0, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 130, 74, 51, 14其中test就是显示的名称,跟着就是'连接'的资源句柄了,这里是0,BUTTON是资源类别,后面是按钮的风格,最后4个数字是按钮的坐标了.想让它具有功能,只要把它连上有效的资源即可.我这里改成CONTROL "test", 109, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE |WS_TABSTOP, 130, 74, 51, 14这里的'109'是调出的关于对话框..新按钮就具有about按钮的功能了.其他按钮操作如同.资源句柄 直接看资源代码就能找到.格式如同,名称后跟的就是资源句柄. 除了增加位图,按钮之外,还可以增加文本,下拉菜单,日期等等新资源.删除资源操作如下:点击需要删除的资源右键,选择"删除控件"即可.资源都附带了额外的风格.不同风格就不同的显示效果.大家自己找喜欢的. 第四行是图标组,如图14.可以用自己喜欢的ICO图标直接替换,上文已经讲述替换方法了.最后保存res文件即可,打开dUP主程序,如图15.最后就是界面配合颜色,生成完全属于自己的个性Patch了..进阶:打造独特的界面形状.dUP可以定制界面形状,需要调用RGN文件.这里就用到一个制作RGN文件的程序RGNCreator,它可以根据 输入的图片来确定外观形状.如图16我这里有个例子,如图17图17中,除去深绿色就是我们需要的个性界面了..这里介绍下RGNCreator程序功能,界面形状必须根据一个图片生成,图片中含有你需要的个性外观,还有一种特有的颜色,这个颜色不能和需要的外观颜色相同,这个特有的颜色是程序隐形的颜色,我这个图片是深绿色.打开程序RGNCreator,导入图片,点击Pick按钮,在出来的对话框中,右键点击要隐藏的颜色,然后确定.最后点击CREATE生成RGN文件.在dUP中直接调用RGN文件,即可...最后说明:制作RGN文件的图片要和程序界面的位图相同.这样才好处理,才有效果. 附带一张处理过形状的效果,图18到这里就差不多了,最后附带一些制作skin的"焦点".bmp位图制作,程序不是所有的位图都能识别,所以大家要测试下能否显示.我一般用ps作图,怎么把其他格式图片转换成bmp文件..打开ps程序,导入需要转换的图片,然后另存为(选择BMP格式)输入文件名,然后会出来个选项,点击高级选项,如图19,我一般选择16位,第一行.这样位图体积小,又能调用,画面也不错.位数和体积成正比.位图体积一般相对其他图片格式较大,不过放心,位图压缩率相当高,patch最后用 压缩壳处理下就变小了.按钮不光可以使用传统的,还可以使用位图做按钮(位图做的比较好看,主要是和界面搭配),下面dUP程序内部调用的名称(必须该名称)主要界面对话框中调用名称:BTN_PATCH_UP 界面上直接调用这个名称(Patch按钮)BTN_PATCH_DOWNBTN_PATCH_OVERBTN_ABOUT_UP 界面上直接调用这个名称(关于按钮)BTN_ABOUT_DOWNBTN_ABOUT_OVERBTN_EXIT_UP 界面上直接调用这个名称(退出按钮)BTN_EXIT_DOWNBTN_EXIT_OVER关于界面对话框中调用名称:BTN_ABOUT_OK_UP 界面上直接调用这个名称(关于按钮)BTN_ABOUT_OK_DOWNBTN_ABOUT_OK_OVER推荐制图程序:Photoshop 9+ CS(网上很多绿色版本,百度搜索下载) Res编辑程序:Resource Hacker,Restorator 前者编辑资源很方便, 后者替换资源很方面,论坛也有,搜索下载.ICO图标程序:IconXP(功能强大,体积小巧,可直接导入输出ICO图标) XM等音乐:在搜索论坛,有很多.支持大家都自定特别,个性,另类的skin,特别是经常用patch的,在skin方面,外国的Crack.0day组织走在前面,欢迎大家无限创意.附加资料:原文地址(网页版):/viewthread.php?tid=42790 UPK-dUP皮肤设计大赛参赛作品(大家可以参考下res)DUP 皮肤设计大赛参赛皮肤:水墨花鸟2 By GUC/viewthread.php?tid=42918 DUP 皮肤设计大赛参赛皮肤:QQ By GUC/viewthread.php?tid=42858 dUP皮肤设计大赛作品-PT by.timer/viewthread.php?tid=42871 dUP皮肤设计大赛作品-2.5D.dot by.timer/viewthread.php?tid=42870技术支持: [UpK软件安全社区]二〇〇九年十一月二七日20点30分 夜(微风)。

千千静听皮肤制作全教程

千千静听皮肤制作全教程

千千静听皮肤制作全教程千千静听(以下简称"千千")从2.0版开始就支持换肤功能,现在已经有不少皮肤可以和Winamp相媲美了,不过由于千千暂时不支持png图片格式及脚本,因而效果是无法和Winamp的现代皮肤或Windows Media Player的皮肤相比的。

但千千的皮肤制作起来却要简单许多,不需要任何编程知识和复杂的技术,只要掌握基本的图像编辑操作(Photoshop)和有足够的耐心(Patient)就可以做出漂亮的皮肤出来,看完下面这个教程相信你也可以为千千设计一款个性十足的精美皮肤!一.皮肤构造千千的皮肤位于安装目录下的Skin文件夹内,扩展名可以为.skn或.zip,实际上二者是一样的,都是zip格式的压缩文件。

对于前者,可以先将.skn的扩展名改为.zip(要在系统中显示文件的扩展名,依次点击"工具"-"文件夹选项"-"查看",再把"隐藏已知文件类型的扩展名"前的小勾去除即可),然后将其解压到单独的文件夹,进入该文件夹,可以发现里面包含了许多bmp格式的图片和若干个xml文件,其中最重要的是Skin.xml这个xml文件,其它几个xml文件的作用在后面会提到。

bmp图片是各个窗口的背景及按钮图片,Skin.xml则是配置文件,定义了皮肤的基本信息、窗口及按钮的位置、大小等,它是基于XML格式的文件,可直接用系统自带的记事本或者其它文本编辑工具打开,打开后我们可以看到其基本构造:<skin version="2" name="..." author="..." url="..." email="..." transparent_color="..."><player_window image="...">...</player_window><mini_window image="...">...</mini_window><lyric_window position="..." resize_rect="..." image="...">...</lyric_window><equalizer_window position="..." image="…" eq_interval="...">...</equalizer_window><playlist_window position="..." resize_rect="..." image="...">...</playlist_window></skin>仔细分析可发现每一行都是以"<"开头,最后以">"结尾,中间有若干项和参数,可以将它们分为两种类型,第一种结构形如:<XXX AAA="aaa" BBB="bbb"></XXX>像XXX这样的项称作元素,AAA、BBB这样的项称作属性,aaa、bbb则是属性的参数值。

教你怎样用SkinMagicBuilder制作皮肤

教你怎样用SkinMagicBuilder制作皮肤

教你怎样用SkinMagicBuilder制作皮肤椐我所知,设计软件皮肤好像从来不是程序员擅长干的工作。

不过我也调查过,很多程序员朋友对皮肤的制作还是满有兴趣的。

在这个部分,我专门用我制作的一个软件皮肤为例,从头到尾的给你讲解一遍。

其中包括皮肤的画法,皮肤的定制和皮肤的嵌入。

如果你有兴趣,那么就跟着我来做一个皮肤试试吧!工预善其事,必先利其器。

我们先谈谈制作皮肤需要的工具吧。

首先我使用的编程语言是VC++,所以皮肤的嵌入软件,自然也选定是专门制作给VC++的了。

我使用的这个软件叫做SkinMagic,有很多朋友通过各种途径得到过这个软件。

不过这个软件是个共享软件,而且每一个注册码对应一个软件皮肤,收费高达89美元(我曾经买过几个,吐血!),但是确实非常好使。

其实就我所知,很多共享软件的作者都使用这个软件(而且也曾经跟我一样吐过血~)。

用它作为皮肤的嵌入软件的原因当然是非常地容易制作啦。

(现在已经有破解版本了)有了这个工具之后我们还要面有PhotoShop(以下简称PS)来进行皮肤主体的勾画。

我还要说的是颜色搭配。

在这个例子中,因为我很喜欢橙色,所以自然选择橙色作为主体颜色,那么什么颜色能和橙色放在一起比较漂亮?这是问题的关键,我很幸运,著名的NIKE公司的LOGO为我很好的解释了这个原理。

不难看出灰色,黑色,还有白色都是和橙色很好的搭配在一起,所以我们就选择这几个颜色作为皮肤的制作颜色!好了,开始实战!第一步,轮廓与着色首先,打开你的PS,新建一个文件,宽度为495,高度为406,分辨率为72。

然后点击图层菜单,新建图层背景。

接着在工具栏里点击油漆桶工具,选择颜色为R=255,B=0,G=255。

用油漆桶工具填充背景。

我们这样做的目的是填充一个固定的背景色,你看过电影的特技拍摄吧,后面放了一幅大蓝布,然后演员在那里摆POSE,最后再用电脑合成。

一个道理,我们也是这样,只不过我们放的是一块大粉布,哈哈。

关于皮肤

关于皮肤
二、SkinMagic 2.0B1的下载版本是TRAIL版,编译后运行的提示框很讨厌,破之!!
////
不明白他强调的是什么弹出的对话框,因为我一直没有看到有什么要注册的对话框出现,无论是原来的skinmagiclib.lib还是破解的skinmagiclib.lib
VC最简单的皮肤控件2008-06-12 11:46目前网上SkinMagic的破解版有三种,一种是1.0的,第二种是2.01的,还有一种是2.21的。1.0版有一个比较大的Bug,在列表控件上无法显示中文。而2.21版就太复杂了,有四个不同的库,因此推荐使用2.01版。
m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
m_internetexploret.SetVisible(TRUE);
备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:
1.在VC中插入WebBrowser控件,并产生相应的包装类
GuiToolkit(开源,mfc扩展框架)
/default.htm
2.声明一个类变量,可用ClassWizard的变量映射来进行。
3.在程序中指定URL地址后进行打开WEB页,如下代码:
VARIANT vInfo;
vInfo.vt=VT_EMPTY;
m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
NULL,
NULL ) );//Demo字样可以随意修改
VERIFY( 1 == LoadSkinFile("corona.smf") ); //皮肤文件只要在同一目录下就行。如果没有

如何在Blender中制作逼真的人物皮肤

如何在Blender中制作逼真的人物皮肤

如何在Blender中制作逼真的人物皮肤在Blender中制作逼真的人物皮肤是一项常见的任务。

本文将为你展示一些使用Blender的技巧和步骤,帮助你在建模过程中创建逼真的人物皮肤。

首先,我们需要准备一个合适的人物模型。

你可以使用Blender自带的基础模型,或是在网上下载一个适合的模型。

确保模型的拓扑结构合理,以便后续添加皮肤材质时能够自然地贴合。

接下来,我们需要为人物模型添加一个材质。

在材质选项卡中,你可以选择一个皮肤材质预设,或者从头开始自定义。

如果你想从头开始,可以使用Principled BSDF节点来控制材质的各个属性。

首先,我们来设置基础颜色。

在Principled BSDF节点中,将Base Color连接到Diffuse节点,然后调整颜色以匹配你想要的肤色。

通过调整Diffuse节点和Base Color节点的值,你可以获得不同类型和肤色的皮肤。

接下来是反射性和粗糙度。

在Principled BSDF节点中,将Specular连接到Glossy节点,然后调整Specular和Roughness的值。

这将控制皮肤的光泽度和反射性。

较高的Specular值会增加皮肤的反射光,而较高的Roughness值会使皮肤看起来更加粗糙。

继续调整Subsurface属性。

Subsurface属性控制皮肤内部的散射,使其看起来更加逼真。

你可以通过调整Subsurface节点的值来达到你想要的效果。

较高的值会增加皮肤的散射效果,使其看起来更加柔和。

此外,你还可以添加一些细节纹理来增加皮肤的逼真度。

在纹理选项卡中,你可以导入自己的纹理图像,或者使用Blender自带的纹理预设。

通过添加皮肤纹理,你可以在皮肤上创建细微的细节,如皮肤毛孔、斑点和血管。

最后,通过添加适当的光照和环境设置来增强皮肤材质的逼真程度。

在场景选项卡中,你可以调整环境光照、阴影和反射等参数,以获得更好的效果。

总结一下,在Blender中制作逼真的人物皮肤需要注意以下几个方面:1. 基础颜色的调整:通过调整材质的基础颜色,使其匹配你想要的肤色。

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

教你怎样用SkinMagicBuilder制作皮肤椐我所知,设计软件皮肤好像从来不是程序员擅长干的工作。

不过我也调查过,很多程序员朋友对皮肤的制作还是满有兴趣的。

在这个部分,我专门用我制作的一个软件皮肤为例,从头到尾的给你讲解一遍。

其中包括皮肤的画法,皮肤的定制和皮肤的嵌入。

如果你有兴趣,那么就跟着我来做一个皮肤试试吧!工预善其事,必先利其器。

我们先谈谈制作皮肤需要的工具吧。

首先我使用的编程语言是VC++,所以皮肤的嵌入软件,自然也选定是专门制作给VC++的了。

我使用的这个软件叫做SkinMagic,有很多朋友通过各种途径得到过这个软件。

不过这个软件是个共享软件,而且每一个注册码对应一个软件皮肤,收费高达89美元(我曾经买过几个,吐血!),但是确实非常好使。

其实就我所知,很多共享软件的作者都使用这个软件(而且也曾经跟我一样吐过血~)。

用它作为皮肤的嵌入软件的原因当然是非常地容易制作啦。

(现在已经有破解版本了)有了这个工具之后我们还要面有PhotoShop(以下简称PS)来进行皮肤主体的勾画。

我还要说的是颜色搭配。

在这个例子中,因为我很喜欢橙色,所以自然选择橙色作为主体颜色,那么什么颜色能和橙色放在一起比较漂亮?这是问题的关键,我很幸运,著名的NIKE公司的LOGO为我很好的解释了这个原理。

不难看出灰色,黑色,还有白色都是和橙色很好的搭配在一起,所以我们就选择这几个颜色作为皮肤的制作颜色!好了,开始实战!第一步,轮廓与着色首先,打开你的PS,新建一个文件,宽度为495,高度为406,分辨率为72。

然后点击图层菜单,新建图层背景。

接着在工具栏里点击油漆桶工具,选择颜色为R=255,B=0,G=255。

用油漆桶工具填充背景。

我们这样做的目的是填充一个固定的背景色,你看过电影的特技拍摄吧,后面放了一幅大蓝布,然后演员在那里摆POSE,最后再用电脑合成。

一个道理,我们也是这样,只不过我们放的是一块大粉布,哈哈。

下面,我们要绘制一个窗体。

在工具栏里点住矩形工具,会看到出现一个下拉菜单,选择圆角矩形工具。

在大粉布上画上这个圆角矩形。

取名就叫默认的形状1。

再次使用圆角矩形工具,在刚才的矩形前画一个小一点的矩形,这次我们要拖动鼠标的同时按住减号,然后你会发现我们得到一个窗口外框子。

接着,我们点击图层窗口,右键选择“形状1”,点选“混和选项”,分别在“斜面和浮雕”,“颜色叠加”,和“描边”上打勾。

其中“斜面和浮雕”的参数“大小”为21,“软化”为10。

“颜色叠加”的颜色为:R=241, G=112,B=18;“描边”的颜色和刚才的一样,“大小”为1,于是,得到了我们要的窗口外框!接下来我们选择工具栏的矩形工具(这次不是圆角矩形了!)画一个长方形,这个长方形要比外框小,比内框大。

并将新建的这个图层拖到咱们刚才的圆角矩形的下面,取名也就叫“形状2”。

还用上面提到的方法,打开“形状2”的“混和选项”,在“内阴影”和“颜色叠加”上打勾。

其中“内阴影”的参数“距离”为16,“大小”为5,而“颜色叠加” 的颜色为R=102,G=102,B=102,你瞧我们的窗口做好了!好了,把它保存为Orange.psd,然后再转化成BMP格式,我们的窗口皮肤素材就已经做好了!嘿嘿。

第二步,制作SkinMagic格式皮肤!首先,按我刚才说的,到刚才那个网址链接去下载一个SkinMagic,然后解压到你的电脑里。

我们使用的是一个叫做“SkinMagicBuilder”的工具软件。

它在解压后的SkinMagic的SkinMagicBuilder目录下,是个可执行文件。

打开这个工具软件后,我们在Object 菜单里选择“Load Image”把刚才存的那个BMP文件装载进来。

下一步,我们要把这个窗口做活,所谓“做活”就是使这个皮肤能用于任何窗口。

这个过程可能有点麻烦。

还是点击Object 菜单,选择“Window”的“Frame Window”。

在SkinMagic的右侧属性框,把Name改为“Dialog”。

然后我们注意到右边的Act iveFrame下有九个属性,翻译成中文他们是“左上方,中上方,右上方,左边,中间,右边,左下方,中下方,右下方”。

我们先点击“TopLeft”,在Image Files里选择我们的Orange.bmp。

然后你看到,我们画的窗口已经在这个窗口里了。

最后你在中间大窗口的左上方看到有一个可以拉动的红点,把它拉开,覆盖在我们的窗口图片的左上方。

接下来我们按照和刚才同样的方法,把其他八个部分都做好,具体的各个方面参数你可见下表所示。

填好之后,在Tools菜单里选择“Test”可以测试你制作的皮肤的效果。

一个非常非常简单的窗口皮肤已经制作好了。

我们把这个文件起名为orange.smf 保存起来。

第三步,在VC++中使用皮肤首先我想声明,并不是非要有SkinMagic VC才能添加皮肤,本身VC就有皮肤的调用函数的,比如每一个控件都有一个相关消息映射叫做“DrawItem”,在这里可以对指定的控件装上皮肤。

只不过这是非常麻烦的过程,我不推荐。

但是如果没有更好的办法,那样也是可以的。

比如当你只想给某个按钮加上个皮肤的时候,倒是可以考虑。

其他情况下,我们最好采用第三方工具。

好了,言归正传。

我们继续皮肤制作的最后一步,我们先在VC里按照MFC AppWizard建立一个基于Dialog的应用程序,取名为Sample。

完全按照向导的默认值就可以了。

接着我们把刚才保存好的Orange.smf以资源的方式添加到项目中去,资源类型写:“SKIN”,资源名称为:“IDR_SKIN”,注意写的时候一定要加上双引号哦!然后我们再到那个SkinMagic包里拷贝些东西,他们分别是:SkinMagicLib.h、SkinMagicLib.lib、DETOURS.lib把这三个文件拷贝到你的Sample应用程序的路径下,然后再在VC的Project目录下选择“Add To Project” 菜单的“Files...”。

把这三个文件添加到工程中。

下一步,我们打开Stdafx.h文件,在里面添加上一句:#include "SkinMagicLib.h"接着,在CSampleApp 类里添加一个函数,取名为“InitSkin”。

在函数里写入:void CSampleApp::InitSkin(){//加载皮肤VERIFY(1==InitSkinMagicLib(AfxGetInstanceHandle(), "Sample", NULL,NULL ) );VERIFY (1==LoadSkinFromResource (AfxGetInstanceHandle() , "IDR_SKIN" ,"SKIN") );VERIFY( 1 == SetDialogSkin( "Dialog" ) );}最后在CSampleApp类的InitInstance函数里添加上:InitSkin();按Ctrl+F5,你瞧,皮肤上上去了!哈哈,厉害了你!并不是很难吧。

上面我们做的只不过是最简单最简单的上肤了。

其实,仔细想想:按钮,菜单,文本框,标签,菜单,Combo等等一大堆的控件都需要上肤的。

不过SkinMagic 倒是都提供了,我们的做法也和上窗口皮肤大同小异,这里我就不再多说废话了。

凭我的经验来讲,一般制作一个完整的皮肤,从PS描绘(有时还需要CorelDraw 画)到最后皮肤放到窗口上大约需要3天吧,主要的问题就是要选好搭配的颜色。

如果你说你一点美术灵感都没有,那我请你和我一样,找一个非常不错的广告图研究研究;如果你还说一点灵感也没有找到,那只能说明你实在懒得可以。

对原作者内容进行了改动,为了方便学习,我这是收录其中的精华如何使用:①下载SkinMagic的开发包,我用的开发包需要下面几样东西:SkinMagicLib.lib,DETOURS.lib两个库文件;.smf文件(皮肤文件);还有个SKinMagicLib.h文件;这些就足够了(SkinMagicLib.lib 1199kB 的据说经处理不会显示[Powered by SkinMagic],但我这里用着会产生问题,不得已还是用了998kB的)②新建工程后,将SkinMagic包中的SkinMagicLib.h、SkinMagicLib.lib、DETOURS.lib拷贝到所在文件夹下,点击Project->Add To Project->Files,包含到工程中。

(SkinMagicLib.h、SkinMagicLib.lib 可以直接放在工程文件中,DETOURS.lib和.smf皮肤文件可以放在res文件夹中)③在Resource View中点击Import 菜单引入几个Skin二进制文件放在相同的“SKINMAGIC”文件夹下,分别给起一个名字(见源程序)。

(4) 在stdafx.h中加入#include "SkinMagicLib.h"#include <afxcmn.h> // MFC support for Windows Common Controls#endif // _AFX_NO_AFXCMN_SUPPORT#include "SkinMagicLib.h"//{{AFX_INSERT_LOCATION}}(5)打开以你工程名字命名的CPP文件,在里面的InitInstance()函数里,单文档在 if (!ProcessShellCommand(cmdInfo)) return FALSE;这一句的后面加上更换皮肤的关键代码:/***********************换肤代码*********************************/VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), NULL , NULL, NULL ) ); //初始化类库VERIFY( 1 == LoadSkinFromResource( AfxGetInstanceHandle() ,"KROMO" ,"SKINMAGIC") );//从资源中加载皮肤VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" )); //对话框这句可不也可以放着 VERIFY( 1 == SetDialogSkin( "Dialog" ) );//m_pMainWnd->ShowWindow(SW_SHOW);//m_pMainWnd->UpdateWindow();/**************************************************************/其中,第二句的作用是更换皮肤资源;(本来还有另外一种换肤的途径,直接从文件读取,不需要引导资源,更加简洁,但是这样子直接运行exe文件会出现问题,百思不得其解,只有舍弃)(5)让你的程序更进一步,在菜单栏中添加更换皮肤项目,只需要在它的相应函数中写入: VERIFY( 1 == LoadSkinFromResource( AfxGetInstanceHandle() , "KROMO" ,"SKINMAGIC"),就可以实现换肤的功能了,当然这里"IDR_Devior"需要换成你想更换皮肤资源的ID;(6)我在实际运行的时候发现了一个问题,编译时只能选择MFC共享的DLL,如果用动态的库链接则会出现问题,好像是说库与库之间命名冲突之类,可能是SkinMagicLib库的问题,我找了很多SkinMagicLib 的库,试了很多遍都没有办法解决,只有在编译时注意一下,选择MFC共享的DLL;(7)在MainFrame中加入换皮肤菜单,及相应的函数,在函数中加载皮肤。

相关文档
最新文档