我的图像库的扩展接口

   

在《bmp位图操作函数和类 》中的dll中有一个接口类,用来扩展支持图像格式。头文件如下:

 

//  ***************************************************************
//   JKs_CDibInterface   version:  1.0   date:
//   -------------------------------------------------------------
//   图像库扩展接口
//   -------------------------------------------------------------
//   Copyright (C) 2007 - All Rights Reserved
//  ***************************************************************
//  
//  ***************************************************************

#if  !defined(_JKS_CDIBINTERFACE_HPP__)
#define  _JKS_CDIBINTERFACE_HPP__

#if  _MSC_VER > 1000
#pragma  once
#endif   //  _MSC_VER > 1000

#if     !defined(_JKSDIBBUILD)
#define  _JKSDIBBUILD
    #ifdef _DEBUG
    
#pragma  comment(lib,"jksDibD.lib")
    
#pragma  message("jksDibD.lib is linked. ")
    
#else
    
#pragma  comment(lib,"jksDib.lib")
    
#pragma  message("jksDib.lib is linked. ")
    
#endif
#endif

#ifndef __AFXWIN_H__
#pragma  message("This is not supported by MFC.Can't use this Lib. ")
#endif

#ifdef DIB_DLLEXPORT
   
#define  CLASS_DECL_CDIBINTERFACE   __declspec(dllexport)
#else
   
#define  CLASS_DECL_CDIBINTERFACE   __declspec(dllimport)
#endif

#include 
< afxtempl.h >

namespace  jks
//
{
class CDib;

class CLASS_DECL_CDIBINTERFACE CDibInterface  
{
public:
    CDibInterface() :m_pDib(NULL),m_pExt(NULL),m_nExt(
0{m_PtrList.AddTail(this); }
    
virtual ~CDibInterface();

    CDibInterface(CDib 
*pDib):m_pDib(pDib)  
    
{ m_PtrList.AddTail(this); }

    
void Release()     {delete this;}

    
/// Get CDib
    virtual CDib * GetDib() {return m_pDib;}

    
/// Set CDib
    virtual BOOL SetDib(CDib *pDib);

    
/// filename extension ,必须复写
    
/// pp用于指定所支持的文件类型的扩展名数组,不带"."
    
/// n支持的文件扩展名个数

    virtual char** GetEXT(int& nExt)=0;

    
/// Load file
    virtual BOOL Load(LPCTSTR lpstrFileName) =0;

    
/// Save file
    virtual BOOL Save(LPCTSTR lpstrFileName, CDib* pDib) =0;

    
///只要创建一个派生类的对象,系统就知道了
    static CPtrList m_PtrList;

protected:
    CDib
*    m_pDib;
    
char** m_pExt;
    
int m_nExt;    
}
;

/************************************
//接口函数,dll里导出派生类对象,或者在def中导出序号为1
CDibInterface* GetDibInterfaceObj()
{
    pObj = new CDibInterface();
    return pObj;
}
************************************
*/


//
}
     //

#endif   //  !defined(AFX_JKS_CDIBINTERFACE_HPP__0A3AF2B0_D836_4592_B72E_E68D6727FE21__INCLUDED_)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值