Delphi 还活着! 
今天无意中逛到了仰慕已久的一个 Delphi 控件开发商 KSDev 的网站,突然在首页上看到了他们旗下的众多产品不再继续开发的消息。震惊之余也不禁感叹。Delphi 作为一个在十多年前无论是思想还是技术都独领风骚的开发工具,落得现在这么一个算得上是爹不疼妈不爱的局面,Borland 的市场部门可谓是难辞其咎。

不过,顺着 KSDev 的公开信往下读,一条消息却让我兴奋不已。KSDev 之所以停止自己的业务,是因为他们加盟了 Embarcadero ——也就是 Delphi 当前的东家,并从事下一代框架的设计。这里其实透露了几个重要的消息,也就是下一代 Delphi 框架很可能支持的特性:

1. 新框架是原生跨平台的(Windows/Linux/Mac/iOS,如同 KSDev 的众多产品一样),而不是什么使用了 Qt 的混血儿。
2. 新框架是基于 3D 的(这个是 KSDev 的强项)
3. 新框架使用硬件加速。也就是说,在界面外观取得突破性改进的同时,保持低 CPU 占用率。(理由同上)
4. 新框架可能是完全自主逻辑,独立于系统控件,由此也使得控件系统在各平台上表现一致。(理由也同上)

当年 Delphi 其实就是借助了 VCL 的先进思想在开发工具市场上战胜了 MFC,取得了辉煌的成就。现在有了 KSDev 的技术支持,又有了 WPF 的借鉴,希望下一代 Delphi 的框架能够在思想上也取得飞跃,让 WPF 和 .NET 见鬼去吧!

[ 查看全文 ] ( 7 评论 / 11442 次浏览 )   |  永久链接  |   ( 2.9 / 6729 )
HTML-5? 
写这篇文章的源起是今天在 CSDN 上看到了一篇关于 HTML-5 的文章,里面提到了 HTML-5 将要支持的特性:
新应用程序接口(API)
即时二维绘图
定时媒体播放
储存
离线
编辑
拖放
通讯/网络
后退按钮管理
MIME 和协议处理程序时表头登记

看到这个东西,我的第一念头就是:一群伪程序员又在没事找事了…… ......

[ 查看全文 ] ( 6 评论 / 7976 次浏览 )   |  永久链接  |  相关链接  |   ( 3 / 5417 )
Viu 2 的 Beta 版启动了! 
这段时间以来的重点主要是一些辅助性的功能和修补。直到今天终于算是完成了自己想要的绝大部分功能,在使用中基本上可以忘掉 ACDSee 了(我想也没有几个人会真的用到 ACDSee 的高级功能吧)。感兴趣的筒子可以到 Viu 2 的官方主页(www.viu2.net)下载。下面例行是继 4 月 7 日以来的开发日记:

【2009.05.28】
今天 Beta 了!更新了网页上截图的切换方式,同时也加上了一个简短的操作指南。

......

[ 查看全文 ] ( 9 评论 / 5369 次浏览 )   |  永久链接  |   ( 3 / 5009 )
Viu 2 开发流水账 - 至2009年4月7日 
这是俺的私人看图软件 Viu 的第二个版本了。从去年九月开始开发(参见当时的文章《viu 2.0 - iPhoto的山寨版?!》),至今已半年有余。随着开发的推进,这段时间以来也陆陆续续的在东二摄绘上发布开发日记。近来因为总担心辛苦记下的东西因为未知的事故而消失,所以特地将其转移至此。

在写下这些的时候,虽然 Viu 2 还处在 Alpha 测试阶段,但官方网站已经开通(www.viu2.net)。欢迎大家参观!

【2008.09.03】

viu 1.0已经发布一段时间了,但因为感觉浏览功能尚不能满足需要,所以着手制作2.0版。新的viu主要是采用ACDSee的功能和iPhoto的外观,在保持1.0极简主义的同时强化照片的浏览功能,预计也有可能加上一些简单的照片处理功能(计划主要是主流编辑工具不提供的一些一键到位效果,因为重复提供功能没有什么意义)。

viu 2.0的第一部分,照片的浏览已经完成。先帖一张截图在这里给大家拍砖,同时欢迎大家说说自己的需求和想法。

其他可以参见viu 1.0的发布帖:http://www.e2image.com/bbs/viewthread.php?tid=139

......

[ 查看全文 ] ( 2 评论 / 4403 次浏览 )   |  永久链接  |   ( 3 / 3300 )
viu 2.0 - iPhoto的山寨版?! 
近几天在写 viu 的 2.0 版。有一次回头看看 viu 1.0 的发布,发现竟然已经过了将近一年。其实这一年里,因为有 ACDSee,我自己倒也没怎么真的用过 viu,毕竟 viu 的文件浏览功能还是太弱。

