自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zyl910的专栏

优化技巧、硬件体系、图像处理、图形学、游戏编程、国际化与文本信息处理。主力博客:http://www.cnblogs.com/zyl910/

  • 博客(71)
  • 资源 (7)
  • 论坛 (131)
  • 收藏
  • 关注

原创 SIMD函数整理:00 索引贴(2012-07-31更新)

作者:zyl910  关于SIMD(MMX、SSE、AVX)编程的资料一直很零散,于是我试图进行收集整理,便于随时翻阅学习。而且很多代码是直接用汇编写的,易读性差、难以重用,于是我决定将其统一改写为Intrinsics函数版。一、Instructions函数对照表  在使用Instructions函数时,很多时候会发现MSDN说的不详细,这时只有去翻阅Intel、AMD文档了。但I

2012-04-26 22:01:43 1958

原创 [C] 跨平台使用TCHAR——让Linux等平台也支持tchar.h,解决跨平台时的格式控制字符问题,多国语言的同时显示(兼容vc/gcc/bcb,支持Windows/Linux/Mac)

作者:zyl910  将Windows程序移植到Linux等平台时,经常会遇到tchar.h问题与字符串的格式控制字符问题(char串、wchar_t串、TCHAR串混合输出)。本文探讨如何解决这些问题。一、背景1.1 历史  传统的C程序使用char字符串,采用ANSI+DBCS方案来支持当地语言,不能实现多国语言同时显示。  当年微软在设计Windows NT时考虑到国

2013-01-17 21:50:34 12659 3

原创 [C] 跨平台使用Intrinsic函数范例3——使用MMX、SSE2指令集 处理 32位整数数组求和

