有没有人知道一个好的资源,它会告诉我如何使用C ++加载图像并旋转它?
旋转的意思是对图像进行实际动画旋转,而不是物理旋转图像并保存。
如果我不清楚我在问什么,请在低估前要求澄清。
由于
答案 0 :(得分:6)
对于这种类型的任务,我肯定会默认使用OpenGL,你可以将图像加载到纹理中,然后以不同的角度重绘图像,或者更好的是你可以在OpenGL引擎中旋转“相机”。有大量的OpenGL教程,快速的谷歌搜索将为您提供所需的一切。
答案 1 :(得分:2)
答案 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 - 它可能在图像控件中有一些不错的选项。