这一年来我也有留心过其他的看图软件,其中 iPhoto 的设计理念深得我心。但可惜 iPhoto 只存在于 Mac 上,所以迄今为止我也只能在苹果机的演示视频中一睹芳颜。

制作 viu 2.0 的念头其实在我第一次观看iPhoto的演示视频的时候就已经产生了。而且这一年来若干个多线程的开发经历也使得我对线程的运用不再像制作 viu 1.0 时那般生涩。自从前段时间接触到“山寨”一词,深喜其囧味,因此姑且也就把 viu 2.0 定位为 iPhoto 的山寨版吧。:PACMAN:

新的 viu 秉承了 1.0 版本的极简主义风格,同时大大强化了文件浏览功能。按照设计目标,viu 2.0 本身就可以当作一个文件管理器使用。

最后是 viu 2.0 在浏览状态下的截图,用了美国国家地理的图片来显示效果,因为灰底橙框正好是 NG 的风格哈:SUN_GLASSES:


P.S. 今天跟家里通电话,老爸说终于能够看到我的部落格鸟……但是用的是非常手段……这里只好再一次鄙视屏蔽系统,但愿残奥会之后能有所改观。:SHOOT: ......

[ 查看全文 ] ( 8 评论 / 4025 次浏览 )   |  永久链接  |  相关链接  |   ( 2.9 / 4050 )
从RGB到Lab色彩空间的转换 
虽然若干年前就看过了关于色彩空间的介绍,但是直到今天才自己动手写代码做这件事情。虽然网络上已经有很多现成的例子,但是一则仅仅适用于浮点型的数据,另一方面,在实现上也有一些尚可优化之处。

这里将要稍作讨论的便是Lab模型。网络上诸多的介绍都说Lab是基于XYZ的,故人们一般也只能找到XYZ和Lab之间的转换,而RGB到Lab的转换只能使用XYZ作为中间模式间接进行。可惜的是,这种现状源于误解。而在图像处理软件中(比如Photoshop),往往采用一个更为简单的算法。

......

[ 查看全文 ] ( 27 评论 / 8360 次浏览 )   |  永久链接  |   ( 3 / 4943 )
FFDec - Decoding using FFmpeg in Delphi 
Example:

uses FFDecImport;

//...

var
  decoder : HFFDecoder;
  info : AVInfo;
  packet : PAVPacket;
  buffer : array [0..10000000] of Byte;
  size : Integer;
begin
  decoder := ffOpenFile('x:\xxx.avi', @info);
  packet := ffCreateAVPacket(True);
  try
    while ffRead(decoder, packet,
      FFDEC_RAW_FRAME_TYPE_ANY) do
    begin
      if packet.stream_index
        = info.audioStreamIndex then
      begin
        if ffDecode(decoder, packet,
          @(buffer[0]), Length(buffer), size) then
        // Play the decoded audio samples ...
      end
      else if packet.stream_index
        = info.videoStreamIndex then
      begin
        if ffDecode(decoder, packet,
          @(buffer[0]), Length(buffer), size) then
        // Show the decoded
        // picture (BGR24 format) ...
      end;
    end;
  finally
    ffFreeAVPacket(packet);
    ffClose(decoder);
  end;
end;
FFmpeg is a very powerful library for video/audio encoding/decoding. But unfortunately it is very difficult to use in non-C/C++ developments. So I wrote this library a year ago to simplify it for other programming languages - especially for Delphi (I think it would work in Free Pascal too).

The FFDec library consists of only ONE single DLL, which may be released as two versions (see below), and a Pascal header file, which loads the DLL dynamically. You can simply include the header and compile your code.

You can find the official site of FFDec on SF.net:
http://sourceforge.net/projects/ffdec/

