GdiPlus使用的前期准备

           GDI+是GDI的下一个版本,它进行了很好的改进,并且易用性更好。GDI的一个好处就是你不必知道任何关于数据怎样在设备上渲染的细节,GDI+更好 的实现了这个优点,也就是说,GDI是一个中低层API,你还可能要知道设备,而GDI+是一个高层的API,你不必知道设备。例如你如果要设置某个控件 的前景和背景色,只需设置BackColor和ForeColor属性。

         (1)vc 获得GDI+ 库可以通过安装Windows的平台SDK得到。

         (2)在编译器里设置好所引用的库和文件的地址。

         (3)在StdAfx.h 文件中加入头文件支持

                           #include <GdiPlus.h>

         (4)在应用程序类(即后缀为APP)的初始化函数InitInstance()中初始化库

                           Gdiplus::GdiplusStartupInput gdiplusStartupInput;
                           Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);

                    其中m_gdiplusToken为在类中添加的参数,声明为:

                           ULONG_PTR         m_gdiplusToken;

         (5)在应用程序类的结束函数ExitInstance()中添加如下代码:

                          Gdiplus::GdiplusShutdown(m_gdiplusToken);

         (6)在使用Gdi+的类的头文件中声明命名空间:

                         using namespace Gdiplus;

         (7)如果在使用GDI+过程中创建GDI+的对象用到New时,可能会出错。可以注释掉使用Gdi+的源文件的预声明语句#define new DEBUG_NEW,如:

                         #ifdef _DEBUG
                         //#define new DEBUG_NEW
                         #undef THIS_FILE
                         static char THIS_FILE[] = __FILE__;
                         #endif

            好了,请尽情地使用Gdi+吧,使用其中强大的图像处理功能。

VC(Visual C++)通常用于Windows应用程序开发,而gdiplus是一个库,全称Graphics Device Interface Plus,它提供了对GDI(Graphics Device Interface)的增强功能,特别是处理位图、图像和绘图操作。如果你想通过VC利用gdiplus修改TIFF(Tagged Image File Format)的DPI(dots per inch),你可以按照以下步骤: 1. 包含头文件:在VC项目中,首先需要包含gdiplus.h头文件,并链接gdip.lib库。 ```cpp #include <gdiplus.h> #pragma comment(lib, "gdiplus.lib") ``` 2. 初始化GDI+:在程序开始前,需要调用GdiplusStartup函数初始化GDI+环境。 ```cpp GdiplusStartup(startupToken, NULL, NULL); ``` 3. 加载TIFF:使用Gdiplus中的BitmapFromImage函数加载TIFF图像。 ```cpp IMagingFactory* imagingFactory = Gdiplus::ImageFactory::CreateInstance(); IStream* stream = ... // 从文件或流获取TIFF图像的输入流 IPictureImage* pictureImage = imagingFactory->CreatePictureImage(stream); IRgbColor backgroundColor = {0, 0, 0}; // 设置背景颜色 bitmap = dynamic_cast<Bitmap*>(pictureImage->GetHBITMAP(backgroundColor)); ``` 4. 修改DPI:TIFF本身并不直接支持设置DPI,因为这是打印相关的属性。但如果你能控制生成TIFF图像的过程,可以在创建图片时指定分辨率(dpi乘以宽度和高度像素数)。例如,如果原始图像分辨率为150 DPI,转换为300 DPI,则应将像素大小扩大一倍。 5. 保存修改:创建新的TIFF文件并保存带有新DPI值的图像,可以使用Gdiplus的各种IO方法,如Save或SaveJpeg等。 6. 清理资源:在结束时,记得调用GdiplusShutdown清理环境。 ```cpp GdiplusShutdown(startupToken); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值