ASP.NET编程:懂得Hibernate的FlushMode.NEVER
我觉得很重要,一般所说的不重要应该指的是:你学好一种以后再学另一种就很容易了。(因为这样大家可能有一个错觉就是语言不是很重要,只要随便学一种就可以了,其实不是这样的。flush 良多图片处置的算法从道理上讲实在十分复杂,难点常常在怎样往写算法完成它,加倍难的就是怎样往优化完成的算法。虽然说我一直以为程序员的效力比程序的效力更主要,但为了等处置一张本人拍摄的数码照片,溜进来买杯奶茶特地再买张彩票返来发明还没算好,不管怎样都是不克不及忍耐的。马赛克算法很复杂,说白了就是把一张图片支解成多少个val*val像素的小区块(大概在边沿有零散的小块,但不影响全体算法),每一个小区块的色彩都是不异的。为了便利起见,我们无妨让这个色彩就用该地区最左上角的谁人点的色彩。固然还能够有其他办法,好比取区块两头点的色彩,或区块中随机点的色彩作代表等等。上面的表示图就是取val=2的了局。
原始图片像素
ABCDEFG
HIJKLMN
OPQRSTU
VWXYZ01
2345678
马赛克处置后:
AACCEEG
AACCEEG
OOQQSSU
OOQQSSU
2244668
道理就是那末复杂。详细完成就看大家的头脑习气了。我的设法是:
当y(以后高度)是val的整数倍时:
扫描以后行中的每点x,假如x也是val的整数倍,纪录下以后x,y的色彩值;假如x不是val的整数倍,则相沿比来一次被纪录的色彩值。
当y不是val的整数倍:
很复杂,间接复制上一行。
复杂的说就是以线带面,终极完成让人人都看不分明
上面就是源代码。写算法不是我的刚强,不外偶然勉为其难的写个能够跑跑的囫囵吞枣版仍是能够做到的,不期望能够帮到你,只但愿没有误导你。
publicstaticBitmapKiMosaic(Bitmapb,intval)
{
if(b.Equals(null))
{
returnnull;
}
intw=b.Width;
inth=b.Height;
intstdR,stdG,stdB;
stdR=0;
stdG=0;
stdB=0;
BitmapDatasrcData=b.LockBits(newRectangle(0,0,w,h),ImageLockMode.ReadWrite,PixelFormat.Format24bppRgb);
unsafe
{
byte*p=(byte*)srcData.Scan0.ToPointer();
for(inty=0;y<h;y++)
{
for(intx=0;x<w;x++)
{
if(y%val==0)
{
if(x%val==0)
{
stdR=p;stdG=p;stdB=p;
}
else
{
p=(byte)stdB;
p=(byte)stdG;
p=(byte)stdR;
}
}
else
{
//复制上一行
byte*pTemp=p-srcData.Stride;
p=(byte)pTemp;
p=(byte)pTemp;
p=(byte)pTemp;
}
p+=3;
}//endofx
p+=srcData.Stride-w*3;
}//endofy
b.UnlockBits(srcData);
}
returnb;
}J2EE比较成熟一点,一些比较出名的企业应用软件都是基于J2EE的。以后的发展就不好说了。不过java比较烦,学.net的话,微软把很多工具都封装好了,学起来可能容易一点。 主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。 PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。 Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。 我的意思是.net好用,从功能上来说比JAVA强还是很明显的。 虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。 Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。
页:
[1]