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

📄 dib.h

📁 LibraryManageDM.rar 数据库设计图书馆管理系统
💻 H
字号:
// Dib.h: interface for the CDib class.
//
//////////////////////////////////////////////////////////////////////

#ifndef __DIB_H
#define __DIB_H

#include <windows.h>

class CDib  
{
private:
	BYTE *m_lpBits;      // 图像数据指针
	int   m_nWidth;      // 图像宽度,像素
	int   m_nHeight;     // 图像高度,像素
	int   m_nBitCount;   // 图像中每像素所占位数
	BYTE *m_lpPatte;     // 调色板指针
    BOOL  m_IsGrayed;    // 是否经过灰度化处理
    BOOL  m_IsPixeled;   // 是否经过二值化处理
	BOOL  LoadDib(BYTE *lpDib);   // 将Dib位图填充到CDib类的数据结构中
	BOOL  SaveToDib(BYTE *lpDib); // 将CDib类的数据结构中的数据转换为Dib位图格式数据

public:
	
	// 构造函数
	CDib();

	// 析构函数
	~CDib();

	// 清除CDib类中有关位图的数据
	void Clear();

    // 检测位图是否经过灰度化处理
    BOOL IsGrayed()
    {
        return m_IsGrayed;
    }

    // 检测位图是否经过灰度化处理
    BOOL IsPixeled()
    {
        return m_IsPixeled;
    }

	// 检测位图是否为空
	BOOL IsEmpty()
	{
		if (m_lpBits == NULL)return TRUE;
		else
			return FALSE;
	}

	// 获取图像宽度
	int GetWidth()
	{
		return m_nWidth;
	}

	// 获取图像高度
	int GetHeight()
	{
		return m_nHeight;
	}

	// 获取图像中每像素所占位数
	int GetBitCount()
	{
		return m_nBitCount;
	}
	
	// 在DC上根据位图数据画出位图
	int Stretch(HDC, int, int, int, int, int, int, int, int, UINT, DWORD);
	
	// 从位图文件中读取位图数据,根据文件指针
	BOOL LoadFromFile(CFile *pf);

	// 从位图文件中读取位图数据,根据文件名
	BOOL LoadFromFile(LPCTSTR filename);

	// 将位图数据保存到位图文件,根据文件指针
	BOOL SaveToFile(CFile *pf);

	// 将位图数据保存到位图文件,根据文件名
	BOOL SaveToFile(LPCTSTR filename);


	// 将图像数据复制到剪贴板
	BOOL Copy();
	
	// 从剪贴板上复制图像数据
	BOOL Paste();

	// 图像的灰度化,去除彩色信息
	BOOL Gray();

	// 图像的二值化,使得图像只有黑白两种颜色
	BOOL Pixel();

    // 图像的去噪处理,去除噪声点
    // 只能处理二值化后的图像
    BOOL RemoveScatterNoise();

    // 针对倾斜图像的调整,如果图像存在倾斜则调整为大致一样的水平高度
    // 只能处理二值化后的图像
    BOOL SlopeAdjust();

    // 将字符分割为单一的字符
    // 只能处理二值化后的图像
    BOOL CharSegement();

    // 字符的归一化处理,使得每个字符有相同的高度和宽度
    BOOL CharStandard();
};

#endif

⌨️ 快捷键说明

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