The FFDec library wraps the original FFmpeg-APIs almost directly. The usage of FFDec functions is very similar to the libAV* functions. So you'd better get some FFmpeg knowledge before you work with FFDec. I'm sorry that I cannot provide a detailed documentation currently. However, I prefer you to read the DLL source code (it's short and simple) to get ideas of how it works.

The library is released under GPL or LGPL license depending on the embedded FFmpeg version. Both versions can be called in the same way, but the LGPL version may support less formats.

下面是中文说明: ......

[ 查看全文 ] ( 3 评论 / 20095 次浏览 )   |  永久链接  |   ( 3 / 3903 )
轻量级看图器 - viu - 1.0 正式版 
很多年以来我都可以算是 ACDSee 的忠实用户,在本地机子上看图片一般都不做他想。不过随着 ACDSee 越来越臃肿,加上在德国的公用机子上不宜安装 D 版,所以最近一段时间以来终于狠下心另起炉灶。

新的看图器定名为 viu,取自 view 的谐音。程序的图标是一蛇头——偶的生肖:SUN_GLASSES: 。在格式支持方面,viu 目前只支持寥寥数种格式。虽然远不如 ACDSee 那种企业级的应用,但是对于一般的网上冲浪者或者摄影爱好者却已经足够。

不过既然 viu 是作为部分替代 ACDSee 的功能而设计的,那么同时也深深打上了 ACDSee 的烙印。viu 预想中的功能只有两大块,一个是图片查看,另一个是图片浏览。大家可以点击这里下载(版本号 1.6.0.159)【581KB】。软件解压后直接运行即可,无需安装,无需卸载,十分适合用户权限有限且不允许安装软件的情况。

【特性列表】
极简主义外观;
支持中英德三国语言,即时切换;
支持常见图像格式:bmp、jpg、tiff、png 以及单帧 gif;
支持图像 EXIF 元数据显示;
在查看图片时可以使用翻页等键进行顺序浏览;
且在图片切换时使用后台预读;
支持图片的拖移以及无锯齿缩放;
在全屏模式下可以直接把当前的视图设置为墙纸;
可以通过输入文件名的头几个字母来快速索引同一目录中的文件;
可以通过文件拖放来打开一个文件;
可以在一个列表中进行文件关联的管理……
......

[ 查看全文 ] ( 4 评论 / 3422 次浏览 )   |  永久链接  |   ( 3 / 4718 )
本站 simplePHPblog 源代码无责任大放送 
因为来信索要 simplePHPblog 源代码的朋友挺多,所以我干脆整理了一下手头的代码,打了个包提供给大家。下载地址是:
http://www.qinz.net/temp_data/spb.2007.04.06.rar

本版本基于 simplePHPblog 的 0.4.7.1 版。主要的改动有:
● 添加了“置顶”功能;
● 添加了文摘功能(使用 [ digest ] 或者 [ digestonly ] 标签);
● 完善了部分中文界面翻译。因为看着碍眼,删除了除了简体中文外的语言文件:P;
● 制作了 myTheme 主题;
● 修改了月份名称显示仅按照服务器端语言的问题(现在是从语言文件中读取);
● 改变了评论数量的显示样式。

能想起来的暂时就这么多……^_^bbb。还盼诸位下载后能够留言小小的赞美我一下-_-|||

【使用协议】
本产品继续遵循 GPL 协议,所有人皆可免费使用并修改它,请大家在使用或修改本产品前仔细阅读 GPL 协议以及 simplePHPblog 本身的授权。本人不承诺任何后继的支持服务,不对本产品的质量进行任何形式的担保,不对因使用本产品而造成的任何后果负责(典型的三无产品……汗……)。

【已知问题】
● 使用文摘标签对时,如果标签对不能一一匹配(或出现嵌套交错等情况),则有可能导致死循环。我还没有时间去深究这个问题,所以若是遇到这样的情况请打开 content 文件夹中相应的文件进行手动修改。关于文摘处理的代码在 scripts/sb_digest.php 中,如果有人更正了这个问题,也请你发一份代码给我:)

[ 查看全文 ] ( 13 评论 / 5186 次浏览 )   |  永久链接  |  相关链接  |   ( 3 / 4046 )
可扩展多媒体分析平台 
...... 从 2005 年中算起的话,我在学校的 MMSA 组已经混了近两年的时间。在项目即将赴汉诺威(Hannover)参加 CeBit 电脑展的前夕,我也姑且写一些东西,权当作给自己的一个交代。

MMSA 即是多媒体信号分析之意。我们的目标实际上是把视频信号自动按照内容归类。比如说分类成新闻、体育、音乐、卡通等等所谓的风格(Genre)。其中涉及的内容很多,从视频解码一直到模式识别【图一】。


【图一】视频分类系统

2006 年我便开始做我的研究作业(Student Research Project),课题是一个具有高度复用性的框架。因为当时各位同学们的作业都是用五花八门的编程语言制作的,所以接口也就千奇百怪。这么一来这些成果的可复用性几乎为零;另外对于一个初学者来说,自己编写 GUI 是一件非常耗时的工作,而且往往还做不好。这样我的另一个目标就是将用户界面进行封装,用统一的制式界面把其他人从繁重的 GUI 编码中解放出来。 ......

[ 查看全文 ] ( 18 评论 / 2033 次浏览 )   |  永久链接  |   ( 3.1 / 4260 )

下一页