VC 在WIN32 中 使用 GDIPlus

1.在 stdafx.h 中

注释掉#define WIN32_LEAN_AND_MEAN 
或者添加#include <windows.h>

在visual studio 2012 中似乎默认不用改


2. 找到一个 cpp 文件,加入:

#include <gdiplus.h>
using namespace Gdiplus;
#pragma comment(lib,"gdiplus.lib")


3.winmain函数最上面添加

ULONG_PTR token;
GdiplusStartupInput gsi;
GdiplusStartup(&token,&gsi,0);


4.winmain最下面返回前添加
GdiplusShutdown(token); 


5.

wndproc 里添加

case WM_PAINT:
   hdc = BeginPaint(hWnd, &ps);
   // TODO: Add any drawing code here...
   OnPaint(hdc);
   EndPaint(hWnd, &ps);
   break; 
---------------

添加画图函数
void OnPaint(HDC hdc){
Graphics g(hdc);
Gdiplus::Image img(L"img.jpg");
Pen pen(Color(233,24,22));
g.DrawImage(&img,PointF());
g.DrawLine(&pen,0,0,100,100);



等等


摘自:

http://hi.baidu.com/kikoqiu/item/2e60f12b4dd123f850fd87d3




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、付费专栏及课程。

余额充值