Web设计精确点滴 浅谈网页UI之Logo篇 浅谈网页UI之Banner篇 asp.net图片水印效果
2011.07 11
WQ微博客户端,尼玛终于做完了,无需安装AIR之类的东东,Winodws7用户直接安装,XP用户需要.net framework 3.0以上内裤,采用oAuth授权安全可靠,用户可以放心使用,本软件功能一点也不强大,非常简单,有木有见过这么简单的微博客户端,有木有?有木有?木有就下载的试一下!^_^
本软件不需要任何CHM或视频教程,你懂的......
新浪微博:http://weibo.com/2091522983
下载地址:http://www.zhouwenqi.com/upfile/2011711/wqweibo.rar
wqweibo
2011.06 03
  FlowDocument是一个高级文档控件,可以承载丰富的流内容格式,FlowDocument顶级子元素必须派生自Block,包括:BlockUIContainer,List,Paragraph,Section,Table等内容模型,那么这样含盖的控件元素就相当丰富了,那么一个丰富的流文档中的元素很少在.cs中一个个加入,也不可能直接构建在.xaml文件中,一般的“富流”可能都是来至外部。例如:远程或本地的.xml流中,或者是把html流转换过来的xml文档等(我现在做的一个微博工具就要这样),很显然WPF直接支持将xml流转换成相应的WPF控件或内容模型,前提是将xml流的标签必须是有效的WPF控件标签,否则抛出异常,例如:要将一个xml流转换成FlowDocument控件,这个xml中的标签结构必须是上面提到5种Block内容模型。
下面通过一个例子说明:
string _text="<Image Source=\"http://www.xxx.com/xxx.png\" /><Label>my face</Label>";
string _xml = "<FlowDocument xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\">";
_xml+="<Paragraph LineHeight=\"18\">"+_text+"</Paragraph>";
_xml+="</FlowDocument>";
System.IO.StringReader reader = new System.IO.StringReader(_xml);
System.Xml.XmlReader xmlreader = System.Xml.XmlReader.Create(reader);
FlowDocument doc = (FlowDocument)XamlReader.Load(xmlreader);
2010.11 16
  很多事情我都不想放弃,尤其是技术层面上的事件,但这次我真的要放弃了,4个月前我将界面和控件全部用wpf写好,当时真的兴致勃勃,尽管新浪微博开放平台的api还不够完善,很而有很多请求限制,包括限制请求次数,而且在api接口文档最后说明搜索功能只限“新浪合作伙伴”,我一直认为正式开放时,这些限制会取消或降低,今天看了他们的发布会才终于醒过来,这个我一直认为将是国内最开放的平台,其实也不过如此,相比google和bing的开放自由度相差太远了。

  新浪微博开放平台根本就是只开放给合作伙伴,前面的测试开放平台只是让自由程序员做了“小白鼠”,现在的微博平台应用程序中心全是“测试品”,用户根本不可能使用这些产品,只有今天的发布会上的合作伙伴才是重头戏,创新工场、eico他们才是真正开放平台的被开放者。

  发布会看了一半,我不想看了,我进入api文档库查看,依然是4个月前的那是微弱的开放接口说明,仍然没有搜索,继续限制请求,我要这个鸡肋api有什么用?我真的心灰意冷,打开4个月前做好的界面库和控件库---我全删了,“国产api”真的太让人无语了。
2010.05 31

  今天在用WPF做自定义滚动条的时候发现一个有趣的问题,足足困扰了我2个小时,在给滚动条的上下翻滚按钮添加事件特效时,居然IsPressed事件外观无效,源代码如下:

<ControlTemplate.Triggers>
  <Trigger Property="IsPressed" Value="true">
    <Setter TargetName="path" Property="Fill" Value="{StaticResource PressedBrush}" />    
    <Setter TargetName="path" Property="BitmapEffect" Value="{StaticResource mousedown}"></Setter>
  </Trigger>
  <Trigger Property="IsMouseOver" Value="true">
    <Setter TargetName="path" Property="Fill" Value="{StaticResource HorizontalNormalBrush}"></Setter>
    <Setter TargetName="path" Property="BitmapEffect" Value="{StaticResource mouseover}"></Setter>                           
  </Trigger>  
