VC++如何读取并显示JPG文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC++如何读取并显示JPG文件相关的知识,希望对你有一定的参考价值。

参考技术A 用GDI+
添加Gdiplus.lib到工程中

头文件中添加
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long* //定义类型

#include "Gdiplus.h" //包含gdi头文件
using namespace Gdiplus; //命名空间

添加类成员变量

GdiplusStartupInput m_gdiPlusInPut;
ULONG_PTR m_gdiPlusToken;

构造函数中初始化GDI+

GdiplusStartup( &m_gdiPlusToken, &m_gdiPlusInPut, NULL );

析构函数中 //销毁GDI+

GdiplusShutdown(gdiplusToken);

OnPaint()中:

//CDialog::OnPaint();
CPaintDC dc( this );

//建立图形对象
Graphics mGraphics( dc.GetSafeHdc() );

//装入图像文件

Image img( L"./res/test.jpg", TRUE );

//在指定区域pdestPoints显示图像 (根据背景大小按比例缩放)

CRect rcClient;
GetClientRect( &rcClient );

BOOL bWidth = rcClient.Width() / img.GetWidth() > rcClient.Height() / img.GetHeight();
if ( bWidth )

mGraphics.DrawImage( &img, 0, 0, rcClient.Width(), rcClient.Width() * img.GetHeight() / img.GetWidth() );

else

mGraphics.DrawImage(&img, 0, 0, rcClient.Height() * img.GetWidth() / img.GetHeight(), rcClient.Height() );


//原始大小
mGraphics.DrawImage(&img, 0, 0, img.GetWidth(), img.GetHeight() );本回答被提问者采纳
参考技术B IPicture
可以在百度搜索此关键字或是上MSDN自己找资料
这是一个图形接口,可以显示绝大多数格式的图片
参考技术C OpenCV、GdiPlus、CxImage类等,都可以简单实现。 参考技术D 用MFC

如何在Java中实现画图功能并在文本中显示坐标

(1) 实现具有编辑和显示图形功能的程序。
(2) 编辑图形时应通过鼠标或键盘命令,绘制各种几何图形,并把绘制结果保存到非图形文件(即不能用BMP/JPG/GIF等图形文件格式存储)中。文件内容为文本行格式或XML格式,用于记录所绘图形的特征,如:绘制了(100,100)-(400,100)的直线,又绘制了圆心为(300,300),半径为100的圆,那么保存的文件内容可以为:
Line(100,100,400,100)
Circle(300,300,100)
(3) 显示图形部分将所保存的文件内容读取和分析,并重新绘制图形。
(4) 用于编辑图形的工具应种类齐全,操作方便,并具有良好的扩展能力。
(5) 显示图形部分应尽量独立,有利于嵌入到其它应用软件的设计和实现中。

参考技术A 多少钱?
你去找软件开发商...
你到不是象在问问题
你更是象在...

难道你就其中一条都没解决吗?

以上是关于VC++如何读取并显示JPG文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在Java中实现画图功能并在文本中显示坐标

如何在单击按钮时暂停读取文本文件并在 mfc vc++ 中的单击按钮时恢复它?

如何在oracle中的blob字段下读取jpg格式文件保存

如何用c读取文件

如何在oracle中的blob字段下读取jpg格式文件保存

VC串口通信,从串口中读取串口摄像头图片,接收到的数据转换成JPG图片