上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 61 下一页
  2011年5月6日
摘要: 在前一篇日志里,我决定使用Silverlight来开发虚拟实验室引擎。接下来,我将从上到下,构建这个引擎。确定实验室中的对象构建一个虚拟的产品,首先映入脑海的就是该产品的具体表现形式。根据这个,我把实验室中的对象分成两个个部分:场景和物品。所谓场景,实际上相当于背景,像地板这些永远不会覆盖在人物之上的东西统统可以归咎于场景。在渲染上,场景也是最好对待的,它往往不会改变位置,永远位于物品下方,不存在空间排序问题及遮挡问题。物品,大概相当于前景。例如桌子、柜子等等。这些东西在渲染的时候,可能需要按照它们所处的空间位置排列,造就遮挡的效果。根据唯物主义理论,人物也是一种物品,不过和桌子比,人物会动, 阅读全文
posted @ 2011-05-06 14:49 carekee 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 在前一篇日志里,我用两个UML图描述了引擎中所使用的数据对象和界面渲染对象。本文将创建VObject类。VObject是引擎中所有虚拟对象的父类,包括一些公共的属性和方法。VObject内部,主要通过以下顺序来创建数据。 属性让我们看看VObject有哪些属性: 属性名类型说明NameString名称IDGuid唯一的编号值WidthInt32宽HeightInt32高CenterXInt32中点横坐标(相对于VObject)CenterYInt32中点纵坐标(相对于VObject)TopXInt32顶点横坐标(相对于所在的Place)TopYInt32顶点纵坐标(相对于所在的Place)XI 阅读全文
posted @ 2011-05-06 14:49 carekee 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 什么是引擎引擎是使用素材,响应用户输入,处理简单运算、调用远程数据的程序集。在虚拟实验室里,引擎负责调用图片素材、渲染场景、接收用户鼠标点击事件、相应事件,以及和后台通信: 这就像网络游戏的引擎一样。网游的引擎集成在Client客户端中,利用DirectDraw或Direct3D来渲染素材,利用DirectInput和鼠标键盘交互,利用Socket和游戏服务器进行数据传输。虚拟实验室引擎类似于传统CS架构下网游的引擎,但是又有着不同:虚拟实验室是基于BS架构的,客户端嵌入在网页中,我们通过在浏览器中输入网址来访问它。使用什么语言嵌入在网页中的对象有很多中,我们该用哪种语言来开发虚拟实验室引擎呢 阅读全文
posted @ 2011-05-06 14:46 carekee 阅读(439) 评论(0) 推荐(0) 编辑
摘要: WordPress 是一种使用 PHP 语言和 MySQL 数据库开发的开源、免费的 Blog(博客,网志)引擎,用户可以在支持 PHP 和 MySQL 数据库的服务器上建立自己的 Blog。WordPress 是一个功能非常强大的博客系统,插件众多,易于扩充功能。安装和使用都非常方便。目前 WordPress 已经成为主流的 Blog 搭建平台。本文描述了如何在服务器上搭建一个属于自己的WordPress博客。本文分成以下几个方面:下载并解压WordPress在MySQL中建立用户名和博客数据库添加IIS应用程序执行安装 下载并解压WordPresshttp://code.google.co 阅读全文
posted @ 2011-05-06 14:36 carekee 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 好了,现在我们能在c#里通过编程扫描图像了。还不满足?对,在前面的例子里,需要扫描的时候总是要按下一个扫描按钮,既傻又费事。现在的扫描仪,上面往往会多几个额外的按钮用来和用户交互,例如我是用的HP G2410上就有两个按钮:扫描及复制。那么,能不能用这两个按钮来代替程序里的那个难看的按钮呢? 注意左上角那个难看的按钮了吗?在WIAAL里,我们可以同过注册设备事件,监听事件等方式和设备上的按钮交互。注册事件还记得我们在上节提到的DeviceManager对象吗?MSDN官方文档描述:The Microsoft Windows Image Acquisition (WIA) Device Mana 阅读全文
posted @ 2011-05-06 14:26 carekee 阅读(1016) 评论(1) 推荐(0) 编辑
摘要: 在前面几节,我通过调用CommonDialog对象的ShowAcquireImage方法来扫描图像,这是一个弹出选择设备对话框,让用户自己扫描的过程。有时候,我们不想把过程弄得那么复杂,只想用户点击按钮后,自动开始扫描。本节我将尝试这个需求。WIAAL模型在开始代码前,再回顾以下WIAAL模型,这里选取其中的一小部分: 和 从上图不难想象,一台扫描仪,实际上就是一个Device对象,因此,我们可以通过DeviceManager来“获取”这台设备的“引用”,然后通过得到的Device对象,执行相应的扫描工作。从而跳过了使用ShowAcquireImage方法带来的一系列“多余的鼠标操作问题”。获 阅读全文
posted @ 2011-05-06 14:25 carekee 阅读(1413) 评论(0) 推荐(0) 编辑
摘要: WIA Automation Layer不仅能从设备中捕获照片,还能进行简单的处理。当WIA Automation Layer从设备中捕获照片,保存为一个ImageFile对象,我们可以通过访问该ImageFile对象来访问照片的属性。然而,为了保护原来的照片,不能直接通过修改该ImageFile对象的方法修改图片。代替的方法是,使用ImageProcess和一个或多个Filter对象创建一个副本,修改图片。代码以下代码把扫描得到的图片顺时针旋转90度:if (imageFile != null){ ImageProcess ip = new ImageProcessClass(); obje 阅读全文
posted @ 2011-05-06 14:20 carekee 阅读(2588) 评论(0) 推荐(0) 编辑
摘要: 前文说过,在WIA 2.0 里,有一个叫Automation Layer的东西,来负责WIA和应用程序交互。既然被命名为Automation了,那么意味着比直接试用WIA接口,WIAAL更容易、更方便。实际上的确如此。关于WIA Automation Layer文档上说,WIA Automation Layer是一个高级的,全能的图像操作组件,能为应用程序(例如ASP,C#)提供首尾相连的处理能力。利用WIAAL,在程序中可以很容易地从诸如数码相机、扫描仪等图像设备中捕获图像,以及进行简单处理(缩放、旋转)。对象分级结构WIAAL的对象不多,总的来说分成来两块,第一块是可以被创建的类(例如在c 阅读全文
posted @ 2011-05-06 14:19 carekee 阅读(702) 评论(0) 推荐(1) 编辑
摘要: WIA(Windows Image Acquire,最新版本2.0)是Windows中一组从设备中捕获图像的标准API集合,它可以从设备(例如扫描仪、数码相机)中获取静态图像,以及管理这些设备。它既是API,又是DDI(Device Driver Interface)。因此,只要是满足这个规范的设备,都能够利用WIA直接和应用程序交互,而不是通过驱动。WIA甚至提供了统一的对话框来获取图片。WIA是基于Com的,有两种使用方式:c++:使用WIA自定义接口其他:使用WIAAL(WIA Automation Layer)。 注:在Windows XP sp1以前的版本,WIAAL还不存在,因此第 阅读全文
posted @ 2011-05-06 14:05 carekee 阅读(3331) 评论(0) 推荐(0) 编辑
  2011年5月5日
摘要: 今天在用GDI+写程序时,有 bmp = new Bitmap(L"E:\\1.png");用VC6 SP6或VS2005编译错误为error C2660: 'new' : function does not take 3 parameters这是VC的一个BUG,微软至今还没有解除。解决办法如下:法一:在该CPP文件开头部分注释掉#define new DEBUG_NEW#ifdef_DEBUG//#define new DEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[] = __FILE__;#endif建议法二: 阅读全文
posted @ 2011-05-05 17:56 carekee 阅读(3122) 评论(1) 推荐(1) 编辑
  2011年5月4日
摘要: Server.MapPath获得的路径都是服务器上的物理路径,也就是常说的绝对路径1、Server.MapPath("/")注:获得应用程序根目录所在的位置,如 C:\Inetpub\wwwroot\。2、Server.MapPath("./")注:获得所在页面的当前目录,等价于Server.MapPath("")。3、Server.MapPath("../")注:获得所在页面的上级目录。4、Server.MapPath("~/")注:获得当前应用级程序的目录,如果是根目录,就是根目录,如果是虚 阅读全文
posted @ 2011-05-04 14:44 carekee 阅读(218) 评论(0) 推荐(0) 编辑
摘要: JavaScript中confirm,alert,prompt的用法及返回值window.confirm 参数就只有一个。显示提示框的信息。按确定,返回true;按取消返回false。 <html><head><script language="javascript">function k(){var k=window.confirm('你好!');alert(k);}</script><meta http-equiv="Content-Type" content="text 阅读全文
posted @ 2011-05-04 13:57 carekee 阅读(6872) 评论(0) 推荐(1) 编辑
  2011年4月21日
摘要: CListCtrl和CImageList显示缩略图,图片自动排列。 2010-07-30 18:42首先将你的CListCtrl风格设置为ICON风格CImageListm_ImageList;CListCtrlm_list;m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);m_list.SetIconSpacing(CSize(140, 130));//set pictures spacing//wide of picture is 120,height is 90m_ImageList.Create(120,90, 阅读全文
posted @ 2011-04-21 10:22 carekee 阅读(8653) 评论(0) 推荐(0) 编辑
  2011年4月20日
摘要: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=u 阅读全文
posted @ 2011-04-20 10:46 carekee 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 151.实现打印预览及打印<OBJECTclassid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"height=0id=wbname=wbwidth=0></OBJECT><inputtype=buttonvalue=打印预览onclick="wb.execwb(7,1)"><inputtype=buttononClick=document.all.wb.ExecWB(6,1)value="打印">//152.不通过form,直接通过名字引用 阅读全文
posted @ 2011-04-20 10:34 carekee 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 101.饼图<style>v\:*{behavior:url(#default#VML)}o\:*{behavior:url(#default#VML)}.shape{behavior:url(#default#VML)}</style><scriptlanguage="javascript">functionshow(pie){pie.strokecolor=pie.fillcolor;pie.strokeweight=10;div1.innerHTML="<fontsize=2color=red>"+p 阅读全文
posted @ 2011-04-20 10:33 carekee 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 51.向文件中写内容<%@pageimport="java.io.*"%><%Stringstr="printme";//alwaysgivethepathfromroot.Thiswayitalmostalwaysworks.StringnameOfTextFile="/usr/anil/imp.txt";try{PrintWriterpw=newPrintWriter(newFileOutputStream(nameOfTextFile));pw.println(str);//cleanuppw.close(); 阅读全文
posted @ 2011-04-20 10:32 carekee 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 1.oncontextmenu="window.event.returnValue=false"将彻底屏蔽鼠标右键<tableborderoncontextmenu=return(false)><td>no</table>可用于Table2.<bodyonselectstart="returnfalse">取消选取、防止复制3.onpaste="returnfalse"不准粘贴4.oncopy="returnfalse;"oncut="returnfalse 阅读全文
posted @ 2011-04-20 10:31 carekee 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 要实现动态交互,必须掌握有关窗体对象(Form)和框架对象(Frames)更为复杂的知识。一、窗体基础知识窗体对象可以使设计人员能用窗体中不同的元素与客户机用户相交互,而用不着在之前首先进行数据输入,就可以实现动态改变Web文档的行为。1、什么是窗体对象窗体(Form):它构成了Web页面的基本元素。通常一个Web页面有一个窗体或几个窗体,使用Forms[]数组来实现不同窗体的访问。<form Name=Form1><INPUT type=text...><Input type=text...><Inpup byne=text...></f 阅读全文
posted @ 2011-04-20 10:26 carekee 阅读(341) 评论(0) 推荐(0) 编辑
摘要: JavaScript是基于对象的脚本编程语言,那么它的输入输出就是通过对象来完成的。其中有关输入可通过窗口(Window)对象来完成,而输出可通过文档(document)对象的方法来实现。一、窗口及输入输出请看下面例子:<HTML><Head><script languaga="JavaScript">Var test=window.prompt("请输入数据:");document.write(test+"JavaScript输入输出的例子");</script></Head&g 阅读全文
posted @ 2011-04-20 10:25 carekee 阅读(732) 评论(0) 推荐(0) 编辑
上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 61 下一页