- 博客(4)
- 收藏
- 关注
原创 Alpha 混合:两个半透明色的叠加
讲 Alpha 混合的文章太多了,我并不是要说有什么新的更好的算法,而是这些 Alpha 混合的文章都是基于一种特定的现实应用:在背景色上叠加一个半透明色。而 OpenPainter 的需求更具一般性:混合两个半透明颜色。也就是说,原始色也是有透明度的。 为此我首先用 PS 做了不少试验,试图推导出 Alpha 混合的公式。事实上,一些简单的实验外加一些逻辑推理,成功了找到了 Alpha 混合的
2008-07-21 01:01:00 12749 3
原创 鼠标和键盘的事件捕获增强
鼠标事件一直保持在传统的 Click、DblClick、MouseUp、MouseDown、MouseMove 这几种之上,多年来并没有多少改进。而 Drag/Drop 事件对应的是数据的传递,而非鼠标的操作。因此,对于像 OpenPainter 这样富于鼠标、键盘操作的程序来说,对鼠标键盘的事件捕获进行增强是非常有必要的。 在 OpenPainter 中,我使用了一个名为 AdvancedMo
2008-07-20 12:25:00 938
原创 OpenPainter 的画布缩放绘图
缩放本来是一件很简单的事情,GDI+ 本身就支持很好的位图缩放。但是牵扯到其他一堆功能的时候,缩放就不再是自己一个位图的事情了。先说简单的,绘图本身吧,PS 的画布缩放是不进行插值的,也就是 GDI+ 里最快的 NearestNeighbor 算法。但是,它绘出来并不是我实际想要的东西,由于它是取最近点值,所以与坐标位置会有半个像素的差距。请看下图: 左图是期望产生的结果,而右图
2008-07-20 11:04:00 1317
原创 OpenPainter 搬家正式通告
这是马后炮了,已经搬了两周时间了。原因是于 SourceForge 在国内的客观不稳定性,为求生存,搬至 Microsoft CodePlex。 相比而言,CodePlex 速度也快不到哪里去,但它是 Microsoft 旗下,对 .NET 来说可以算是找到了组织。Microsoft 的各种官方网站上(MSDN、ASP.net)也会列出相关的 Top Project 列表,非常适合推广。 其地
2008-07-11 08:56:00 614
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人