⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jpeg.h

📁 用在X86芯片的,嵌入式系统中的自动更新程序
💻 H
字号:
// Jpeg.h: interface for the CJpeg class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_JPEG_H__CA094A18_11E7_4D59_9305_F7816F11E639__INCLUDED_)
#define AFX_JPEG_H__CA094A18_11E7_4D59_9305_F7816F11E639__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "WinPic.h"
#include "math.h"

//YCbCr色彩空间
typedef struct
{
	BYTE Y;
	BYTE Cb;
	BYTE Cr;
}YCbCrCOLOR;

class CJpeg  
{
public:
	
	CJpeg();
	virtual ~CJpeg();
public:

public:
	//保存为JPEG文件
	BOOL SaveJpeg(CString filepath);
	//载入JPEG文件
	BOOL LoadJpeg(CString filepath);
    //打开JPEG文件对话框
	BOOL OpenJpegFile(CString filepath);
private:
	//写入为JPEG文件 filename:文件路径 bmpfile:RGB文件数据指针 width:图象宽度 height:图象高度
	BOOL WriteJpegFile(CString filepath,CWinPic* bmpfile,long width,long height);
	//读取JPEG文件
	RGBCOLOR* ReadJpegFile(CString filepath,long width,long height);

	//RGB色彩空间转换为YCbCr色彩空间
    void RGBtoYCbCr(RGBCOLOR* rgbimagrdata,long width,long height);
	//YCbCr色彩空间转换为RGB色彩空间
	RGBCOLOR* YCbCrtoRGB(BYTE* Y,BYTE* Cr,BYTE* Cb);

	//一维傅立叶变换
    // void FFT(double* t,double* f,int r);
	//正向离散余弦变换FDCT,只适合8*8的块变换
	void FDCT(BYTE* data);
	
    
	
private:
	//JPEG文件指针
	CFile* m_JpegFile;
	BYTE* m_Y;  //存储YCbCr色彩空间的亮度数组空间
	BYTE* m_Cb; //存储YCbCr色彩空间的色度数组空间
	BYTE* m_Cr; //存储YCbCr色彩空间的色度数组空间



};

#endif // !defined(AFX_JPEG_H__CA094A18_11E7_4D59_9305_F7816F11E639__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -