经典语录大全 点击: 2013-06-24
如何更改自己的QQ头像
如何更改自己的qq头像
QQ空间免费换个性头像
QQ空间免费换个性头像!!!
QQ空间免费换个性头像!!!
写简单点吧{qq空间说说头像,qq空间说说头像怎么改}.
首先提醒大家,你的空间必须是登录状态!
第一步.在桌面上右键新建一个文件是记事本格式的,然后把下面代码复制到里面! {\rtf1\ansi\ansicpg936\deff0{\fonttbl{\f0\fmodern\fprq6\fcharset134 \'cb\'ce\'cc\'e5;}}
{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\lang2052\f0\fs20 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/cgi-bin/user/cgi_userinfo_setavatar">\par
<table width="400" border="0" align="center" cellpadding="0" cellspacing="20">\par \par
</table>\par
</div>\par
<input name="type" type="checkbox" id="type" value="1" checked="checked" />\par <input name="url" type="checkbox" id="url2" value="这里填写你要用的个人形象或FLASH形象地址" checked="checked" /> \par
<input name="uin" type="checkbox" id="uin" value="这里填写你的QQ号码" checked="checked" /> \par
<div id="foot"> \par
<input name="Submit" type="submit" value="\'cc\'e1\'bd\'bb" />\par </div>\par
</form>\par
</body>\par
</html>\par
}
需要修改的是上面文字的地方
第二步.然后点菜单栏上的”文件“ —”另存为“—命名名称填写成111.htm—保存到本地 第三步。然后打开刚才另存为的文件为111.htm的文件,就显示
<?xml version="1.0" encoding="gb2312" ?>
<succ>设置成功.</succ>
QQ空间头像怎么制作方法
QQ空间头像怎么制作方法,
Ps制作动态蠕动虚线的QQ空间头像《详细教程》 很多人都想知道这个效果怎么做吧,今天就由我来满足大家吧,其实很简单,为了大家能易学易懂,就分成三部分来写。写完马上去睡觉!第一部分,边框动画制作:01.打开PS,让我们开始从创建一个新的文件,大小设置为100×100px,背景色填充为“7f0444” 02.按CTRL+J复制背景层,得到图层1,按CTRL+A全选,点击【选择】—【收缩】—【3像素左右】,接着注意了,要按下Delet删除选区内的象素,然后点击【编辑】—【描边】—(选择黑色为1像素)按下CTRL+D取消选区。 03.新建一层,得到图层2,选择【单行选项工具】在画布中点击一下,自动跳出选区,【编辑】—【描边】—(选择黑色为1像素),按下CTRL+D取消选区。 04.选择图层2,按住AIT不放,鼠标点击【单行的细线】移动复制N个图层,这里一定要细心,调和相隔的位置,接着按CTRL选中【单行的细线】全部图层合并。 05.合并之后,按CTRL+J复制一份该图层,按CTRL+T自由变换,点击【编辑】—【变换】—【旋转90度(顺时针)】按下回车键,接着将【细线】的2个图层合并,按右键【】 06.打开动画窗口,这时将所有的图层合并,只留下【背景层】,在该图层按右键【混合选项】—【渐变添加】 色标设置:# fc0685 07.在动画面板,复制一帧,得到【帧2】 08.返回【混合选项】—【渐变添加】把
【角度】改为180度。09.在动画面板,点击过渡按钮,动画帧过渡 如下图: 10.这时我们已经完成边框动画了,按住CTRL选中所有动画帧,把时间延迟调为0.1秒。 边框动画完成: 第二部分,蠕动虚线框的方法:建造个人网站时,设计精巧、富于动态的Logo总是能为网页增色不少。也许有的朋友见过Logo周围有一圈细细的虚线围绕着Logo缓缓蠕动的效果.下面我就和大家一起来探讨制作这种蠕动虚线框的一种方法。 运行你的
Photoshop,打开你制作好的Logo文件。什么?如何制作Logo?这可不是几句话能说得清的,而且不是本文的讨论内容,读者朋友可以参考相关资料。需要强调的一点是,Logo的标准尺寸是88×31像素。本文中为了让大家看得更清楚,笔者使用了一幅较大尺寸的图片(如图1)。 图1 1、扩大画布的尺寸 打开Logo文件后,该图像只有一个背景图层,由于我们需要它的轮廓,所以不能直接在该层上扩展画布。在Layers面板上,双击Background图层右侧的空白区域,在弹出的对话框中单击OK按钮,即可将背景图层转换为普通图层Layer 0。双击图层的名字,将其命名为“Logo”。按住Ctrl键单击面板底部的新建图层按钮,在“Logo”图层下面新建图层Layer 1。然后选择菜单命令“Image→Canvas Size”,在对话框中将长度单位改为Pixels,勾选Relative复选框,Width和Height均增加40像素,Anchor保持默认的中间位置(如图2)。 图2 这步操作的结果是使画布在上下左右四个方向都增大了20像素,为我们下面的步骤开辟了空间。 2、制作用来填充背景的图案 使用菜单命令“File→New”新建一个8×8像素,笔景色为白色的文件。为了能够看清,我们可以按下Ctrl+"+"键数次,将文件视图放大到合适比例以便于操作。选择矩形选择工具(快捷键为M),在左上角画出一个边长为4像素的正方形选框,再按住Shift键,在右下角添加一个同样的选框。确认当前的前景色为默认的黑色,如果不是可以按下D键将其恢复为默认。按下Alt+BackSpace键使用前景色黑色填充选区,然后按下Ctrl+D键取消选择(如图3)。 图3 选择菜单命令“Edit→Define Pattern”,在对话框中为新图案命名为“黑白方格”,然后按下OK按钮,保存自定义的图案。 3、制作虚线框 回到Logo所在的文件,在Layers面板上,选择下面的Layer 1图层,然后选择菜单命令
“Edit→Fill”,在对话框中选择使用Pattern填充,在下面的下拉列表中选择我们刚才自定义的“黑白方格”图案,其余选项保持默认(如图4)。 确定后,Layer 1图层将被密布而规律的黑白方格填满(如图5,图中将“Logo”图层隐藏)。 图5 在Layers面板上,单击面板底部的新建图层按钮,建立空白图层Layer 2。按住Ctrl键单击“Logo”图层,将其
轮廓作为选区载入。再选择菜单命令“Select→Modify→Expand”,在对话框中输入1,按下OK按钮,选区将向外扩张一个像素。按下Ctrl+Shift+I键,将选区反向。确认当前图层为Layer 2,按下Ctrl+BackSpace键,使用背景色白色填充选区。将图层Layer 2命名为“白边”。按下Ctrl+D键取消选择,可以看到Logo周围出现了一圈虚线框(如图6)。 图6 4、使每条边的虚线相互独立 读者朋友们一定已经看明白了,没错,这条虚线框是假的,这里使了个障眼法,是让背景图案通过一条1像素宽的缝隙露出来一部分,如果让它动起来的话会很困难。该怎么办呢?我们继续使用障眼法――用四块背景来分别对应四条边。在Layers面板上,将图层Layer 1拖动到面板底部的新建图层按钮上,新建一个该图层的副本图层Layer 1 copy。再重复两次复制操作,得到四个相同的布满“黑白方格”图案的图层。选择单列像素选择工具,将图像视图放大到合适比例,在Logo左侧的虚线上单击,将该条虚线所在的直线全部选择。在Layers面板上,选择图层Layer 1,然后单击面板底部的添加图层蒙版按钮,结果将为该图层添加一块几乎为全黑色的蒙版,只在Logo左侧的虚线所在的直线上是白色的,也就是说图层Layer1只在那条直线上可见。接下来,同样的原理,分别使用单行像素选择工具和单列像素选择工具选择Logo上方、右侧和下方的虚线,依次为余下的三个图案图层添加蒙版。这时候,从表面上看Logo毫无变化,实际上围绕在它周围的虚线框已经是由四部分组成的了。可以隐藏某一图层,查看一下情况是否如
此。根据四个图案图层对应的部分,分别为它们命名为“左”、“上”、“右”和“下”(如图7)。 图7 5、在ImageReady中让虚线动起来 我们的准备工作已经做完了,下面要切换到ImageReady中制作动画。按下工具箱最底部的跳转按钮,ImageReady将自动运行,并且自动载入我们刚才准备好的文件,并且图层和蒙版等元素全都保持原貌。在Animation面板上,可以看到当前图像自动成为动画的第1帧。单击复制当前帧按钮,将建立与第1帧相同的第2帧(如图8)。 图8 选择移动工具,在Layers面板上,选择图层“左”,按下↑箭头按钮,使其向上移动一个像素。然后分别将图层“上”向右移动一个像素,图层“右”向下移动一个像素,图层“下”向左移动一个像素。从图像上看,就像是虚线框顺时针方向蠕动了一下。再在Animation面板上复制第2帧为第3帧,使用相同的方法再次让虚线框顺时针方向蠕动一下。重复以上过程,直到将第8帧制作完毕。我们在前面制作的图案基本单位是8像素,每帧移动1像素,刚好经过8帧可以周而复始。 6、最后的设置 ImageReady默认的设置是每帧动画停留0秒钟,我们需要改变这个数字。在Animation面板上,单击第1帧选择它,再按住Shift键单击第8帧,将8帧动画全部选择。单击任意一帧下面的停留时间下拉菜单,选择0.1seconds,于是全部帧的停留时间全都改为0.1秒钟(如图9)。 图9 我们的动画已经制作完了,下面要对输出文件进行设置。在Optimize面板上,将Setting选择为GIF Web Palette,具体设置保持默认即可(如图10)。 图10 通过菜单命令“File→Save Optimized”,在对话框中选择目录,命名文件,保存类型选择Image Only,保存后即可将文件输出为GIF动画。在图像查看软件中打开该GIF动画,或者将其插入到网页中用网页浏览器打开,就可以看到我们的Logo有了一条蠕动的虚线框(如图11)。 图11 根据具体的需要,我们还可以将虚线框外面的白边改成其他颜色或者裁切掉,以便更加适应网页设计和制作的需要。好了,动画制作完了。聪明的读者已经看出,这篇教程整个过程就是实现了一个视觉上的欺骗,只要摸清了思路,制作过程极为简单。只要开拓我们的思路,同样的例子还可以制作出多种蠕动方式的虚线框来。需要说明的是,第5步中,可以复制出第2帧后直接将各部分移动7像素,再在Animation面板的功能菜单中选择Tween,有软件自动生成中间的6帧――这样也许更简便,但不如一帧一帧的移动容易理解。 我们可以根据以上的教程,完成效果如下: 边框形状,主要应用“多边形套索工具”套选出来的。我的也是做得不好,希望大家会灵活应用。 第三部分:01.还有,左侧斜动的,就是用【矩形选区工具】拉出一个长矩形
选区,填充为黑色,按CTRL+D取消选区,接着按CTRL+T自由变换,旋转30—45度左右。 02.按住AIT不放,鼠标点击【黑色长方形】移动复制N个图层,这里一定要细心,调和相隔的位置,接着按CTRL选中【黑色长方形】的图层全部合并。为了大家能看清楚,我就把右侧给遮住了的。如下。 03.在动画面板,复制N帧,主要应用键盘上面的【方向键】移动【黑色长方形】位置来产生动画效果,很明确上面第二部分已经有很详细的解答了,希望大家会灵活应用。 最后我们结合几个部分的操作完成如下效果:
00
bayu_love
Lv2|采纳率100%
个人空间修改头像代码分析总结
1,背景
博客停了好久,主要是最近工作太忙了,还有就是身体状况没有以前那么好了,乘着国庆长假的空档,写下这篇一直想写的文章。
运营平台是我主要致力的一个项目,这个项目分为四个大部分,个人中心,充值中心,客服中心,家长监护,最近主要忙着个人中心的重写和丰富,关于个人中心,无非就是对平台用户信息的自我管理,以及一些对用户帐号的安全保护措施,下图的菜单非常简要的说明了个人中心的功能。个人觉得最值得关注的就是密保设置和修改头像,因为之前没有处理过类似的问题,本文主要记录对头像的处理过程以及思考,希望给碰到类似问题的苦逼程序员一点借鉴。
个人中心整体功能一览
2,头像处理xmind
叽歪一句,个人碰到问题的时候,首先会分析问题,在分析问题的基础上,得到整体的解决方案,然后一步步分解步骤,去实现,首先奉上我的解决方案,也许不是最优的,但是按照个人的知识和技能水平,绝对是可以实现的。
修改头像mind
3,实现步骤
按照我的mind,首先是上传图片,先上效果图,然后给出实现的代码。首先是整体的结构图,做的比较丑,别喷哥···
修改头像整体效果图
下面按照mind一步步实现,
首先:点击修改头像,弹出一个层,
第一步:弹出上传图片的层,上传图片到服务器
对实现细节不感冒的屌丝可以看看代码(结合哥的mind看可以事半功倍):
分层 实现细节{qq空间说说头像,qq空间说说头像怎么改}.
Html结构层 这个可以免了,一般都可以弄出来
Js连接层
首先是弹出一个上传图片的层,然后上传图片到服务器端。 $("#editHead").bind("click", function () {
showUploadDiv();
});
function showUploadDiv() {
$("#uploadMsg").empty();
$.fancybox({
type:'inline',
width:400,
href:'#uploadUserHead'
});
}//fancybox弹出层
上传的处理代码
Servlet服务端处理层(commonupload实现) 服务器端处理代码
上传的处理代码
$(function () {
$("#uploadFrom").ajaxForm({
beforeSubmit:checkImg,
error:function(data,status){
alert(status+' , '+data);
$("#uploadMsg").html('上传文件超过1M!');
},
success:function (data,status) {
try{
var msg = $.parseJSON(data);
if (msg.code == 200)
{ //如果成功提交
javascript:$.fancybox.close();
$("#uploadUserHead").hide();
var data = msg.object;
$("#editImg").attr("src", data.path).show();
$("#preview1").attr("src", data.path).show();
$(".zoom").show();
$("#width").val(data.width);
$("#height").val(data.height);
$("#oldImgPath").val(data.realPath);
$("#imgFileExt").val(data.fileExt);
var api, jcrop_api, boundx, boundy;
$('#editImg').Jcrop({
onChange:updatePreview,
onSelect:updatePreview,
aspectRatio:1,
bgOpacity:0.5,
bgColor:'white',
addClass:'jcrop-light'
}, function () {
api = this;
api.setSelect([130, 65, 130 + 350, 65 + 285]);
api.setOptions({ bgFade:true });
api.ui.selection.addClass('jcrop-selection');
var bounds = this.getBounds();
boundx = bounds[0];
boundy = bounds[1];
jcrop_api = this;
});
function updatePreview(c) {
if (parseInt(c.w) > 0) {
var rx = 80 / c.w;
var ry = 80 / c.h;
$('#preview1').css({
width:Math.round(rx * boundx) + 'px',
height:Math.round(ry * boundy) + 'px',
marginLeft:'-' + Math.round(rx * c.x) + 'px',
marginTop:'-' + Math.round(ry * c.y) + 'px'
});
}{qq空间说说头像,qq空间说说头像怎么改}.
jQuery('#x').val(c.x);
jQuery('#y').val(c.y);
jQuery('#x2').val(c.x2);
jQuery('#y2').val(c.y2);
jQuery('#w').val(c.w);
jQuery('#h').val(c.h);
}{qq空间说说头像,qq空间说说头像怎么改}.
}
if (msg.code == 204) {
$("#uploadMsg").html(msg.msg);
}
}catch (e){
$("#uploadMsg").html('上传文件超过1M!');
}
}
});
});
//服务器端处理代码
String tempSavePath = ConfigurationUtils.get("user.resource.dir"); //上传的图片零时保存路径 String tempShowPath = ConfigurationUtils.get("user.resource.url"); //用户保存的头像路径
if(tempSavePath.equals("/img"))
{
tempSavePath=sc.getRealPath("/")+tempSavePath;{qq空间说说头像,qq空间说说头像怎么改}.
}
Msg msg = new Msg();
msg.setCode(204);
msg.setMsg("上传头像失败!");
String type = request.getParameter("type");
if (!Strings.isNullOrEmpty(type) && type.equals("first")) {
request.setCharacterEncoding("utf-8");
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
try {
List items = servletFileUpload.parseRequest(request);
Iterator iterator = items.iterator();
while (iterator.hasNext()) {
FileItem item = (FileItem) iterator.next();
if (!item.isFormField()) {
{
File tempFile = new File(item.getName());
File saveTemp = new File(tempSavePath+"/tempImg/");
String getItemName=tempFile.getName();
String fileName = UUID.randomUUID()+"." +getItemName.substring(getItemName.lastIndexOf(".") + 1, getItemName.length());
File saveDir = new File(tempSavePath+"/tempImg/", fileName);
//如果目录不存在,创建。
if (saveTemp.exists() == false) {
if (!saveTemp.mkdir()) { // 创建失败
saveTemp.getParentFile().mkdir();
saveTemp.mkdir();
} else {
}
}
if (saveDir.exists()) {
log.info("存在同名文件···");
saveDir.delete();
}
item.write(saveDir);
log.info("上传头像成功!"+saveDir.getName());
msg.setCode(200);