在VC ++中调整图像大小

时间:2013-05-28 22:08:53

标签: visual-c++ image-processing mfc

需要能够使用VC ++ 2012放大/缩小/调整bmp,jpeg,png,gif,raw或tiff类型的图像。我是否必须使用某些第三方库?你能给我一些想法吗? VC ++新手。非常感谢!

3 个答案:

答案 0 :(得分:3)

如果您使用的是Visual C ++,我假设您的目标是Windows环境。如果是这样,那么Windows Imaging Components可能会提供您所追求的内容。它内置了对

的支持
  • BMP
  • JPEG
  • PNG
  • TIFF
  • HDPhoto

编解码器也可能已经为其他格式编写。

答案 1 :(得分:1)

你的问题实际上有两个部分。第一个是如何阅读您列出的许多类型的图像;第二个是如何以不同于其原始大小的方式显示图像。我会回答第二个问题。

将图像放入位图后,您可以使用StretchBltStretchDIBits将其绘制到设备上下文(DC)。您可以使用矩形参数来确定要显示的图像部分,以及您希望它占据屏幕的哪个部分。如果这些矩形的大小不同,则图像将自动调整大小。

答案 2 :(得分:0)

GDI +至少支持您列出的大部分图像格式,并且可以非常轻松地显示缩放图像。根据你所说的“原始”的含义,它可能不够 - 据我所知,它不支持相机原始格式。

如果你需要支持相机原始格式,有很多选择 - CXImage,例如,支持许多相机原始格式,我不确定它是否有最新的和DCRAW的最佳版本,因此可能不支持所有最新的相机。

另一个可能值得考虑的是开发人员图像库DevIL。同样,支持许多格式,包括(我相信)你所提到的所有(再次,取决于你所说的“原始”)。