- 浏览: 257715 次
- 性别:
- 来自: 天门
最新评论
-
faithLove:
我明白了,摘自http://www.jb51.net/arti ...
js预编译和执行期的问题 -
faithLove:
代码块:var a = 1; function b( ...
js预编译和执行期的问题 -
u014514559:
this.currentAngle是什么值呀?我现在遇到了一个 ...
鼠标拖动时旋转 -
smiky:
majie648495595 写道楼主,你好,那个Twain. ...
手把手教你做基于web的文件扫描并上传 -
majie648495595:
楼主,你好,那个Twain.rar能发给我吗?你的链接下载下来 ...
手把手教你做基于web的文件扫描并上传
文章列表
鼠标拖动时旋转(多个节点以同一点旋转)
- 博客分类:
- 绘图笔记
示例以raphaeljs在操作
在旋转时要搞明白一个问题,相对于谁在旋转?
这里有一个节点,x为170,y为160,width为150,height为50,没有旋转此时它的matrix为(1,0,0,1,0,0),
此时我们调用rotate(90,235,185)会使它以轴心圆心90度
旋转之后结果:
这个时候也不管什么matrix,x,y如果此时我想以左上角为圆心来旋转此节点,应该怎么操作?
聪明的同学肯定相到了,直接rotate(90,170,160+50)就可以了,那么为什么这样就可以了呢?
左上角在直接坐标系中的坐标是(210,110)根据圆心所在位置很简单就可以 ...
*事件属性:
*clientX、clientY(鼠标指针位置相对于当前窗口)
*offsetX、offsetY(非IE下:相对触发事件的对象的border的顶点的位置)
*layerX、layerY
*pageX、pageY(相对于窗口并包含滚动条的位置)
*screenX、screenY相对于屏幕的顶点,当然就包含工具条之类的东东占具的位置
*
*
*在IE8中:
*offsetX、offsetY表示相对于对应元素的顶点(border的右下角,不算border,点在border上是负数)的位置
*clientX、clientY是相对于当前可视范围的 ...
相信大家都见过这种情况,在ppt或word中,有个文本框,选中后,在上方会出现一个旋转的图标(如下图),拖动此图标时会旋转,那么这个角度该怎么计算?
我是这样算的,以图形中心为圆心(O),从圆心出发的y轴为边(OA),以鼠标 ...
这两天发现新装的eclipse总是根不进jdk的代码里面去,尽管关联上了源码。一看eclipse的jre设置,关联上的是一个jre下面的jar包,于是重新关联成jdk/jre/lib的jar包,就可以调试了
有两个让我不太明白的调用:
1.http://smiky.iteye.com/admin/blogs/996590
2.
package org.gerry;
public class Son extends Parent
{
public void test()
{
super.test();
System.out.println( this );
this.duo();
}
public void duo()
{
System.out.println("Son duo");
}
}
pa ...
类加载器在加载一个类的时候,先查看该类是否己经加载了(loadClass方法里面的逻辑),如果没有,那么就由父类去找,如果到了最顶层类加载器还没找到,就从顶层类加载器开始加载那个类,加载不成功的话就由下一层的类接着加载
注意下面的强制转化(最下面的( Parent )sonCl.newInstance()):
在代码A执行时不报错,在找码B执行时报错
原因:
在方法内,默认由AppClassLoader加载类,在B执行时,Parent代表的是AppClassLoader下的Parent(使用一个类时,默认由线程类加载器加载对应的类,默认为AppClassLoader,下面居 ...
Looper这个东东很重要,线程之间的通信全靠它,Activity能运行起来也是因为它
下面是启动时的方法调用:
Instrumentation.callActivityOnCreate(Activity, Bundle) line: 1079
ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 2023
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, ...
public void initTabLayout()
{
TabHost tabHost = new TabHost( this ,null);//后面这个null一定要加,否则在addTab时会报资源找不到的错误
LinearLayout lineLayout = new LinearLayout( this );
lineLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.L ...
DEMO Code
var _scope = this;
this.logJqGrid = logTable.jqGrid({
datatype: "local",
colNames:
[
NextGen.Lang.DeviceLogGraph.tableHeader.date,
NextGen.Lang.DeviceLogGraph.tableHeader.value
],
colModel:[
{name:'timestamp',index:'timestamp', width:60, align:'center',form ...
<li><span></span></li>
当mouse点击时切换span的样式,实现简单的背景改变效果。具体css记不清了,最初给定span的display是block,结果class改变后里面的图片不加载,在网上找了一下,有一些说法,其中有一条是将span的visibility为hidden时图片是可以加载的,一试果然行的通。于是又胡乱改了下display:inline-block,刷新,发现这样图片也会加载。
var foo = 1;
function bar() {
if (!foo) {
var foo = 10; //如果这里不加var就是1了,加了var后在预编译时foo会被当做局部变量进行索引,可能有同学基
础和我一样不是太好的,在想我外部定义了一个变理,在内部使用都是好好的啊,那你一定要注意了,这里多了个var
}
alert(foo);
}
bar();
var a = 1;
function b() {
a = 10; ...
这两天遇到个问题,两个对象会共用一份数据,
如下:
Ext.extend(Nts.Window.RaaInterfaceDetailWindow,Ext.Window,
{
interfaceMap : {}
})
这里定义了一个对象,继承自window,它有一个属性interfaceMap且直接给了初始值
以前看过extjs 的继承,可仅仅只是关注了它的原理,没有去想它的属性是怎么给的,今天一看它对属性的给值吓我一跳
Ext.override(sb, overrides),sb相当于Nts.Window.RaaInterfaceDetailWindow,override ...
最近系统要上线,收到一份系统技术规范,与安全相关的。这里总结一下:
代码相关:
1.sql注入,这个大家估计都知道,用预处理解决.这个问题很简单,但是在编程时只求完成任务,很多地方都没注意,在日后编程中要认真了。
2.cookie,用户登录时将用户名与密码加密后存放在cookie中,虽然加过密但是在firebug之类的工具下用document.cookie还是可以看到密文的,需要设置httponly.在servlet3.0规范中可以设置Cookie对象的httponly属性。对于之前的版本,需要直接response.setHeader来设置cookie,在字符串最后最后加上httponly ...
两个大数相乘,
public class BigNumberMultiplication
{
public static void main(String[] args)
{
//number1*number2
String number1 = "3412522345234564578567856783652356239103489162389461293461923549125364785127834512345234523563456457645764562344523451234";
String number2 = "12 ...
参考:http://www.xiaoxiaozi.com/2009/05/22/588/
http://bornlone.iteye.com/blog/386909
JavaScript值类型和引用类型有哪些 (1)值类型:数值、布尔值、null、undefined。 (2)引用类型:对象、数组、函数。
字符串比较特殊
var oraginalObj = {
a : 123,
b : {
value : 456
}
};
var targetObj = {
a : oraginalObj.a,
b : oraginalObj.b
}; ...