C ++旋转图像资源

时间:2009-08-13 21:01:03

标签: c++ image

有没有人知道一个好的资源,它会告诉我如何使用C ++加载图像并旋转它?

旋转的意思是对图像进行实际动画旋转,而不是物理旋转图像并保存。

如果我不清楚我在问什么,请在低估前要求澄清。

由于

5 个答案:

答案 0 :(得分:6)

对于这种类型的任务,我肯定会默认使用OpenGL,你可以将图像加载到纹理中,然后以不同的角度重绘图像,或者更好的是你可以在OpenGL引擎中旋转“相机”。有大量的OpenGL教程,快速的谷歌搜索将为您提供所需的一切。

答案 1 :(得分:2)

您可以使用SDL和扩展程序sdl_image和/或sdl_gfx

答案 2 :(得分:1)

在使用GDI +的Windows中,您可以通过以下方式显示旋转的图像:

Graphics graphics( GetSafeHwnd() ); // initialize from window handle
// You can construct Image objects from a variety of 
// file types including BMP, ICON, GIF, JPEG, Exif, PNG, TIFF, WMF, and EMF.
Image image( L"someimage.bmp" );    

graphics.RotateTransform( 30.0f );  // 30 - angle, in degrees.
graphics.DrawImage( &image, 0, 0 );   // draw rotated image 

您可以阅读here更详细的解释。


第二种解决方案是使用DirectX。您可以创建texture from file以及之后的render。这不是一个简单的解决方案,但它将使用硬件加速,并将为您提供最佳性能。


在Windows 7上,有一个名为Direct2D的新API。我还没有使用它,但看起来很有希望。

  

Direct2D为Win32开发人员提供了执行具有卓越性能和视觉质量的2-D图形渲染任务的能力。

答案 3 :(得分:-1)

我同意DeusAduro。 OpenGL 是一种很好的方法。

您也可以使用 Qt

执行此操作

答案 4 :(得分:-1)

“自己动手”解决方案很难。

我建议调查WPF - 它可能在图像控件中有一些不错的选项。