gpt4 book ai didi

visual-c++ - 旋转 IImage* 类型的图像 [Windows Mobile]

转载 作者:行者123 更新时间:2023-12-04 06:42:26 26 4
gpt4 key购买 nike

关于如何在此图像上完成 90 度旋转有什么想法吗?以下是我的代码片段。

 HWND hwnd = GetActiveWindow();
HMODULE hmod = GetModuleHandle(NULL);
HRSRC hResInfo = FindResource(hmod,MAKEINTRESOURCE(IDR_JPEG2),_T("JPEG"));

DWORD imagesize = SizeofResource(hmod,hResInfo);
HGLOBAL hResData = LoadResource(hmod,hResInfo);
if(hResData == NULL)
return -1;
LPVOID resptr = LockResource(hResData);

IImagingFactory *imgF = NULL;
IImage *iimg = NULL;
HDC hdc = pDC->GetSafeHdc();
int iWidth = GetSystemMetrics(SM_CXSCREEN);
int iHeight = GetSystemMetrics(SM_CYSCREEN);

::CoInitializeEx(NULL, ::COINIT_MULTITHREADED);//Initializing the COM object. It is required before
if (CoCreateInstance(CLSID_ImagingFactory,NULL,CLSCTX_INPROC_SERVER,IID_IImagingFactory,(void **)&imgF) == S_OK)
{
HRESULT hresult = imgF->CreateImageFromBuffer(resptr,imagesize,BufferDisposalFlagNone,&iimg);
RECT rect;
rect.bottom = iHeight;
rect.left = 0;
rect.right = iWidth;
rect.top = 0;

if(iWidth > iHeight)
{
//Rotation should take place here
}
iimg->Draw(hdc,&rect,NULL);
}

此函数的参数是 CDC* pDC 类型。

最佳答案

这很容易做到:

  1. 必须为 IBasicBitmapOps 在 'iimg' 上调用 'QueryInterface'
  2. 根据其结果,使用 Rotate实现目标的方法

希望对你有帮助

关于visual-c++ - 旋转 IImage* 类型的图像 [Windows Mobile],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9749797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com