Draw 9-patch是一个在android开发中非常好用的图像处理工具,它的想法很简单,将一张图片用四条线分成九个格子,就可以简单地控制它的大小和覆盖内容的位置。
这里有个android官方版的教程,写得简单明了,不过有些细节不够清楚。所以这里我把我的使用方法记下来。
1.在文件夹中打开android-sdks -> tools,找到文件夹中的一个叫做draw9patch的shell脚本文件,点击运行它。
2.你会发现这个程序的界面实在太简单了,所有的菜单里面的选项只有:打开一个9patch类型的图像,保存一个9patch类型的图像,退出。那么,要创建新的图像,你只能把你待处理的图片拖曳到这个程序的窗口里去。
3.为了方便操作,把下面的三个选项里“是否显示xxx”都给勾上,调整zoom到一个合适的视角。结果如下:
4.下面开始画线。在你拖进去的图片的边缘处,你会发现一些灰白相间的小格子,这就是画线的地方,鼠标单击就可以画黑线了。注意,这时候最好放大很多倍,可以看得比较清楚,细节如下:
5.按照步骤4在四周分别画上四条黑线,这样就把图片分成九份了。就是下图这个样子:
6.点击File -> Save 9-patch,然后就可以把这个图像保存成名为aaa.9.png的格式了。
7.将这个图像放在你的App project的res -> drawable的文件夹里,注意,在xml的文件中引用这个图像时id应为drawable/aaa,而不是aaa.9,所以,drawable文件夹里也不可以同时放aaa.9.png 和 aaa.png!
8.完成上述步骤后,你就可以把这个图像设为某个模块的背景,这个模块的内容就会显示在九部份中正中的那一个部分中了(如上图灰色部分)~
有趣得很吧~
2012年7月14日星期六
Hack test Level 4-6 傻瓜的继续
刚过了前三关,再写写接下来三关,依然是基本知识。
Level 4:
1.如果继续按之前的做法,查看源代码,会发现什么也找不到。。。
2.其实呢,直接在浏览器设置里禁掉javascript就行了,以我的chrome为例方法如下:
工具->设置->高级选项->隐私设置->内容设置->JavaScript->不允许任何网站运行JavaScript.
3.设置好了之后再点击这一关中的Click here,就到第五关了,记得到第五关之后再设置回允许javascript哦。
Level 5:
1.查看源代码,找到如下语句:
2.都过到这里了,密码是什么就不用我多说了吧。
Level 6:
1.查看源代码,会发现密码其实隐藏在另一个javascript文件里,线索在此:
<SCRIPT SRC="psswd.js" LANGUAGE="JavaScript" type="text/javascript">
2.打开这个js文件,你会发现:
3.呵呵,这是躲猫猫呢~
Level 4:
1.如果继续按之前的做法,查看源代码,会发现什么也找不到。。。
2.其实呢,直接在浏览器设置里禁掉javascript就行了,以我的chrome为例方法如下:
工具->设置->高级选项->隐私设置->内容设置->JavaScript->不允许任何网站运行JavaScript.
3.设置好了之后再点击这一关中的Click here,就到第五关了,记得到第五关之后再设置回允许javascript哦。
Level 5:
1.查看源代码,找到如下语句:
| if (pass=="SAvE-as hELpS a lOt") { | |
| window.location.href="save_as.htm"; | |
| i=4; | |
| }else {alert("Try again"); | |
| window.location.href="abrae.htm";} |
Level 6:
1.查看源代码,会发现密码其实隐藏在另一个javascript文件里,线索在此:
<SCRIPT SRC="psswd.js" LANGUAGE="JavaScript" type="text/javascript">
2.打开这个js文件,你会发现:
<!--
var pass;
pass=prompt("Password:","");
if (pass=="streetzkornerz") {
window.location="included.htm";
}else
alert("Try again...");
//-->
3.呵呵,这是躲猫猫呢~
Hack-test Level 1-3 傻瓜攻略
最近发现一个挺好玩的网站,是一个给黑客们挑战通关的游戏,叫做测试黑客。
网站说明上写一共有二十关,是测试大家网页技术用的。由衷地再次赞叹一下Geek们的世界是多么有趣,这下有的玩的了,o(∩∩)o...哈哈~
先说一下前三关是怎么过的,可以说是too simple, sometimes naive,如下:
Level 1:
1.鼠标右键,显示网页源代码。
2.Ctrl+F找到password,可以看到这样一行代码:
</font><font size="2" face="Tahoma">Password:</font><form name="a" action="javascript:check()">
3.现在可以看到这个action指向check()这个函数。
4.再次Ctrl+F找到function check(),发现是个判断语句如下:
<link rel="stylesheet" title="default" href="default.css" type="text/css">
css文件。
4.点击上面一行中default.css的链接,看见css的源码,我们就找到了这个alinkColor,原来你在这里:
网站说明上写一共有二十关,是测试大家网页技术用的。由衷地再次赞叹一下Geek们的世界是多么有趣,这下有的玩的了,o(∩∩)o...哈哈~
先说一下前三关是怎么过的,可以说是too simple, sometimes naive,如下:
Level 1:
1.鼠标右键,显示网页源代码。
2.Ctrl+F找到password,可以看到这样一行代码:
</font><font size="2" face="Tahoma">Password:</font><form name="a" action="javascript:check()">
3.现在可以看到这个action指向check()这个函数。
4.再次Ctrl+F找到function check(),发现是个判断语句如下:
function check() {
} else { alert ("Try again"); }
1.解开第一关之后就又立即跳入了输入密码的框框,这个时候是解不了的,随便输个,错误,跳入Level 2的页面。 2.同样在源代码中找到password,这一次是一个prompt了:
到底是什么。 3.我们需要打开这个html源码中的 |
css文件。
4.点击上面一行中default.css的链接,看见css的源码,我们就找到了这个alinkColor,原来你在这里:
a:link, a:visited, a:active
{
text-decoration: none;
color: 000000;
font-size: 10px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: plain;
}
5.这样,密码就是黑色的代码#000000咯~
这样,前三关就完了。
2012年7月6日星期五
如何设置多个显示器的相对位置(适用Ubuntu)
X RandR是Ubuntu下一个非常好用的命令,用于一台主机连接的调节多个屏幕。
接好显示器后,首先在命令行里敲入:xrandr -q
就会显示出连接中的显示器,比如我的:
VGA1 connected 1600x900+1366+0 (normal left inverted right x axis y axis) 443mm x 249mm
1600x900 60.0*+ 60.0
1280x1024 75.0 60.0
1152x864 75.0
1024x768 75.1 60.0
800x600 75.0 60.3
640x480 75.0 60.0
720x400 70.1
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 294mm x 166mm
1366x768 60.0*+
1360x768 59.8
800x600 60.3
640x480 59.9
根据以上的名称和位置模式等,就可以调整它们了。
先试试关掉其中一个:xrandr --output LVDS1 --off
再把它打开,放在另一个的左边:xrandr --output LVDS1 --auto --left-of VGA1
现在是可以在不同显示器之间自由拖曳窗口,两个显示器的位置是自动的,并不重叠。
如果要调整位置,可以根据上面显示的属性来设置,比如说:
xrandr --output LVDS1 --mode 1366x768 --pos 0x0 --output VGA1 --mode 1600x900 --pos 1200x0
因为第一个显示器的宽度是1366,第二个显示器的位置只向移了1200,现在就有重叠部分了。
接好显示器后,首先在命令行里敲入:xrandr -q
就会显示出连接中的显示器,比如我的:
VGA1 connected 1600x900+1366+0 (normal left inverted right x axis y axis) 443mm x 249mm
1600x900 60.0*+ 60.0
1280x1024 75.0 60.0
1152x864 75.0
1024x768 75.1 60.0
800x600 75.0 60.3
640x480 75.0 60.0
720x400 70.1
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 294mm x 166mm
1366x768 60.0*+
1360x768 59.8
800x600 60.3
640x480 59.9
根据以上的名称和位置模式等,就可以调整它们了。
先试试关掉其中一个:xrandr --output LVDS1 --off
再把它打开,放在另一个的左边:xrandr --output LVDS1 --auto --left-of VGA1
现在是可以在不同显示器之间自由拖曳窗口,两个显示器的位置是自动的,并不重叠。
如果要调整位置,可以根据上面显示的属性来设置,比如说:
xrandr --output LVDS1 --mode 1366x768 --pos 0x0 --output VGA1 --mode 1600x900 --pos 1200x0
因为第一个显示器的宽度是1366,第二个显示器的位置只向移了1200,现在就有重叠部分了。
2012年6月26日星期二
gnuplot的点线属性、划线、移动图例、标签属性、希腊字母等总结
常用gnuplot画图,一些小功能不用就忘了,过一阵子又翻回来找,实在麻烦,于是有了这个备忘录。
1.画图时设置点和线的属性。
画线:
plot 'xx/xx.dat' us(e) 1:2 ti(tle)"L=40 " w(ith) l(ine) l(ine)t(ype) 1 l(ine)c(olor) 7 l(ine)w(idth) 4
画点:
plot 'xx/xx.dat' us(e) 1:2 ti(tle)"L=40 " w(ith) p(oint) p(oint)t(ype) 1 p(oint)c(olor) 7 p(oint)w(idth) 4
括号内是全称,只需要敲缩写就可以了。数字代表了属性,详细请见附录中图1.
如果是画点和线,例如:
plot 'xxx/xx.dat' us 1:2 ti"L=40" w lp lt 1 pt 5 lc 7 lw 4
这里没有设置点的颜色和宽度了,默认和线一样——不然多难看。。。
2.划线,本身的划线似乎不太美观啊,可以用没有箭头的箭头——听起来好拗口。
set arrow from 0,0 to 10,0 nohead lt 2 lc 7 lw 1.2
其中0,0和10,0是坐标,nohead就是没有箭头啦,要画箭头就去掉这个,其他的参考1.
3.数据挡住了图例,怎么办?图例换个位置咯。
set key right/left bottom/top
或者设置成具体位置:
set key 10,10
4.设置标签的大小、字体和位置。
y轴的标签,设置罗马字体,大小为35:
set ylabel "y" font " Times-Roman,35"
图中插入标签,位置为2,1:
set label "a=0" at 2,1
5.希腊字母,这个不同于大多数软件使用英文注音,而是用英文单字代替。使用时需要加上{/Symbol },如下:
set ylabel "{/Symbol f}_{{/Symbol x}{/Symbol x}}"
上下标的使用方式倒是很大众。希腊字母与英文字母的转换见附录中图2.
附录:
图1(来源于http://pleione.asu.cas.cz/~nemeth/work/stuff/gnuplot/)
图2 (来源于http://t16web.lanl.gov/Kawano/gnuplot/label-e.html)
上图比较小,建议点击看大图!
1.画图时设置点和线的属性。
画线:
plot 'xx/xx.dat' us(e) 1:2 ti(tle)"L=40 " w(ith) l(ine) l(ine)t(ype) 1 l(ine)c(olor) 7 l(ine)w(idth) 4
画点:
plot 'xx/xx.dat' us(e) 1:2 ti(tle)"L=40 " w(ith) p(oint) p(oint)t(ype) 1 p(oint)c(olor) 7 p(oint)w(idth) 4
括号内是全称,只需要敲缩写就可以了。数字代表了属性,详细请见附录中图1.
如果是画点和线,例如:
plot 'xxx/xx.dat' us 1:2 ti"L=40" w lp lt 1 pt 5 lc 7 lw 4
这里没有设置点的颜色和宽度了,默认和线一样——不然多难看。。。
2.划线,本身的划线似乎不太美观啊,可以用没有箭头的箭头——听起来好拗口。
set arrow from 0,0 to 10,0 nohead lt 2 lc 7 lw 1.2
其中0,0和10,0是坐标,nohead就是没有箭头啦,要画箭头就去掉这个,其他的参考1.
3.数据挡住了图例,怎么办?图例换个位置咯。
set key right/left bottom/top
或者设置成具体位置:
set key 10,10
4.设置标签的大小、字体和位置。
y轴的标签,设置罗马字体,大小为35:
set ylabel "y" font " Times-Roman,35"
图中插入标签,位置为2,1:
set label "a=0" at 2,1
5.希腊字母,这个不同于大多数软件使用英文注音,而是用英文单字代替。使用时需要加上{/Symbol },如下:
set ylabel "{/Symbol f}_{{/Symbol x}{/Symbol x}}"
上下标的使用方式倒是很大众。希腊字母与英文字母的转换见附录中图2.
附录:
图1(来源于http://pleione.asu.cas.cz/~nemeth/work/stuff/gnuplot/)
图2 (来源于http://t16web.lanl.gov/Kawano/gnuplot/label-e.html)
上图比较小,建议点击看大图!
2012年6月15日星期五
怎么知道国外主机空间是否被屏蔽及解决方案
买主机空间之前没有调查是不是被墙了,把做好的站点挂上去了才发现国内上不了,郁闷。。。
先写写经历吧。
1. 挂上网站后被人告知打不开,用国内的代理IP才发现确实被墙了……于是接下来首先确定是不是网站使用的主机的IP的原因。
2. 在System->Administration->Network Tools中选择Ping (Ubuntu下的,Windows下用cmd),Ping网站的域名,就知道IP地址了。
3. 在whois提供的信息里搜这个IP,得知这个IP上存放的为数众多的网站。(可以Ping它们确定一下。)
4. 用不同的代理去踩这些跟自己网站同IP的网站(直接用自己的Ping也可以),如果所有同IP的网站表现一致,恭喜你,这个IP因为host了某些某些人不喜欢的网站,它host的所有网站都被墙了。
然后关于解决这个问题:
1. 最好的方法当然是买独立IP,就不用担心受其他因素的牵连了。常用的买独立IP的地方有GoDaddy和IxWebHosting,GoDaddy比较贵但是比较稳定,IxWebHosting很便宜不过不是很好用。
2. 不过如果没有太多预算,又不想浪费之前购买的空间呢,还可以尝试用CDN服务。这是个从你原地址中获取数据,再分配给用户的中介,由于是为了资源优化配置,所以还可以提高网页浏览速度。常用的提供CDN服务的比如CloudFlare,提供免费的服务,而且页面很简洁。再比如WebLuker,可以自己找找,多比较一下。一般提供CDN服务,只需要你注册,提供域名,它会给你分配一个Name Server (NS),你只需要在你的域名提供商的帐户上修改成它给你提供的NS就可以了。
参考文章:http://www.majijun.com/InterestingNetwork/godaddy.html
http://www.jsjgz.cn/article/20110222/1218.html
先写写经历吧。
1. 挂上网站后被人告知打不开,用国内的代理IP才发现确实被墙了……于是接下来首先确定是不是网站使用的主机的IP的原因。
2. 在System->Administration->Network Tools中选择Ping (Ubuntu下的,Windows下用cmd),Ping网站的域名,就知道IP地址了。
3. 在whois提供的信息里搜这个IP,得知这个IP上存放的为数众多的网站。(可以Ping它们确定一下。)
4. 用不同的代理去踩这些跟自己网站同IP的网站(直接用自己的Ping也可以),如果所有同IP的网站表现一致,恭喜你,这个IP因为host了某些某些人不喜欢的网站,它host的所有网站都被墙了。
然后关于解决这个问题:
1. 最好的方法当然是买独立IP,就不用担心受其他因素的牵连了。常用的买独立IP的地方有GoDaddy和IxWebHosting,GoDaddy比较贵但是比较稳定,IxWebHosting很便宜不过不是很好用。
2. 不过如果没有太多预算,又不想浪费之前购买的空间呢,还可以尝试用CDN服务。这是个从你原地址中获取数据,再分配给用户的中介,由于是为了资源优化配置,所以还可以提高网页浏览速度。常用的提供CDN服务的比如CloudFlare,提供免费的服务,而且页面很简洁。再比如WebLuker,可以自己找找,多比较一下。一般提供CDN服务,只需要你注册,提供域名,它会给你分配一个Name Server (NS),你只需要在你的域名提供商的帐户上修改成它给你提供的NS就可以了。
参考文章:http://www.majijun.com/InterestingNetwork/godaddy.html
http://www.jsjgz.cn/article/20110222/1218.html
2012年6月10日星期日
Ubuntu下怎么知道自己电脑的硬件规格
试了几个不同的命令,感觉最好用的是: sudo dmidecode
会分门别类地举出系统各个部分的所有信息。如果想看某一项,可以用
最后的最后,补一个外接硬件的:lsusb
会分门别类地举出系统各个部分的所有信息。如果想看某一项,可以用
sudo dmidecode -t processor (CPU核芯)
sudo dmidecode -t memory (内存)
sudo dmidecode -t cache (缓存)
sudo dmidecode -t system (电脑型号、产商)
sudo dmidecode -t slot (插卡槽)
sudo dmidecode -t baseboard (主板)
sudo dmidecode -t connector (连接设备)
sudo dmidecode -t chassis (机箱)
sudo dmidecode -t bios (BIOS)
或者用数字表示,例如,查看内存的具体型号,可以用: sudo dmidecode -t 17
其他设备的编号如下:
| 1 | System |
| 2 | Base Board |
| 3 | Chassis |
| 4 | Processor |
| 5 | Memory Controller |
| 6 | Memory Module |
| 7 | Cache |
| 8 | Port Connector |
| 9 | System Slots |
| 10 | On Board Devices |
| 11 | OEM Strings |
| 12 | System Configuration Options |
| 13 | BIOS Language |
| 14 | Group Associations |
| 15 | System Event Log |
| 16 | Physical Memory Array |
| 17 | Memory Device |
| 18 | 32-bit Memory Error |
| 19 | Memory Array Mapped Address |
| 20 | Memory Device Mapped Address |
| 21 | Built-in Pointing Device |
| 22 | Portable Battery |
| 23 | System Reset |
| 24 | Hardware Security |
| 25 | System Power Controls |
| 26 | Voltage Probe |
| 27 | Cooling Device |
| 28 | Temperature Probe |
| 29 | Electrical Current Probe |
| 30 | Out-of-band Remote Access |
| 31 | Boot Integrity Services |
| 32 | System Boot |
| 33 | 64-bit Memory Error |
| 34 | Management Device |
| 35 | Management Device Component |
| 36 | Management Device Threshold Data |
| 37 | Memory Channel |
| 38 | IPMI Device |
| 39 | Power Supply |
| 40 | Additional Information |
| 41 | Onboard Device |
最后的最后,补一个外接硬件的:lsusb
订阅:
博文 (Atom)