作者:zyl910。  本文面对对SSE等SIMD指令集有一定基础的读者,以32位整数数组求和为例演示了如何跨平台使用MMX、SSE2指令集。支持vc、gcc编译器,在Windows、Linux、Mac这三大平台上成功运行。 一、关键讲解  前文(http://www.cnblogs.com/zyl910/archive/2012/10/22/simdsumfloat.html)演

2012-10-26 21:23:44 7452

原创 [C] 跨平台使用Intrinsic函数范例2——使用SSE2、AVX指令集 处理 双精度浮点数组求和

作者:zyl910。  本文面对对SSE等SIMD指令集有一定基础的读者,以双精度浮点数组求和为例演示了如何跨平台使用SSE2、AVX指令集。支持vc、gcc编译器,在Windows、Linux、Mac这三大平台上成功运行。一、关键讲解  前文(http://www.cnblogs.com/zyl910/archive/2012/10/22/simdsumfloat.html)演示

2012-10-26 18:06:18 5020

原创 [C] 跨平台使用Intrinsic函数范例1——使用SSE、AVX指令集 处理 单精度浮点数组求和(支持vc、gcc,兼容Windows、Linux、Mac)

作者:zyl910。  本文面对对SSE等SIMD指令集有一定基础的读者,以单精度浮点数组求和为例演示了如何跨平台使用SSE、AVX指令集。因使用了stdint、zintrin、ccpuid这三个模块,可以完全避免手工编写汇编代码,具有很高可移植性。支持vc、gcc编译器,在Windows、Linux、Mac这三大平台上成功运行。一、问题背景  最初,我们只能使用汇编语言来编写SI

2012-10-22 22:28:17 3730 1

原创 [C] zintrin.h : 智能引入intrinsic函数。支持VC、GCC,兼容Windows、Linux、Mac OS X

作者:zyl910。  现在很多编译器支持intrinsic函数,这给编写SSE等SIMD代码带来了方便。但是各个编译器略有差异,于是我编写了zintrin.h,智能引入intrinsic函数。一、各种编译器的区别1.1 Visual C++(Windows)  最早支持intrinsic函数的VC编译器是VC 6.0。它在装上Visual Studio 6.0 Service

2012-09-23 23:19:35 6171

原创 ccpuid:CPUID信息模块。范例:显示所有的CPUID信息

作者:zyl910  关于获取各种CPUID信息,我之前积累了不少代码,现在决定将它们封装在一个模块中,方便代码复用。  其次,前面只是介绍了CPUID的一些常用功能,而Intel、AMD的手册中定义了大量的CPUID功能。所以我希望有一个程序能按照功能号顺序,依次显示所有的CPUID信息。这样就能很方便的与Intel、AMD的手册进行对照,有助于学习与理解。一、模块设计  最

2012-07-11 16:47:40 8505

原创 [VC] 检测AVX系列指令集的支持级别(AVX、AVX2、F16C、FMA、FMA4、XOP)

从2011年的Sandy Bridge微架构处理器开始,现在支持AVX系列指令集的处理器越来越多了。本文探讨如何用VC编写检测AVX系列指令集的程序,并利用了先前的CPUIDFIELD方案。一、AVX系列指令集简介  SSE5 指令:SSE5 是一个纸面上的指令集,并没有最终实现,AMD 在 2007 年 8 月公布 SSE5 指令集规范,在 2009 年 5 月 AMD 推出了 XOP,

2012-07-04 16:07:52 11334 1

原创 [VC] CPUIDFIELD:CPUID字段的统一编号、读取方案。范例:检查SSE4A、AES、PCLMULQDQ指令

除了基本的MMX和SSE系列指令集外,x86体系还有其他扩展指令集,例如SSE4A、AES、PCLMULQDQ等,它们也可以利用CPUID指令来检测。但是,这些指令集细碎杂多。如果像以前那样分别编写检测函数的话,那工作量太大,不值得。而且大量的函数名也会给使用带来麻烦。于是文篇探讨如何设计一套通用的检测方案。零、指令简介  SSE4A指令:是AMD提出的,最早出现在2007年的K10微

2012-06-29 14:48:06 3009

原创 如何在各个版本的VC及64位下使用CPUID指令

前面我们探讨了在16位的DOS实模式下使用CPUID指令(http://www.cnblogs.com/zyl910/archive/2012/05/14/dos16_getcpuid.html)。而现在64位Windows系统已经很流行了,在32/64位模式下如何使用CPUID呢?于是本文介绍了如何在各个版本的VC及64位下使用CPUID指令。一、推荐使用__cpuid、__cpuidex等

2012-05-21 18:05:24 5938

原创 使用GetLogicalProcessorInformation获取逻辑处理器的详细信息(NUMA节点数、物理CPU数、CPU核心数、逻辑CPU数、各级Cache)

现在多核处理器已经很普及了,市场主流是双核处理器,还有4核、8核等高端产品。而且Intel推广了超线程技术(Hyper-Threading Technology, HTT),可以将一个物理核心模拟为两个逻辑处理器。这一切使得“CPU数量”这一概念变得复杂起来,对于软件开发人员来说,希望能获得物理CPU数、CPU核心数、逻辑CPU数等详细信息。  在Windows平台,可以调用GetLogica

2012-05-08 18:13:45 9321

原创 SIMD函数整理:01 《PC平台新技术MMX(上册):开发编程指南》第8章 MMX编码技术

一、来源  来源:《PC平台新技术MMX(上册):开发编程指南》第8章 MMX编码技术  书籍信息——http://e.360buy.com/30027396.htmlPC平台新技术MMX(上册):开发编程指南作 者: 吴乐南 编 出 版 社: 东南大学出版社 ISBN:9787810502528出版时间:1997-10-01页 数:149字 数:23700

2012-04-26 22:22:22 2136

原创 SIMD(MMX/SSE/AVX)变量命名规范心得

当使用Intrinsics函数来操作SIMD指令集(MMX/SSE/AVX等)时,会面对不同长度的SIMD数据类型,其中又分为多种紧缩格式。为此,我设计了一套SIMD变量命名规范,可以有效的提高代码的可读性。一、SIMD数据类型简介  SIMD数据类型有——__m64:64位紧缩整数(MMX)。__m128:128位紧缩单精度(SSE)。__m128d:128位紧缩双精度(SS

2012-04-23 17:47:46 3981 1

原创 AVX指令集中的32种浮点比较关系详解(NaN、无序、有序等)

在传统印象中,数字的比较关系只有6种。但在AVX指令集中,Intel一下给出了32种浮点比较谓词,详见下图——(Intel手册:Table 3-9. Comparison Predicate for VCMPPD and VCMPPS Instructions)  为什么会有这么多种比较谓词呢?我为此困惑困惑了很久。  直到最近翻阅了不少资料后,才终于将它们弄懂了。 一、浮

2012-04-19 16:37:41 2496

原创 深入探讨用位掩码代替分支(9):测试成绩总结

一、测试结果汇总  将前面的测试结果进行汇总,按照三点取中方式筛选结果,整理为表格(单位是毫秒,数值越小越好)——测试f0_iff1_minf2_negf3_sarf4_mmxf5_sseVC6 on 32bit2016206371967237.525.7VC6 on 64bit20282075

2012-04-13 17:29:17 2994 12

原创 深入探讨用位掩码代替分支(8):SSE指令集速度测试

在上一篇测试了MMX指令集,这次我们来测试SSE指令集。说的更精确一点,是测试SSE2指令集。  本篇致力于解决以下问题——1.SSE/SSE2指令集是什么?2.如何阅读Intel/AMD的手册?3.如何运用SSE指令集?如何将MMX代码升级为SSE代码。4.如何在VC++6.0这样的高级语言编译器中使用SSE指令集?一、简介  1999 年 Intel 推出了第 1

2012-04-12 22:30:16 2870

原创 深入探讨用位掩码代替分支(7):MMX指令集速度测试

前面我们测试了高级语言做饱和处理的性能。其实,对于这样的大批量数据处理,使用SIMD(Single Instruction Multiple Data,单指令多数据流)技术能极大的提高性能。MMX指令集是目前x86平台上覆盖最广的SIMD指令集,于是本文对它进行探讨。  本文致力于解决以下问题——1.MMX指令集是什么?2.如何阅读Intel/AMD的手册?2.如何运用MMX指令集

2012-04-09 23:08:54 2277

原创 深入探讨用位掩码代替分支(6):VB6速度测试

前面我们测试了C系列语言,验证了位掩码算法的确实性能不错。那么对于Basic系列语言,该算法的效率怎样呢?于是本文对此进行探讨。  VB.Net与C#一样,也是由.Net虚拟机执行的,没有多大的测试价值。所以我决定测试VB6。一、移植要点  VB6的功能与C系列语言差很多。很多地方需要换另一种方法去实现,甚至不能实现。  要点有——1.VB6不支持控制台程序,只支持窗口程序。所

2012-03-30 16:53:32 3796 1

原创 深入探讨用位掩码代替分支(5):C#2010速度测试

前面我们测试了C语言这样纯编译型语言。那么对于像C#这样由虚拟机执行的语言,“位掩码代替分支”法是否也有效果呢?于是本文对此进行探讨。一、移植要点  C#的语法与C语言很相像,多数代码可以直接用,但要注意以下几点。1.1 unsafe——不安全上下文  C#虽然支持指针,但必须在unsafe——不安全上下文 中才能使用。  要使用unsafe,必须先配置项目属性,允许不安全代码

2012-03-29 17:15:48 1999

原创 深入探讨用位掩码代替分支(4):VC2010速度测试

前面我们用VC6测试了位掩码代替分支的速度。VC6是1998年发售的,离现在有14年了。在14年里,Intel与AMD的CPU都换了好几套微架构了,VC6编译器很可能无法充分发挥它们的性能。而且,从2003年AMD推出了64位处理器开始,现在64位系统越来越普及,我们希望测试64位下的性能。  于是选择最新的VC系列编译器——Visual C++ 2010,它是2010年发售的,支持x64平台

2012-03-28 16:41:25 1578

原创 深入探讨用位掩码代替分支(3):VC6速度测试

wuhanbingwhdx提到了数据相关也会影响流水线(http://blog.csdn.net/zyl910/article/details/1330614)。  他的说法是有一定道理的。但是,在很多时候我们并不仅仅处理一个数值。比如将循环展开,在内循环处理2个或更多个的数值。而现代编译器面对循环展开时,在编译优化操作中会调整指令顺序,错开有相关性指令。因现代处理器支持超标量,这样的指令顺序

2012-03-27 15:51:13 1495

原创 深入探讨用位掩码代替分支(2):汇编代码分析

查看编译器生成的汇编代码,有助于我们分析程序的性能。1 让VC6输出编译的汇编代码  用VC6打开前一篇文章(http://blog.csdn.net/zyl910/article/details/7345655)的工程“noifCheck.dsw”。  首先需要配置项目设置——1.点击菜单栏 “工程”->“Project Settings”打开“Project Settings”

2012-03-21 15:20:56 1344 2

原创 深入探讨用位掩码代替分支(1):利用带符号移位生成掩码

几年前我写了一篇“优化分支代码——避免跳转指令堵塞流水线”(http://blog.csdn.net/zyl910/article/details/1330614)。因当时是整理笔记,有些粗略。这几年又有了新的心得,故决定深入探讨,顺便回答网友评论。  housisong(http://blog.csdn.net/housisong)提到了用利用带符号移位生成掩码——(假设n是32bit有

2012-03-12 17:09:22 2086 1

原创 [VC6] 检查MMX和SSE系列指令集的支持级别(最高SSE4.2)

参考文献——《Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2 (2A, 2B & 2C): Instruction Set Reference, A-Z》. December 2011.http://www.intel.com/content/www/us/en/architecture-an

2012-03-01 22:45:06 2227

原创 Intrinsics头文件与SIMD指令集、Visual Studio版本对应表

File:Intrinsics头文件描述:指令集描述VS:Visual Studio版本号VisualStudio:Visual Studio版本名File描述VSVisualStudiointrin.hAll Architectures8.02005mmintrin.hMMX intrinsics6.06

2012-02-28 22:35:56 2342

原创 [x86]SIMD指令集发展历程表(MMX、SSE、AVX等)

自1996年的MMX指令集以来,Intel和AMD不断为x86体系添加新的SIMD指令集。时至2012年,Intel的Ivy Bridge即将发布,这16年来SIMD指令集有了哪些发展呢?于是我决定整理一份SIMD指令集的发展历程表。通过阅读Intel和AMD的手册,以及搜索网上资料,我初步完成了这项工作。表格如下——指令集条DateICPUIDateA

2012-02-26 19:40:23 2598

原创 VC 64位程序开发心的——获得程序位数和操作系统位数

如今64位系统越来越流行了,对于软件开发人员来说,掌握64位开发技术将会有更好的发展空间。而且经过这几年的发展,64位开发工具也成熟了,例如Visual Studio 2010。  关于如何配置64位平台,MSDN上有详细的介绍——http://msdn.microsoft.com/zh-cn/library/9yb4317s.aspx如何:针对 64 位平台配置 Visual C++

2012-02-19 22:46:29 2706 1

翻译 IVY Bridge : There's more than 22nm(IVB的新指令)

今天在百度上看到一则消息——http://tieba.baidu.com/p/1362181987IVY Bridge : There's more than 22nmI named this title...this is a information that were said to be confirmed on Intel forums"• Two instruct

2012-01-12 12:41:17 897

原创 四探C#类与结构体究竟谁快——跨程序集(assembly)调用

前面的三次测试都是在同一个项目内的,既处于同一个程序集。那么,跨程序集调用会怎么样呢?因为为了保证可维护性,我们会把一些常用操作封装到类库中去。然后实际项目开发时,引用该类库,使得解决方案中存在多个项目。编译完成后,将会是一个主要的exe和若干个dll文件,主exe程序集中的

2011-10-01 23:23:38 1227 2

原创 csdn经常卡,在博客园开了博客

csdn经常卡,在博客园开了博客——http://www.cnblogs.com/zyl910 以后一般在那边更新。只有重要的技术文章才会也发到这边。

2011-09-25 21:48:12 1154

原创 三探C#类与结构体究竟谁快——MSIL(微软中间语言)解读

上次我分别测试了类与结构体(http://blog.csdn.net/zyl910/article/details/6788417)、密封类(http://blog.csdn.net/zyl910/article/details/6793908)的函数调用速度评测。现在进行进一步

2011-09-24 12:30:12 1396

原创 再探C#类与结构体究竟谁快——考虑栈变量、栈分配、64位整数、密封类

上次我对C#类与结构体做了一次速度评测(http://blog.csdn.net/zyl910/article/details/6788417)。经过一段时间思索,发现还可以进一步探讨——第一、栈变量。上次的“硬编码”,是访问类中的静态变量的。若改为访问函数中的栈变量,性能会

2011-09-20 22:17:57 1314 1

原创 C#类与结构体究竟谁快——各种函数调用模式速度评测

以前我一直有个疑惑——在C#中,究竟是类(class)比较快,还是结构体(struct)比较快?当时没有深究。最近我遇到一个难题,需要将一些运算大的指针操作代码给封装一下。原先为了性能,这些代码是以硬编码的形式混杂在算法逻辑之中,不但影响了算法逻辑的可读性,其本身的指针操

2011-09-19 00:48:22 6813 14

原创 【软件发布】临摹帖(zDrawHelp) V1.1(画像素图的辅助工具)

临摹帖(zDrawHelp) V1.1简介~~~~  临摹帖(zDrawHelp)是一个画像素图的辅助工具。  它可以使一副图片在所有窗口的前面并半透明,而且最奇妙的是——鼠标操作能穿透该图片,直接操作下面的绘图软件。  绿色软件,无需安装,解压后直接双击

2011-08-21 21:50:45 3219 3

原创 【软件发布】zDrawHelp V1.0(画像素图的辅助工具)

zDrawHelp V1.0简介~~~~  zDrawHelp是一个画像素图的辅助工具。  它可以使一副图片在所有窗口的前面并半透明,而且最奇妙的是——鼠标操作能穿透该图片,直接操作下面的绘图软件。  运行环境:.Net Framework 2.0。Win

2011-08-15 16:04:25 2606 2

原创 [Color]灰度系数与网点增大

File:      StudyDotGain.txtName:      灰度系数与网点增大Author:    zyl910Version:   V1.0Updata:    2007-7-20  在PhotoShop的颜色设置对话框中,会发现“Dot Gain”这个词语经常出现,如在“颜色设置”对话框中的“灰色”与“专色”,与“自定 CMYK”对框中的“网点增大”。尤其是在“灰色”与“专

2007-07-20 13:15:00 3392 2

原创 让图片在浏览器中只有被选中后才能看清

[图片上传失败] 每隔一个像素进行反色而已/*File:      magicpic.cName:      让图片在浏览器中只有被选中后才能看清Author:    zyl910Blog:      http://blog.csdn.net/zyl910/Version:   V1.0Updata:    2006-12-27*/#include #include #incl

2006-12-27 15:19:00 1931 1

原创 终于真正明白了超光速旅行中的时间倒流现象

我最开始看见相对论中的一些概念时,总觉得违背直观、难以理解。可是过了一段时间,会突然发现,一切原来是这样一回事。因为光速是300000km/s,所以距地球为d光年的恒星,它的发出来的光要过d年才能到达地球。换句话说,我们现在看见的是该恒星d年前的景象。假设在今年一月份的时候,有一艘飞船位于离地球一光年的位置,它以两倍光速匀速直线地飞回地球。所以该飞船花半年时间就能到达地球,即今年七月份时我

2006-12-15 10:34:00 14924 16

原创 快速的16色转换算法

File:      Fast16C.txtName:      快速的16色转换算法Author:    zyl910Blog:      http://blog.csdn.net/zyl910/Version:   V1.0Updata:    2006-11-29下载(注意修改下载后的扩展名)一、问题描述  对于存储16色(4位)图像,VGA使用的是位平面方式,而DIB采用的是线

2006-11-30 19:31:00 3540 3

原创 测试VGA12H直接写屏速度 V1.1

File:      VGASpeed.txtName:      测试VGA12H模式的速度Author:    zyl910Blog:      http://blog.csdn.net/zyl910/Version:   V1.1Updata:    2006-11-23下载(注意修改下载后的扩展名)  经过上一次的测试后,发现读显存的速度比写显存的速度慢得多。  很多资料建议我们使

2006-11-23 23:25:00 2183

临摹帖(zDrawHelp) V1.1

临摹帖(zDrawHelp) V1.1 作者:zyl910 邮箱:zyl910@sina.com Blog:http://blog.csdn.net/zyl910 简介 ~~~~   临摹帖(zDrawHelp)是一个画像素图的辅助工具。   它可以使一副图片在所有窗口的前面并半透明,而且最奇妙的是——鼠标操作能穿透该图片,直接操作下面的绘图软件。   绿色软件,无需安装,解压后直接双击即可运行。   运行环境:.Net Framework 2.0。32位或64位的 Windows 2000/2003/xp/vista/win7。 操作指南 ~~~~~~~~   使用方法—— 1.启动绘图软件(如Photoshop)。进行编辑,放大到合适尺寸,准备画像素图。 2.启动临摹帖(zDrawHelp)。 3.在临摹帖(zDrawHelp)上点击鼠标右键,弹出快捷菜单。点击“打开图片”加载图片。 4.默认的不透明度是100%。您可以在右键菜单中的“不透明度”子菜单中调整不透明度(一般60%比较合适)。 5.图片打开后,默认是自适应缩放模式的。您可以在右键菜单中的“缩放”子菜单中调整缩放倍数。 6.拖曳鼠标左键移动窗口,使其位于绘图软件上方。再拖曳鼠标右键移动窗口内的图片,使其与绘图软件中的欲编辑区域吻合。 7.摆好位置后,点击右键菜单中的“永在顶层”。这样临摹帖(zDrawHelp)就永在顶层,并且鼠标操作能穿透临摹帖(zDrawHelp),直接操作下面的绘图软件。 8.现在就可以参考图片进行像素图编辑了。若编辑时需要隐藏临摹帖(zDrawHelp)的半透明窗口,可以使用快捷键Ctrl+F11隐藏,再按Ctrl+F11可以恢复显示。 问:如何退出临摹帖(zDrawHelp)的穿透模式? 答:在任务栏右下角的任务托盘区找到临摹帖(zDrawHelp)的托盘图标(标题为“zDrawHelp - [文件名]”),点击鼠标右键弹出快捷菜单,再点击“永在顶层”,退出永在顶层模式与穿透模式。   解释—— 穿透模式 = 永在顶层 + 半透明(不透明度小于100%) 若您将不透明度设为100%,也可退出穿透模式。 这是顺序无关的。您也可以先设为“永在顶层”再调整“不透明度”进入穿透模式。 操作参考 ~~~~~~~~   操作说明—— 拖曳鼠标左键:移动窗口。 拖曳鼠标右键:移动窗口内的图片。 右键菜单:许多高级功能。如:打开图片、缩放、高级、调整窗口大小、隐藏窗口外框、永在顶层、不透明度、显示、隐藏、退出。 拖曳抽口边缘可以改变窗口尺寸。 【提示】任务栏右下角的任务托盘区中也有临摹帖(zDrawHelp)的图标,鼠标右击弹出快捷菜单。   全局热键—— Ctrl+F11:显示/隐藏切换。 更新历史 ~~~~~~~~ [2011-08-21] V1.1 + 正式命名为“临摹帖”。 + 支持文件拖放打开。 + 支持隐藏窗口外框。 + 支持自定义缩放比率。 + 支持自定义不透明度。 + 关于对话框。 + 为菜单项绑定图标。 [2011-08-13] V1.0 zDrawHelp V1.0发布

2011-08-21

[源代码]再探C#类与结构体究竟谁快

[源代码]再探C#类与结构体究竟谁快——考虑栈变量、栈分配、64位整数、密封类

2011-09-20

TWAIN Specification Version 2.3

最新的 TWAIN 2.3 规范。 TWAIN Version 2.3 Released November 21, 2013 TWAIN.H is unified, with one header file supporting Windows, Linux and Mac OS X, bringing full support for TWAIN 2.x to Mac OS X for the first time. Printer functionality is significantly expanded Clarification of driver startup versus driver default values, and the proper effect of the MSG_RESET and MSG_RESETALL operations. A new image meta-data value that a driver can report to an application A section detailing the best coding practices for application and driver writers. Additional tests for the TWAIN Self-Certification system, and a note that TWAIN Self-Certification applications can now be registered on the TWAIN Working Group website.

2015-09-22

zDrawHelp V1.0(画像素图的辅助工具)

zDrawHelp V1.0 作者:zyl910 邮箱:zyl910@sina.com Blog:http://blog.csdn.net/zyl910 简介 ~~~~   zDrawHelp是一个画像素图的辅助工具。   它可以使一副图片在所有窗口的前面并半透明,而且最奇妙的是——鼠标操作能穿透该图片,直接操作下面的绘图软件。   运行环境:.Net Framework 2.0。Windows 2000/2003/xp/vista/win7。 操作指南 ~~~~~~~~   使用方法—— 1.启动绘图软件(如Photoshop)。进行编辑,放大到合适尺寸,准备画像素图。 2.启动zDrawHelp。 3.在zDrawHelp上点击鼠标右键,弹出快捷菜单。点击“打开图片”加载图片。 4.默认的不透明度是100%。您可以在右键菜单中的“不透明度”子菜单中调整不透明度(一般60%比较合适)。 5.图片打开后,默认是自适应缩放模式的。您可以在右键菜单中的“缩放”子菜单中调整缩放倍数。 6.拖曳鼠标左键移动窗口,使其位于绘图软件上方。再拖曳鼠标右键移动窗口内的图片,使其与绘图软件中的欲编辑区域吻合。 7.摆好位置后,点击右键菜单中的“永在顶层”。这样zDrawHelp就永在顶层,并且鼠标操作能穿透zDrawHelp,直接操作下面的绘图软件。 8.现在就可以参考图片进行像素图编辑了。若编辑时需要隐藏zDrawHelp的半透明窗口,可以使用快捷键Ctrl+F11隐藏,再按Ctrl+F11可以恢复显示。 问:如何退出zDrawHelp的穿透模式? 答:在任务栏右下角的任务托盘区找到zDrawHelp的托盘图标,点击鼠标右键弹出快捷菜单,再点击“永在顶层”,退出永在顶层模式与穿透模式。   解释—— 穿透模式 = 永在顶层 + 半透明(不透明度小于100%) 若您将不透明度设为100%,也可退出穿透模式。 这是顺序无关的。您也可以先设为“永在顶层”再调整“不透明度”进入穿透模式。 操作参考 ~~~~~~~~   操作说明—— 拖曳鼠标左键:移动窗口。 拖曳鼠标右键:移动窗口内的图片。 右键菜单:许多高级功能。如:打开图片、缩放、高级、调整窗口大小、永在顶层、不透明度、显示、隐藏、退出。   全局热键—— Ctrl+F11:显示/隐藏切换。 更新历史 ~~~~~~~~ [2011-08-13] V1.0 V1.0发布

2011-08-15

[源代码]C#类与结构体究竟谁快

[源代码]C#类与结构体究竟谁快——各种函数调用模式速度评测 详见—— http://blog.csdn.net/zyl910/article/details/6788417 C#类与结构体究竟谁快——各种函数调用模式速度评测

2011-09-19

[测试程序exe]C#类与结构体究竟谁快

[测试程序exe]C#类与结构体究竟谁快——各种函数调用模式速度评测 详见—— http://blog.csdn.net/zyl910/article/details/6788417 C#类与结构体究竟谁快——各种函数调用模式速度评测

2011-09-19

[测试程序exe]再探C#类与结构体究竟谁快

[测试程序exe]再探C#类与结构体究竟谁快——考虑栈变量、栈分配、64位整数、密封类

2011-09-20

[问题] 怎样设置窗口客户区的位置?谁能详细的(用中文)讲一讲WM_NCCALCSIZE消息怎么处理?

发表于 2002-12-15 最后回复 2015-08-04

VC6、VC2010、C#2010、VB6和MMX、SSE指令集 运算性能大比拼(64位像素转32位像素)。请大家帮忙测试

发表于 2012-04-13 最后回复 2013-10-05

可能很弱智的问题:怎样使WinXP有更多的主题?

发表于 2003-01-21 最后回复 2012-11-23

WindowsXP主题丢失,怎么恢复?

发表于 2003-01-25 最后回复 2012-11-23

VC6、VC2010、C#2010、VB6和MMX、SSE指令集 运算性能大比拼(64位像素转32位像素)。请大家帮忙测试

发表于 2012-04-13 最后回复 2012-09-27

历史上最快的纯VB写的图像处理程序!其中640*480半透明合并速度只比Bitblt慢3倍,比AlphaBlend慢1倍,比直接GetPixel、SetPixelV快93倍!

发表于 2002-07-16 最后回复 2010-06-22

怎样快速求出离当前位置最近的点?

发表于 2007-08-06 最后回复 2007-10-15

求教:怎样用一条SQL语句找出二义的记录,非重复记录?

发表于 2007-05-14 最后回复 2007-05-16

调查:有多少人能不用 EDIT/RICHEDIT 控件写出一个类似 NOTEPAD 的程序

发表于 2006-11-20 最后回复 2006-11-25

今天买到本新书《64位微处理器及其编程》,大家说说这本怎么样,顺便讨论一下64位技术

发表于 2006-02-06 最后回复 2006-03-10

★ 完整的JPEG保存程序 与 高速在网络上传输图像程序

发表于 2004-07-26 最后回复 2005-08-01

★ 如何编写一个所见即所得的文本编辑环境?跪求IME、Uniscribe、TSF函数集的中文资料(欢迎up)

发表于 2005-02-22 最后回复 2005-03-29

zyl910的最近状况。顺便问问题:现在哪里有支持FTP上传的免费空间?

发表于 2004-07-16 最后回复 2004-08-21

★ 终于知道如何编写(和Windows的一致的)资源管理器了

发表于 2004-04-29 最后回复 2004-07-28

:★[代码共享]◇纯VB代码实现的JPEG保存程序

发表于 2004-02-06 最后回复 2004-07-26

[抛砖引玉]我不认同“程序=算法+数据结构”

发表于 2004-04-03 最后回复 2004-04-16

▁▂▃▄▅▆▇█ 申请在VB区增加“数字图像与图形处理/多媒体/文件格式”版 ▆▅▄▃▂▁

发表于 2003-08-13 最后回复 2004-03-25

★[技术文章]◇用VB写高效的图像处理程序 1.0β

发表于 2003-07-25 最后回复 2004-02-28

▁▂▃▄▅▆▇█ 想使你的Frame变成XP风格(非WinXP有效)吗?想使你的Frame的背景变成透明的吗?cXPFrame可以完成你的愿望

发表于 2003-07-28 最后回复 2003-12-16

■■ 发布:zyl910菜单栏控件(能实现像IE那样的在ReBar(CoolBar)中的菜单栏效果)。可以到哪些网站发布控件?

发表于 2003-08-20 最后回复 2003-09-29

要“把word文档转为图形格式工具”原代码

发表于 2003-07-12 最后回复 2003-07-16

★ 已知hDC,保存BMP的方法

发表于 2003-03-17 最后回复 2003-07-15

春节快乐!代码共享:位运算的模块(LoWord、HiWord、取得RGBA分量……)

发表于 2003-02-04 最后回复 2003-06-30

我是zyl910,还有谁记得我吗?最近很惨,无法上网?现在发个贴子通知一下。(欢迎up)

发表于 2003-06-24 最后回复 2003-06-27

强烈建议在VB区成立 图形/图像/多媒体子版 以及 com/activeX子版(后者是帮TechnoFantasy(www.applevb.com)一起题的)!

发表于 2002-10-29 最后回复 2003-05-11

为什么VB区没有 图形处理 子版?!(up有分)

发表于 2002-10-26 最后回复 2003-05-09

虽然前几天问出了32位色下点的颜色混合的公式,但那个公式用了许多浮点乘除,速度比较慢。谁能化简一下?或者谁有更好的公式?

发表于 2002-07-22 最后回复 2003-05-06

有谁知道哪里有免费的个人主页空间吗?能Ftp上传,能下载文件。

发表于 2002-07-20 最后回复 2003-05-06

愿意为这个问题出一千分:有谁知道知道32位色下的点的颜色混合怎么算吗?

发表于 2002-07-21 最后回复 2003-05-06

愿意为这个问题出一千分:有谁知道知道32位色下的点的颜色混合怎么算吗?

发表于 2002-07-20 最后回复 2003-05-06

愿意为这个问题出一千分:有谁知道知道32位色下的点的颜色混合怎么算吗?

发表于 2002-07-20 最后回复 2003-05-06

愿意为这个问题出一千分:有谁知道知道32位色下的点的颜色混合怎么算吗?

发表于 2002-07-20 最后回复 2003-05-06

历史上最快的纯VB写的图像处理程序!其中640*480半透明合并速度只比Bitblt慢3倍,比AlphaBlend慢1倍!亮度淡入淡出演示,只比那个内嵌汇

发表于 2002-07-16 最后回复 2003-05-06

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆|  DrawDIBDraw函数怎么用?

发表于 2002-07-04 最后回复 2003-05-06

◢◤ 除了用全局Hook外,还有什么方法可以检测另一个进程的窗口的消息? ◥◣

发表于 2003-01-10 最后回复 2003-05-06

制作图像的Mask图(看这个可以熟悉光栅运算) (回复就有分)

发表于 2002-12-23 最后回复 2003-03-26

○ 为了整顿VB版的与编程无关帖子,欢迎大家来讨论关于删贴与强制结账的具体规则(CSDN的帮助只是讲谁有这个权限,具体什么帖该删没有规

发表于 2003-03-17 最后回复 2003-03-25

怎样绘制点线?

发表于 2003-01-23 最后回复 2003-02-15

现在发现Windows系统的GDI函数是很慢的函数库——因为我自己用VB写的图像处理程序的速度都比它快:半透明合并比AlphaBlend快0.1倍,比直

发表于 2002-10-17 最后回复 2003-02-15

▁▂▃▄▅▆▇█ 到底是我的水平太菜,还是题目…… █▇▆▅▄▃▂▁

发表于 2003-01-22 最后回复 2003-01-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除