</ControlTemplate.Triggers>

  起初认为是IsPressed不起作用,再次给IsPressed添加一个不同对象的事件属性:

<Setter TargetName="Border" Property="Margin" Value="5"></Setter>

2010.05 07

  群里总是有人问WPF三维怎么弄?问的最多的是:“我花了很长时间了解相机、灯光、场影、3D坐标等,但我不会画3D模型”,原因很简单 -- 你们又一次被微软给“呼悠”了,这是微软的一贯手段,新概念推出时总是先吹上天,骗一些程序员过来做小白鼠,然后等骗的人达到了一定的数量,这个概念也就慢慢成熟了,现在的WPF中的3D像.NET Framework 1.1和Silverlight1.0一样是个稚型,不能说他一无是处,高手有高手的搞法,只是你别太相信他们的宣传广告,每个概念(技术)推出时都是这样的,别期望太大关健在于你自己去了解。

  话题转回来,WPF的3D目前不适合做UI的人使用,用过3DSMax的人会更加郁闷,原因不说了,这里先说Viewport3D,Viewport3D其实只算是一个Panel用来在窗体中装3D场景和3D元素的,WPF中的3D元素大体只分3种:相机camera、光源light、模型model。

wpf三维模型

2010.04 17

  说到图形处理,这里先说一下GDI+,GDI+固然强大但没有硬件加速,全靠软件实现,而且功能受限,而WPF全部(号称)通过显卡GPU计算处理,采用Direct3D引擎,而且硬件加速,强行贯入的“与设备无关单位”概念,让计算机图形处理更加生动有趣,但也有一些人不“适应”,因为WPF渲染引擎绘制时进行了平滑处理,结果把文字也“平滑”了,习惯了XP的像素字体的人都觉得WPF的字体太模糊了,尤其是系统默认的12号宋体字,虽然雅黑体看上去要好一些,但还是有人死咬住这个问题不放,其实这只是习惯问题,等windows 7普及后就会好一点了,而且据说.NET Framework 4.0加入了文字锯齿选项,到时候这个问题自然会解决。

GDI+绘制

  这里我不是来解决这个字体问题(而且事实上我个人认为根本不用解决,雅黑体很好看的),这里我想说的是GDI+和WPF各有优劣,不要进行取舍,以后图形领域发展什么样大家都不知道,目前来讲大部分GUI和图片处理还是要靠GDI+(和GDI)的,尤其是像素图形处理。

2010.04 17

  .NET Framework 3.5 SP1已经装了一阵子了,一直没时间试一下效果,只听介绍说WPF的运行速度提高了35%左右,这个才是我想要的,WPF速度太慢了,所以我才装它,再好的显卡和CPU运行再简单的效果都让人纠结,那种有节奏性的延迟真的会把人弄成心急梗塞,为了看看微软有没有吹大牛,加上今天有空我想测试一下它的效果,为了达到最佳效果,我给VS2008也打上SP1,做了个很简单的软件,从Bing和Google提供的API搜索图片进行分类保存,然后进行拖放,分别在传统窗体和透明窗体(AllowsTransparency=true)下运行,传统窗体和Windows from速度差不多,搜索图片和显示很快,但是拖拽有点卡,尤其是遇到PNG和GIF图片,去掉图片的阴影和边框就好了,可能是PNG和GIF图片对BitmapEffect优化不行,遇到透明PNG和GIF时,有点延迟,本想拿到一台没有打SP1的机器上对比一下效果,我已经没心情了,修改一下程序后,放在完全透明的窗体(布局也透明了,就剩图片控件了)下运行,运行就慢很多了,不过搜索仍然很快,但鼠标悬停在控件上的效果,延迟达到1秒左右,拖拽不用说了,简置就是Bull shit。

wpf测试效果

  还有一个问题AllowsTransparency=true时居然,WPF新增控件WebBrowser居然仍然是一片空白,真的让人失望,居然把这个问题遗留下来了,我甚至怀疑这是微软的开发人员偷懒直接从windows form那边把WebBrowser拿过来的。

分页分页:
Copyright © 2005-2012 Wenqi's blog All Rights Reserved.