我是live Writer写的一个Blog
这是一个测试,如果成功了我就亲你一口
这是一个测试,如果成功了我就亲你一口
网上找的一段代码,升成的文件压缩率很高,而且还很清楚
/// <summary>
/// 生成缩略图
/// </summary>
/// <param name="originalImagePath">源图路径(物理路径)</param>
/// <param name="thumbnailPath">缩略图路径(物理路径)</param>
/// <param name="width">缩略图宽度</param>
/// <param name="height">缩略图高度</param>
/// <param name="mode">生成缩略图的方式</param>
public static void MakeThumbnail(string originalImagePath, string thumbnailPath, int width, int height, string mode)
{
Image originalImage = Image.FromFile(originalImagePath);
int towidth = width;
int toheight = height;
int x = 0;
int y = 0;
int ow = originalImage.Width;
int oh = originalImage.Height;
switch (mode)
{
case "HW"://指定高宽缩放(可能变形)
break;
case "W"://指定宽,高按比例
toheight = originalImage.Height * width / originalImage.Width;
break;
case "H"://指定高,宽按比例
towidth = originalImage.Width * height / originalImage.Height;
break;
case "Cut"://指定高宽裁减(不变形)
if ((double)originalImage.Width / (double)originalImage.Height > (double)towidth / (double)toheight)
{
oh = originalImage.Height;
ow = originalImage.Height * towidth / toheight;
y = 0;
x = (originalImage.Width - ow) / 2;
}
else
{
ow = originalImage.Width;
oh = originalImage.Width * height / towidth;
x = 0;
y = (originalImage.Height - oh) / 2;
}
break;
default:
break;
}
//新建一个bmp图片
Image bitmap = new System.Drawing.Bitmap(towidth, toheight);
//新建一个画板
Graphics g = System.Drawing.Graphics.FromImage(bitmap);
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//清空画布并以透明背景色填充
g.Clear(Color.Transparent);
//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, new Rectangle(0, 0, towidth, toheight),
new Rectangle(x, y, ow, oh),
GraphicsUnit.Pixel);
try
{
//以jpg格式保存缩略图
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (System.Exception e)
{
throw e;
}
finally
{
originalImage.Dispose();
bitmap.Dispose();
g.Dispose();
}
}Flex3的ComboBox不能像HTML的Select一样,可以根据text或value直接设置选中值.还要我自己包个增强的ComboBox自定义组件
在自定义组件里加入这样一个方法就可以有这个功能了
public function selectedMyComboBoxLabel(_lable:String):void { for each(var cmb:Object in this.dataProvider){ if(_lable == cmb.label){ this.selectedItem = cmb; break; } } }
调用很简单
MyComboBoxId.selectedMyComboBoxLabel(“要选中的文本项”);
找了一个WEB代理.以后要成为我的必备了
先用他上了把”所有”墙外的网站
果然很黄很暴力,不过我喜欢.
再好的UI也有审美疲劳的时候.
所以当你感觉因为UI太差而无法再往下写程序时,不防休息两天.
本例使用ComboBox为原型. 做了一个可以根据用户设置的属性自动从HTTPService获取不同数据列表的自定义组件…
HTTPService获取数据的PHP代码
if($_GET["action"]==="1") echo "true"; else echo "false";
自定义组件代码
<?xml version="1.0" encoding="utf-8"?> <mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml" editable="true" > <mx:HTTPService id="hs" url="{this._hsUrl}" result="this.dataProvider=hs.lastResult.toString()"/> <mx:Script> <![CDATA[ [Bindable] private var _hsUrl:String; public function set hsUrl(v:String):void { this._hsUrl = v; } public function hsSent():void { hs.send() } ]]> </mx:Script> </mx:ComboBox>
使用组件代码
<ns1:myCbb x="187" y="174" id="myCbb1"/> <ns1:myCbb x="87" y="74" id="myCbb2"/> <mx:Script> <![CDATA[ private function init():void { this.myCbb1.hsUrl = "http://localhost:8081/index.php?action=1"; this.myCbb1.hsSent(); this.myCbb2.hsUrl = "http://localhost:8081/index.php?action=2"; this.myCbb2.hsSent(); } ]]> </mx:Script>
不要用Beta版的东西做正式开发
我从Flex4 Beta 2又退回到 Flex3
帮助文档不全.可用的资料太少.是最大的问题
1.RemoteObject要使用到AS的实体类(使用Bindable绑定Java类)。我的系统涉及到200多张表,如果改动表结构的话,AS实体类也要跟着改。十分麻烦,而且写好又要改getter,setter,又要部署到tomcat。除非你自己写工具自动生成。
2.使用RemoteObject,那你的J2EE后台要添加remoting-config.xml,services-config.xml 等等的配置文件和Flex的lib,多了很多文件,而我做项目的Flex仅仅是客户端显示,然后调用后台。因此我的服务端完全就可以我们熟悉的J2EE需要用到的文件。减少了配置和以后的维护。
3.如果你要使用到Spring的话,需要配置SpringFactory和destination。例如:
services-config.xml里面添加:
<factories>
<factory id=”spring”/>
</factories>
remoting-config.xml里面添加:
<destination id=”userService”>
<properties>
<!– 工厂对应你自己取的工厂名字 –>
<factory>spring</factory>
<!– 这个source对应spring的bean的id –>
<source>userService</source>
</properties>
</destination>
这里需要为每一个Service配置,多的话。。。。
4.我这边做Flex的UI的开发者都是应届毕业生,使用RemoteObject有必要了解ORM(我后台持久层框架是JPA),不然他们调 RemoteObject的方法时很容易出错,或者不会调用。而使用HttpService只需要我们后台人员和前台做UI的Flex开发者约定一套通信的xml格式即可。后台的负责返回xml,前台的负责发送xml,很爽!例如:
<root>
<model>
<attribute1>attr1</attribute1>
<attribute2>attr2</attribute2>
</model>
</root>
5.Flex的组件对xml的支持十分友好。你可以直接将HttpService返回的xml放到组件的dataProvider就可以了,特别是dataGrid或者tree用起来特别好。
6.使用HttpService减少了部署量。我只要将后台的Java程序部署到Tomcat,前台的Flex就可以直接将FlexBuilder编译好的程序在客户机连接后台,而不用部署到Tomcat,直接测试就可以了。大大提高了开发效率。
7.使用HttpService也有缺点。首先就是通信的效率没有RemoteObject来的高(因为是xml,也可以使用JSON或者其它通信方式)。其次就是,你需要写Object与xml之间的转换。我没有使用xstream,而是自己用反射写工具类。你还需要提供Servlet给 Flex调用。我用的是SpringMVC提供的MulitiController对Flex提供Http服务。
8.使用HttpService,我碰到了一些意想不到的事情。最呕血的是我提供get方法返回xml数据的时候,Flex总是显示旧的数据。解决方法是在你请求的Servlet地址添加一个参数(参数名随便起,我用random),而且请求的参数必须每一次都不一样(可以通过当前时间或者 UUID实现),例如:http://192.168.2.111:8080/UserController.do?servlet=getAll& random=sdfsdfs
IIS6中配置使用asp.net MVC1.0
设置如下:

点击这里的配置按钮。

点这里的插入按钮,把.net2.0的isapi插入到新窗口下面一半的通配符应用程序映射里。

注意这里的确认文件是否存在一定不要选,否则设置就没用了。
完成以上设置以后,mvc就可以以目录形式存在了。表现相当良好。不过要注意一点的是,这样设置以后很费资源,因为要把所有请求都先交给iis处理。记得园子里以前有过关于这方面的讨论。感兴趣的人去翻翻看吧。
不知道php utf-8编码方式要搞什么去掉bom的操作,为什么做成不去也可以一样用呢?!
还有Editplus有问题. 当文档里没有中文时无法保存成为 utf-8 with out bom 方式, 保存之后打开又变成了ASCII编码了 .必须在文档里写个汉字才能保存为utf-8 with out bom编码
php写的去掉网站目录下的文档bom很好用
下载链接:http://down.admin5.com/code_php/17490.html