常用的ps去除图片文字的方法
星期五, 2013-03-01 | Author: Lee | pagemaker | 没有评论 3,744 views
要处理图片总归麻烦,网络上找到的,摘录到自己的站点,方便以后自己翻找.
1、使用仿制图章工具去除文字。
这是比较常用的方法。具体的操作是,选取仿制图章工具,按住Alt键,在无文字区域点击相似的色彩或图案采样, 然后在文字区域拖动鼠标复制以复盖文字。要注意的是,采样点即为复制的起始点。选择不同的笔刷直径会影响绘制的范围,而不同的笔刷硬度会影响绘制区域的边缘融合效果。
2、使用修补工具去除文字。
如果图片的背景色彩或图案比较一致,使用修补工具就比较方便。具体的操作是,选取修补工具,在公共栏中选择修补项为“源”,关闭“透明”选项。然后用修补工具框选文字,拖动到无文字区域中色彩或图案相似的位置,松开鼠标就完成复制。修补工具具有自动匹配颜色的功能,复制出的效果与周围的色彩较为融合,这是仿制图章工具所不具备的。
nginx从1.0升级到1.2.7的log_format问题
星期三, 2013-02-20 | Author: Lee | linux | 没有评论 3,832 views
今天看了nginx的升级到了1.2.7的系列了,自己的还停留在1.0.7版本有点心痒痒了,就升级了下:
不停机平滑升级新版文章参考: //www.pomelolee.com/646.html
通过./sbin/nginx -t 检查发现
[warn] the “log_format” directive may be used only on “http” 的警告信息
修复起来也方便:
把这个格式信息从server 里面移动到http的里面,有多个server 可以并到一起减少了配置(如果格式一样的话,算是新版本的一个优化了)
log_format access ‘$remote_addr – $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” $http_x_forwarded_for’;
在通过./sbin/nginx -t 检查 就都ok了
libcurl升级后找不到libcurl.so.3解决之法
星期日, 2013-02-03 | Author: Lee | linux, webgame, 游戏开发 | 没有评论 11,630 views
系统装的是libcurl 7.19的版本,编译的动态库是libcurl.so.4
自己的程序编译是在libcurl 7.15的版本下编译的,用的是libcurl.so.3的版本,要做下软链接即可:
根据自己使用的是32位系统或者64位系统 做如下处理:
1 2 | cd /usr/lib 或者 cd /usr/lib64 ln -s libcurl.so.4 libcurl.so.3 |
Win7系统软件乱码问题的解决之法(中英文都适用)
星期日, 2013-02-03 | Author: Lee | computer | 没有评论 7,260 views
今天给朋友装电脑软件,由于自己求快直接关闭电源竟然遭遇系统乱码的困扰,让我头疼了好几个小时,解决之法如下:
方法一:
进入控制面板——区域、语言设置,进入“管理”菜单更改系统区域设置,改为:中文(简体,中国),见下图所示
方法二:
1)在windows的开始菜单——运行中输入”regedit”,打开注册表编辑器.
2)打开注册表键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FontAssoc\Associated Charset
确定下面这两项的值是 YES,如果没有则自己创建。
“ANSI(00)”=”YES”
“OEM(FF)”=”YES”
方法三:
1)在windows的开始菜单——运行中输入”regedit”,打开注册表编辑器
2)打开注册表键 HKEY_CURRENT_USER\Control Panel\International,将右侧:”Locale”=”00000409″ 改成 “Locale”=”00000804”
3)重启电脑。
只要做了这三个步骤,你的Win7系统基本可以摆脱乱码的困扰,中英文都适用!
使用libcurl为webgame服务端增加http访问功能
星期三, 2013-01-30 | Author: Lee | webgame, 游戏开发 | 没有评论 4,886 views
webgame的服务端代码使用c/c++开发,现在要使用http协议访问外网进行验证,为游戏增加这个功能,使用了比较出名的libcurl的库
用起来很方便,代码封装如下:
简介:1.安装curl的库 http://curl.haxx.se/libcurl/
2.对应的功能示例也蛮丰富的(自己根据实际需求改造了下)
3.编译下面的代码
1 | g++ -l curl -o tcurl sq_curl.c |
使用qq互联api实现wordpress网站的会员的绑定登录
星期日, 2013-01-27 | Author: Lee | wordpress | 3 Comments 7,488 views
一直想用qq的帐号直接登录网站,方便用户注册,不过对应自己的一个blog网站又感觉没有必要.
思来想去终于想到一个让自己能接受的理由完成此功能的开发,即 用qq帐号快速登录于本站点的帐号相关联起来,
以后自己只要开着qq就可以直接登录网站进行写文章,不需要再记忆原来的密码.
功能已经实现,现在自己的已经绑定好了,周同学要是也想用的话,可以直接点击右侧的qq登录使用,我做了对应的绑定帐号验证功能.
好像wordpress也有对应的插件,不过自己喜欢动手嘛,用着舒服,也顺便看看qq互联的api和wordpress对应用户的验证和登录的控制.
OK, 结束.
virtualbox上osx的安装使用,修改虚拟硬盘大小
星期二, 2013-01-22 | Author: liweizhou40 | ios | 没有评论 5,429 views
没买苹果机,只能装个虚拟机用用了,不过全屏后效果也还不错。
原来装过一次,不是很成功,需要引导,分辨率也是在启动时需要设置,所以这一次就想装个省事点的,就选择了iAtkos发布的改进版。
版本:virtualbox:4.2.6;osx:Mountain Lion 10.8.2
安装前提:据说需要intel的cpu,我机子是i5
下载:https://kat.ph/,搜索iAtkos
设置虚拟机:新建osx虚拟机,设置主要注意几点,1、系统版本选择64位;2、系统,扩展特性勾掉开启EFI
安装osx:设置虚拟机启动顺序,光驱第一,选择光盘(不需要装换格式,直接用dmg),按步骤安装系统
设置分辨率:1、osx启动设置:修改Extra目录下文件org.Chameleon.boot.plist,增加一项
修改是需要先复制出来文件,修改后替换原来文件(原来文件被锁定);
2、虚拟机设置:cd “C:\Program Files\Oracle\Virtualbox”,
vboxmanage setextradata “Name of virtual machine” “CustomVideoMode1” “1920x1080x32”
安装xcode:因为app store下载太慢,也是在kat上下载后,光盘加载安装的
共享文件:https://forums.virtualbox.org/viewtopic.php?f=22&t=38051
修改虚拟硬盘大小
发现osx在更新xcode跳出空间不足,用df —ah查看,发现硬盘只有1.1g没用,总容量也只有20G(虚拟硬盘最大设置的是30G,
估计安装系统时分区设置为20G)
1、增加虚拟硬盘大小:VBoxManage.exe modifyhd J:\osx.vdi –resize 30720 改为30G
2、修改osx分区大小:application->utiltities->Disk Utility,先verify,没错误再partion
在线的棋牌类网络游戏java服务端实现
星期六, 2013-01-19 | Author: Lee | JAVA-and-J2EE, webgame, 游戏开发 | 没有评论 5,144 views
自己一直从事 页游开发看到一篇做游戏服务端的开发文章自然要收录下.(本文算是记录的蛮详细的,不过具体的性能优化,缓存,消息的处理等都不在其中,整体宏观列出了.)
本文来源于网络,好久之前看的,被收藏后一直没有看,今天看了后收藏到网站,原文地址:http://kakaluyi.iteye.com/blog/1489592.
一、网络
网络游戏,首先面临的问题当然是如何进行网络通信。首先考虑的是HTTP协议,因为所有的J2ME手机都支持这个,我们当然想尽可能的兼容用户。而且HTTP协议封装程度已经非常高了,不用去考虑线程、同步、状态管理、连接池,不过HTTP协议有两个不爽的地方:
◇ 协议无状态,这个问题已经困扰过很多人很多次了。我曾考虑过的解决办法是改造HTTP协议,在数据传输完成之后不关闭socket,但是这样做工作 量非常大,在项目周期中,基本上就是Mission impossible,不予考虑。那么客户也就只能通过轮询的方式向服务器请求数据。
◇ 网络流量过大。就这个项目来说,网络间传递的只是指令,但是每次传递都要加上一堆毫无用处的HTTP Head,再加上客户端需要做轮询,这个流量 对于手机来说简直恐怖,经简单测试,按照0.03元/K的GPRS网络费用计算,一局牌居然要消耗1元多的费用(每秒轮询),实在不可接受。也许我们可以 采用流量费包月的资费方式,不过这个话题与技术无关。
以上问题导致我们选择了Socket,这意味着我们将没有一个web环境,很多东西都要靠自己去实现:线程管理、客户状态监控、对象池、控制台……….
网络部分打算采用Java NIO来实现,这是一种新的网络监听方式,基于事件的异步通信,可以提高性能。每个客户端连接之后,会有一个独立的 SocketChannel与它通信,这个SocketChannel会在用户的整个生存周期中存在。用户如果断开连接,服务器会得到-1,并且会抛出 Connection reset异常,通过捕获这两个特征,可以在用户意外断开连接后清理相关的资源。由于NIO是异步通信的,所以没有复杂的线程管 理。
二、通信协议
› 继续阅读
java中byte转换的注意事项
星期六, 2013-01-19 | Author: Lee | JAVA-and-J2EE | 没有评论 3,721 views
1 2 3 4 5 6 7 8 9 10 11 | public static String bytes2HexString(byte[] b) { String ret = ""; for (int i = 0; i < b.length; i++) { String hex = Integer.toHexString(b[i] & 0xFF); if (hex.length() == 1) { hex = '0' + hex; } ret += hex.toUpperCase(); } return ret; } |
上面是将byte[]转化十六进制的字符串,注意这里b[ i ] & 0xFF将一个byte和 0xFF进行了与运算,然后使用Integer.toHexString取得了十六进制字符串,可以看出
b[ i ] & 0xFF运算后得出的仍然是个int,那么为何要和 0xFF进行与运算呢?直接 Integer.toHexString(b[ i ]);,将byte强转为int不行吗?答案是不行的.
其原因在于:
1.byte的大小为8bits而int的大小为32bits
2.java的二进制采用的是补码形式
在这里先温习下计算机基础理论
› 继续阅读
object C基础
星期三, 2013-01-16 | Author: liweizhou40 | ios | 没有评论 3,181 views
这篇主要记录学习apple developer上的Programming with Objective-C的体会
1、类
类是创建对象的模板,接口是类对外的展示
(1)接口定义
1 2 3 4 5 6 7 | @interface Person : NSObject @property (readonly) NSString *firstName; @property (readonly) NSString *lastName; @property int yearOfBirth; - (void)sayHello; - (void)saySomething:(NSString *)someWords; @end |
需要注意,名称必须唯一,所以一般会添加前缀,防止命名冲突(比如ZLWPerson)。
在方法前加-,代表这是一个实例方法。类方法前加+。
(2)类定义
1 2 3 4 5 6 7 8 9 10 | #import "XYZPerson.h" @implementation XYZPerson - (void)sayHello { [self saySomething:@"Hello, world!"]; } - (void)saySomething:(NSString *)someWords{ NSLog(@"%@", someWords); } @end |
如果要调用父类的方法[super saySomething:someWords];
(3)对象
方法调用
1 | [zhoulw saySomething:@"shut up!"]; |
初始化(可带参数)
1 | SomeObject *newObject = [[SomeObject alloc] initWithInt:30]; |
利用new初始化(不带参数,只是简化写法)
1 | SomeObject *newObject = [SomeObject new]; |
利用工厂方法(实际上还是调用了初始化)
1 | NSNumber *magicNumber = [NSNumber numberWithInt:42]; |
利用字面量
1 | NSString *name = @"zlw"; |
nil:不同于java的null,不会抛异常
1 2 3 | if (somePerson) { // somePerson points to an object } |
实例变量
1 2 3 4 5 6 | @synthesize firstName = ivar_firstName; ... NSString* firstName = [personZlw firstName]; firstName = personZlw.firstName; firstName = ivar_firstName; [personZlw setFirstName:@"zhoulw"]; |
没有使用@synthesize,则实例变量名为_firstName;
@synthesize firstName,则实例变量名就是firstName;
可以不写property,定义实例变量,不过不建议使用;
在init方法中,直接使用实例变量赋值,而不用set方法(why?没有实例?);
get,set方法是原子操作
强引用,弱引用
1 2 | @property (weak) id delegate; NSObject * __weak weakVariable; |
有些类不可以被弱引用,如NSTextView, NSFont and NSColorSpace
1 2 | @property (unsafe_unretained) NSObject *unsafeProperty; NSObject * __unsafe_unretained unsafeReference; |
copy修饰
1 2 3 4 5 6 | NSMutableString *nameString = [NSMutableString stringWithString:@"John"]; self.badgeView.firstName = nameString; [nameString appendString:@"ny"]; ... //直接赋值时别忘记copy _instanceVariableForCopyProperty = [aString copy]; |
4、protocol
略,原来写了,忘记保存,懒得补
5、block
1 2 3 4 5 | void (^simpleBlock)(void) = ^{ NSLog(@"This is a block"); }; ... simpleBlock(); |
1 2 3 4 5 6 | double (^multiplyTwoValues)(double, double) = ^(double firstValue, double secondValue) { return firstValue * secondValue; }; double result = multiplyTwoValues(2,4); NSLog(@"The result is %f", result); |
1 2 3 4 5 6 | int anInteger = 42; void (^testBlock)(void) = ^{ NSLog(@"Integer is: %i", anInteger); }; anInteger = 84; testBlock(); //42 |
__block block可以知道变量修改,并且block可以改变变量值
1 2 3 4 5 6 7 8 | __block int anInteger = 42; void (^testBlock)(void) = ^{ NSLog(@"Integer is: %i", anInteger); anInteger = 100; }; anInteger = 48; testBlock();//48 NSLog(@"Value of original variable is now: %i", anInteger);//100 |
1 2 3 4 5 6 7 8 | typedef void (^XYZSimpleBlock)(void); XYZSimpleBlock anotherBlock = ^{ ... }; - (void)beginFetchWithCallbackBlock:(XYZSimpleBlock)callbackBlock { ... callbackBlock(); } |
Search
相关文章
热门文章
最新文章
文章分类
- ajax (10)
- algorithm-learn (3)
- Android (6)
- as (3)
- computer (85)
- Database (30)
- disucz (4)
- enterprise (1)
- erlang (2)
- flash (5)
- golang (3)
- html5 (18)
- ios (4)
- JAVA-and-J2EE (186)
- linux (143)
- mac (10)
- movie-music (11)
- pagemaker (36)
- php (50)
- spring-boot (2)
- Synology群晖 (2)
- Uncategorized (6)
- unity (1)
- webgame (15)
- wordpress (33)
- work-other (2)
- 低代码 (1)
- 体味生活 (40)
- 前端 (21)
- 大数据 (8)
- 游戏开发 (9)
- 爱上海 (19)
- 读书 (4)
- 软件 (3)