www.pudn.com > isee_code01231.zip > draw.cpp
/********************************************************************
draw.cpp - ISee图像浏览器—图像处理模块图像实现代码文件
版权所有(C) VCHelp-coPathway-ISee workgroup 2000 all member's
这一程序是自由软件,你可以遵照自由软件基金会出版的GNU 通用许可证
条款来修改和重新发布这一程序。或者用许可证的第二版,或者(根据你
的选择)用任何更新的版本。
发布这一程序的目的是希望它有用,但没有任何担保。甚至没有适合特定
目地的隐含的担保。更详细的情况请参阅GNU通用许可证。
你应该已经和程序一起收到一份GNU通用许可证(GPL)的副本。如果还没有,
写信给:
The Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
MA02139, USA
如果你在使用本软件时有什么问题或建议,用以下地址可以与我们取得联
系:
http://isee.126.com
http://www.vchelp.net
或:
iseesoft@china.com
作者:临风
e-mail:ringphone@sina.com
功能实现:图像显示(DrawDIB实现)
文件版本:
Build 00617
Date 2000-6-17
********************************************************************/
#include "stdafx.h"
#include "..\public\gol_proc.h"
#include "System.h"
#include "DrawPreView.h"
#include "draw.h"
#include "vfw.h"
static HDRAWDIB m_hDrawDib;
static BITMAPINFO m_bmif;
//初始化,显示图像前必须调用该函数
void InitDraw()
{
m_hDrawDib=DrawDibOpen();
m_bmif.bmiHeader.biSize=sizeof(BITMAPINFOHEADER);
m_bmif.bmiHeader.biPlanes=1;
m_bmif.bmiHeader.biBitCount=(WORD)lpProcInfo->sImageInfo.bitperpix;
m_bmif.bmiHeader.biCompression=BI_RGB;
m_bmif.bmiHeader.biSizeImage=0;
m_bmif.bmiHeader.biXPelsPerMeter=0;
m_bmif.bmiHeader.biYPelsPerMeter=0;
m_bmif.bmiHeader.biClrUsed=0;
m_bmif.bmiHeader.biClrImportant=0;
}
//结束显示
void EndDraw()
{
DrawDibClose( m_hDrawDib );
}
//显示图像
BOOL DoDlgDraw(HDC hDC,RECT *rc_dest,int src_width,int src_height,LPVOID lpData)
{
if (lpData==NULL)
return FALSE;
m_bmif.bmiHeader.biWidth=src_width;
m_bmif.bmiHeader.biHeight=src_height;
return DrawDibDraw ( m_hDrawDib, hDC,rc_dest->left,rc_dest->top,rc_dest->right-rc_dest->left,rc_dest->bottom-rc_dest->top,
&(m_bmif.bmiHeader), lpData,0,0,src_width,src_height,DDF_HALFTONE);
}