《图形图像处理-之-任意角度的高质量的快速的图像旋转》系列文章的源代码下载
[email protected] 2009.03.09
tag:图像旋转,任意角度,近邻取样插值,二次线性插值,三次卷积插值,AlphaBlend,颜色混合
摘要:
这里提供了《图形图像处理-之-任意角度的高质量的快速的图像旋转》系列文章的源代码下载;
包含了完整的可以编译的项目源代码;本文章对源代码进行了一些简要的说明;
正文:
这里提供了《图像旋转》系列文章的源代码下载;以后可能还会陆续提供其他blog文章的
源代码下载,但不会再用专门的文章来说明更新,请读者自己留意其文章的更新日志;
A: 图形图像处理简单Demo框架的公共说明
(本段文字从《图形图像处理-之-彩色转化到灰度的速度优化》文章拷贝而来)
我以前写的图形图像处理方面的blog文章都没有完整的可以编译运行的代码,
而仅仅列出了关键的核心代码;经常有网友看了我的文章,但因为不能实际运行看看,
从而对代码的理解不深,也不能把代码移植到自己的项目中使用; 所以决定为我的图形
图像处理系列blog文章建立一个简单的小型的框架;我把它命名为hGraphic32,
它会尽量的小,演示为主,仅支持ARGB32颜色,能够加载和保存bmp图片文件,能够在
多个编译器和平台下编译和运行;
<hGraphic32>文件夹里的文件说明:
"hColor32.h" : 里面定义了32bitARGB颜色类型Color32,它占用4字节,代表一个颜色;
TPixels32Ref是图像数据区的描述信息,可以把它理解为一个"指针",指向了Color32构成的像素区;
IPixels32Buf是图像数据区接口,用于描述一个图像的缓冲区;
"hPixels32.h" : 里面定义了TPixels32类,它实现了IPixels32Buf接口,用于申请和管理一块内存像素;
"hStream.h" : 里面定义了IInputStream输入流接口;
IBufInputStream数据区输入流接口,继承自IInputStream;
TFileInputStream文件输入流类,它实现了IBufInputStream接口;
IOutputStream输出流接口;
TFileOutputStream文件输出流类,它实现了IOutputStream接口;
"hBmpFile.h" : 里面定义了TBmpFile类,它负责加载bmp和保存bmp;
"hGraphic32.h" 文件include了上面的*.h头文件,所以使用的时候,只要#include "hGraphic32.h"就可以了
B: 旋转项目
所有的测试代码都在"Rotary/RotaryTest.cpp"文件中(带有main函数的命令行程序);
"Rotary/win_vc/RotaryTest.sln"是windows系统下的vc2008项目文件(测试的时请设定调试运行目录为"..");
"Rotary/win_DevC++/RotaryTest.dev"是windows系统下的DevC++项目文件;
你也可以自己建立项目,包含RotaryTest.cpp文件和<hGraphic32>文件夹下的所有文件,就可以编译了;
这里的代码和文章中的代码可能有差异,但差异会很小;
代码在MacOSX和linux下应该也能顺利编译运行,我没有测试;
C:下载
现在就下载完整项目源代码吧: https://github.com/sisong/demoForHssBlog/tree/master/RotaryDemo