图片的显示程序
如何在android程序中显示图片

我们做Android 程序的时候,有时候需要显示图片在界面上,这里我们将实现一个将图片展示到手机屏幕,并让其不停的浮动的效果!首先我们要先准备一张图片,在这里我准备了一张图片,如下:将此图片放到文件夹"res->drawable-*dpi"下,记得,三个文件夹都要放,因为系统会根据不同的分辨率去取不同的图片,如果有的没放,在某些分辨率下,会找不到资源。
将此图片重命名为“pic.png”,在R.java里的drawable类里会生成一个pic的常量。
图片要显示,就是要容器可以让其显示,因为所有的Android 的UI组件都是继承自View,View也实现了Drawable接口,所以在此,我们也重新定义一个View让其用来显示我们的这张图片,并让这张图片浮动。
我们创建一个在包“org.leo.bitmap”下的,类名为“MovingPictureView”的类,该类继承自android.view.View。
此类目前代码大致如下:public class MovingPictureView extends View {public MovingPictureView(Context context) {super(context);}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);}}我们要重载他的“onDraw”方法,这个方法就是Android框架展现View的时候用来绘制显示内容那个的方法。
在此我们将他的所有方法体都删除掉(上面代码红色部分删掉),完全将其重写。
首先我们要创建一个图片对象,在Android里,所有位图图片都是使用Bitmap类来封装的,我们就先声明一个代表我们刚才图片的一个Bitmap对象,可通过以下方式声明:Bitmap bitmap =BitmapFactory.decodeResource(getResources(), R.drawable.pic);其中的“getResources()”方法,是有View提供的,可以根据此方法获得我们所有的资源,将来有机会再细说!有了bitmap对象,下一步就是将图片画到我们自己的View上了,看上面的“onDraw”方法,其中的参数是“Canvas”对象,其实就是提供了一个画板,有了画板我们就能画任何我们想画的东西了。
FATFs-SD卡底层程序之图片显示

FATFs SD卡底层程序之图片显示硬件环境:DAXIA32学习板 STM32F103VC 72MHz编程环境:MDK 3.80a主程序://******************************************************************* ****************//* 函数名称:MAIN//* 功能:从SD卡读BMP图片并显示//* 编写:Bunagi//* 修改:2010/9/4//******************************************************************* ****************int main(void){FATFS fs;DIR dir;FIL fil;FILINFO fno;FRESULT res;char Buf[512];u8 i;char FilSearchCount[10][13]; // 文件名检索存放ChipHalInit();ChipOutHalInit();Lcd_Init();TFT_X = 0;TFT_Y = 0;BG_COLOR = WHITE;TFTFill(WHITE);SysTickDelay(1000);TFTShowString16(TFT_X,TFT_Y,"图片显示测试",RED);while(!GET_DOWN());TFT_X = 0;TFT_Y = 0;TFTFill(BLACK);//************************************************f_mount(0,&fs);if(!FilSearch(&fs,&dir,"","BMP",FilSearchCount)){TFTShowString16(TFT_X,TFT_Y,"检索目录失败!",RED);while(1);}else{for(i = 0;i < 10;i++){if(FilSearchCount[i][0] != 0){TFTShowString16(TFT_X,TFT_Y,&FilSearchCount[i][0],RED);TFT_Y += 16;}}}for(;;){for(i =0;i < 10;i++){if(FilSearchCount[i][0] != 0)if(!BMPDisp(&fil,&dir,&fno,&FilSearchCount[i][0],&Buf,239,31 9))TFTShowString16(TFT_X,TFT_Y,"打开图片失败!",RED);while(!GET_DOWN());}TFT_X = 0;TFT_Y = 0;TFTShowString16(TFT_X,TFT_Y,"图片已播放结束!",RED);while(!GET_UP());}while(1);}//******************************************************************* ****************//* 函数名称:NameCompare//* 功能:字符串比较比较0X2E前的字符(文件名比较)//* 输入参数:str1,str2//* 输出参数:TRUE 两字符串相同 FALSE 两字符串不同//* 编写:Bunagi//* 修改:2010/9/4//******************************************************************* ****************bool NameCompare(u8 *str1,u8 *str2){u8 i=13;u8 flag;while(--i){if(str1[i] == 0x2e) flag = i;}for(i=0;i < flag+3;i++){if(str1[i] != str2[i]) return FALSE;}return TRUE;}//******************************************************************* ****************//* 函数名称:BMPInfoLoad//* 功能:读SD卡里BMP文件的头512字节数据,并填充进BMP信息数据结构里//* 输入参数:bfinfo//* binfo//* Buf//* 输出参数:无//* 编写:Bunagi//* 修改:2010/9/4//******************************************************************* ****************void BMPInfoLoad(BMPFILINFO *bfinfo,BMPINFO *binfo,u8 *Buf){// 填充BMPFIL信息bfinfo->wBFIType = (Buf[0]<<8) + Buf[1];bfinfo->dwBFISize = (Buf[5]<<24) + (Buf[4]<<16) + (Buf[3]<<8) + Buf[2];bfinfo->dwBFIReserved = 0x00;bfinfo->dwBFIStartAdd = (Buf[13]<<24) + (Buf[12]<<16) + (Buf[11]<<8) + Buf[10];// 填充BMP信息binfo->dwBISize = (Buf[17]<<24) + (Buf[16]<<16) + (Buf[15]<<8) + Buf[14];binfo->dwBIWidth = (Buf[21]<<24) + (Buf[20]<<16) + (Buf[19]<<8) + Buf[18];binfo->dwBIHeight = (Buf[25]<<24) + (Buf[24]<<16) + (Buf[23]<<8) + Buf[22];binfo->wBIPlanes = 0x01;binfo->wBIBitCount = (Buf[29]<<8) + Buf[28];binfo->dwBICompression = (Buf[33]<<24) + (Buf[32]<<16) + (Buf[31]<<8) + Buf[30];binfo->dwBISizeImage = (Buf[37]<<24) + (Buf[36]<<16) + (Buf[35]<<8) + Buf[34];binfo->dwBIXPelsPerMeter = (Buf[41]<<24) + (Buf[40]<<16) + (Buf[39]<<8) + Buf[38];binfo->dwBIYPelsPerMeter = (Buf[45]<<24) + (Buf[44]<<16) + (Buf[43]<<8) + Buf[42];binfo->dwBIClrUsed = (Buf[49]<<24) + (Buf[48]<<16) + (Buf[47]<<8) + Buf[46];binfo->dwBIClrImportant = (Buf[53]<<24) + (Buf[52]<<16) + (Buf[51]<<8) + Buf[50];}//******************************************************************* ****************//* 函数名称:BMPDisp//* 功能:在指定坐标点位置显示图片 (图片大小依据LCD屏开始及结束坐标确定//* 输入参数://* 输出参数://* 编写:Bunagi//* 修改:2010/9/4//******************************************************************* ****************bool BMPDisp(FIL *fil,DIR *dir,FILINFO *fno,u8 *FilSearch,u8 *Buf,LOC_X tft_end_x,LOC_Y tft_end_y){u8 color_byte,rgb;int tft_x,tft_y;u16 count,color,tft_start_x,tft_start_y;UINT len;BMPFILINFO bfinfo; BMPINFO binfo; FRESULT res;tft_x = tft_end_x;tft_y = tft_end_y;rgb = 0;res = f_opendir(dir,"");// 查找指定文件名的文件while(1){res =f_readdir(dir,fno);if(res != FR_OK) return FALSE;if(NameCompare(fno->fname,FilSearch)) break;else if(fno->fname[0] == 0) return FALSE;}res = f_open(fil,fno->fname,FA_OPEN_EXISTING | FA_READ);if(res != FR_OK) return FALSE;res = f_read(fil,Buf,BMPBufSize,&len);if(res != FR_OK) return FALSE;BMPInfoLoad(&bfinfo,&binfo,Buf);tft_start_x = tft_end_x - (u16)(binfo.dwBIWidth-1);tft_start_y = tft_end_y - (u16)(binfo.dwBIHeight-1);rgb = 0;count = bfinfo.dwBFIStartAdd; // 当前象素数据地址指针color_byte = binfo.wBIBitCount >> 3; // binfo.wBIBitCount / 8 判断是几位的位图do{while(count < BMPBufSize){//处理24位位图if(color_byte == 3){switch(rgb){case0: // 兰色象素数据转换成R5G6B5格式{color =Buf[count] >> 3;rgb++;break;}case1: // 绿色象素数据转换成R5G6B5格式{color |= (Buf[count] >> 2) << 5;rgb++;break;}case2: // 红色象素数据转换成R5G6B5格式{color |= (Buf[count] >> 3) << 11;rgb++;break;}default: break;}if(rgb == color_byte) // 象素转换完成{TFTPoint(tft_x,tft_y,color);color = 0;rgb = 0;if(--tft_x < tft_start_x){tft_x = tft_end_x;if(--tft_y <tft_start_y) return TRUE;// 处理每行象素对齐 if(((binfo.dwBIWidth*3)%4) != 0) count +=4 -((binfo.dwBIWidth*3)%4);}}count ++;}else{// 添加处理其它比如16位图的程序}}// 读下一个扇区数据if(f_read(fil,Buf,BMPBufSize,&len)) return FALSE;count = 0;}while(!res && len);return TRUE;}//******************************************************************* ****************//* 函数名称:FilSearch//* 功能:在指定路径下查找指定扩展名的文件,并记录在(*p)[13]数组中,注意最大记录条//* 勿溢出//* 输入参数:fs//* dir//* path 要检索的文件路径//* name 要检索的文件扩展名//* (*p)[13] 检索结果存放地址//* 输出参数:TRUE 成功 FALSE 出错//* 编写:Bunagi//* 修改:2010/9/4//******************************************************************* ****************bool FilSearch(FATFS *fs,DIR *dir,XCHAR *path,u8 *name,char (*p)[13]) {FILINFO fno;FRESULT res;u8 i,j,k;j = k = 0;res = f_opendir(dir,path);if(res != FR_OK) return FALSE;do{res = f_readdir(dir,&fno);if(res != FR_OK) return FALSE;if(fno.fname[0] == 0) return TRUE;i = 13;while(--i){if((fno.fname[i] == 0x2E) && (fno.fname[i+1] == name[0] && fno.fname[i+2] == name[1] && fno.fname[i+3] == name[2])) break;}if(i) //检索到一个符合扩展名条件的文件{for(k =0;k < 13;k++) *(*(p+j)+k) = fno.fname[k];j++;}}while(!res && fno.fname[0] != 0);}(注:可编辑下载,若有不当之处,请指正,谢谢!)。
MFC 在对话框显示图片的多种方法

MFC 在对话框显示图片的多种方法我们先从简单的开始吧.先分一个类:(一) 非动态显示图片(即图片先通过资源管理器载入,有一个固定ID)(二) 动态载入图片(即只需要在程序中指定图片的路径即可载入)为方便说明,我们已经建好一个基于对话框的工程,名为Ttest.对话框类为CTestDlg(一) 非动态载入图片.方法1.先从最简单的开始,用picture 控件来实现. 步骤:先在资源里Import一张图片,ID为IDB_BITMAP2 然后在对话框上添加一个picture控件,右键点击打开属性,将type下拉框选择BITMAP,紧跟着下面就出现一个Image下拉框,拉开就会看到所有已经载入好的图片,选择你要的图片.运行程序即可看到.方法2.通过背景图同样如上,先载入一张图片,ID为IDB_BITMAP2 TestDlg.h中CBrush m_brBk;//在public中定义TestDlg.cpp中在初始化函数OnInitDialog()中加入:BOOL CTestDlg::OnInitDialog(){CDialog::OnInitDialog();CBitmap bmp;bmp.LoadBitmap(IDB_BITMAP2);m_brBk.CreatePatternBrush(&bmp);bmp.DeleteObject();...return TRUE; // return TRUE unless you set the focus to a control}在打开类向导,找到WM_CTLCOLOR消息,重载得对应函数OnCtlColor(),添加如下:HBRUSH CTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){HBRUSH hbr =CDialog::OnCtlColor(pDC, pWnd, nCtlColor);if (pWnd == this){return m_brBk;}return hbr;}(二) 动态载入图片.方法3 图像控件(本例用KoDak 图像编辑控件)1. 首先应该保证系统中有这个控件。
cmd窗口显示图片的批处理

l=len(bs):ss="":for k=1 to l step 4096:ss=ss+ub64(mid(bs,k,4096)):next:l=len(ss)
rs.fields.append "b",205,l/2:rs.open:rs.addnew:rs("b")=ss+chrb(0):rs.update
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+_
"":set rs=CreateObject("ADODB.Recordset")
"93Zzs9EIZ4AaMgBaIgi1OCbB5g5GY3oA76a2u5eNUyQCgD1AUTezTXQ++CDsEIDA6xDtvst7NBeh1BuAUTO6n4Pob41ttIJMJxNNE9xbIsYbr9f/JkYTQDVU2IQWZN8igvC0f02bsRISVAUBcA2HDgFMfFOBHliMANsZktgV+AQK"+_
a=a+4:else if a=61 then:a=0:if r=2 then r=j-2:end if:else if a>64 and a<91 then:_
a=a-65:else if a>96 and a<123 then:a=a-71:else:exit function:_
MFC显示bmp 图像C++程序

VS2008 MFC显示bmp 图像C++程序下面的函数LoadBmpFile,其功能是从一个.bmp文件中读取数据(包括BITMAPINFOHEADER,调色板和实际图象数据),将其存储在一个全局内存句柄hImgData 中,这个hImgData将在以后的图象处理程序中用到。
同时填写一个类型为HBITMAP的全局变量hBitmap和一个类型为HPALETTE的全局变量hPalette。
这两个变量将在处理WM_PAINT消息时用到,用来显示位图。
该函数的两个参数分别是用来显示位图的窗口句柄,和.bmp文件名(全路径)。
当函数成功时,返回TRUE,否则返回FALSE。
BITMAPFILEHEADER bf;BITMAPINFOHEADER bi;BOOL LoadBmpFile (HWND hWnd,char *BmpFileName){HFILE hf; //文件句柄//指向BITMAPINFOHEADER结构的指针LPBITMAPINFOHEADER lpImgData;LOGPALETTE *pPal; //指向逻辑调色板结构的指针LPRGBQUAD lpRGB; //指向RGBQUAD结构的指针HPALETTE hPrevPalette; //用来保存设备中原来的调色板HDC hDc; //设备句柄HLOCAL hPal; //存储调色板的局部内存句柄DWORD LineBytes; //每一行的字节数DWORD ImgSize; //实际的图象数据占用的字节数//实际用到的颜色数,即调色板数组中的颜色个数DWORD NumColors;DWORD i;if((hf=_lopen(BmpFileName,OF_READ))==HFILE_ERROR){MessageBox(hWnd,"File c:\\test.bmp not found!","Error Message",MB_OK|MB_ICONEXCLAMATION);return FALSE; //打开文件错误,返回}//将BITMAPFILEHEADER结构从文件中读出,填写到bf中_lread(hf,(LPSTR)&bf,sizeof(BITMAPFILEHEADER));//将BITMAPINFOHEADER结构从文件中读出,填写到bi中_lread(hf,(LPSTR)&bi,sizeof(BITMAPINFOHEADER));//我们定义了一个宏#define WIDTHBYTES(i) ((i+31)/32*4)上面曾经//提到过,每一行的字节数必须是4的整倍数,只要调用//WIDTHBYTES(bi.biWidth*bi.biBitCount)就能完成这一换算。
LCD12864显示图形程序

COM
EQU 20H ;指令数据寄存器
DAT
EQU 21H ;显示数据寄存器
;********************************变量定义结束**********************************
;*********************************程序开始************************************
指令和数据;BF=0时,模块为准备状态,随时可接受外部指令和数据。利用状态 读指令,可以将BF读到DB7总线,从而检验LCD的工作状态 4. 显示控制触发器DFF
此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示,DISPLAY OFF DDRAM的内容就显示在屏幕上;DFF=0为关显示。DISPLAY OFF DDRAM的状态是指 令显示ON/OFF和RST信号控制的。 5. XY地址计数器
2.2 程序功能
LCD 会每隔 1 秒显示一个画面,共 3 个画面,一直循环下去。 第 1 秒:
第 2 秒: 第 3 秒:
8
嵌入式应用软件园,版权所有,请勿转载/销售。
第 3 章程序代码
3.1 文本版代码
我们的辛勤付出,需要您的肯定,请访问: 嵌入式应用软件园。
;******************************************************************************
第 3 章程序代码 .....................................................................................9 3.1 文本版代码 ................................................................................ 9 3.2 图片版代码 .............................................................................. 21
在MFC程序中显示JPGGIF图像

CPicture pic(ID_MYPIC); // 加载图像
CRect rc(0,0,0,0);
// 使用缺省的rc
pic.Render(pDC, rc);
// 显示图像
CPicture::Render提供一个显示图片的矩形。IPicture 对图像进行延伸处理。如果传递一个空矩形,则CPicture用图像 本身的大小--不进行延伸处理。对于图像本身而言,CPicture查找"IMAGE"类型的资源,所以在资源文件中你必须要加 入下面的代码:
PictureChanged
通知图像对象它的图像资源改变了
SaveAsFile
将图像数据存储到流中,格式与存成文件格式相同
get_Attributes
返回图像位属性当前的设置
从上面这个表可以看出,IPicture操纵着图像对象及其属性。图像对象提供对位图的抽象,而Windows负 责BMP、JPG和GIF位图的标准实现。程序员要做的只是实例化IPicture ,然后调用其Render 函数。与通常使用接口的方 式不同,这里实例的创建我们不用CoCreateInstance函数,而是用一个专门的函数OleLoadPicture。
GetImageRect 是CPictureView 类的一个成员函数,作用是根据当前Myimgapp 的缩放比率(可 用25%、33%、50%、75%、100%或自适应方式)获取图像矩形。GetImageRect 调用CPicture::GetImageSize 来获 得真正的图像大小,然后根据比率显示。 CPictureView其余的部分完全和CScrollView的做法差不多,初始化视图并设
方法
描述
ห้องสมุดไป่ตู้
QT 显示一张图片

医学图像处理实验一:显示一张图片摘要实验目的本次实验的主要内容是熟悉图像处理的软件搭建环境,并且利用其显示一张图片。
在老师和助教的引导下,我们:了解了进行数字图像处理需要的软件以及软件平台的搭建开源计算机视觉库OpenCV以及其优势,应用领域了解实验需要用到的Qt和Qt Creator的原因,以及优势实验要求利用Qt Creator、Qt以及OpenCV编写程序显示一张图片。
图片自选。
一、技术讨论1.1实验原理本次实验的原理主要是利用了QT图片显示功能,通过编写程序实现对QT显示图片的指令从而显示出程序中指定的一张图片。
1.2实验方法本次实验主要是运用了Qt Creator的建立Qt4控制台应用,之后在.pro文件中添加CMake编译的OpenCV库文件。
通过编写程序实现对计算机磁盘中的某一图片的显示功能。
二、结果与讨论通过编写、修改并运行QT程序,实现图片显示,对计算机截屏如下:本实验中我主要使用了第二种图片显示程序,图片放在D盘中,命名为2,格式为jpg。
在QT平台上写入附录中的程序后,最终显示出上述图片。
其中中间出现的问题(附录程序中标注为黄色部分)和解决方法如下:1、在.pro文件中编写程序之前,其中已经包括一下部分:QT+=coreQT-=guiTARGET=showimageCONFIG+=consoleCONFIG-=app_bundleTEMPLATE=appSOURCES+=main.cpp重复输入以上程序内容运行出错。
因为重复输入以上程序使软件在以上程序中停滞,识别不到下面的程序内容,系统提示错误。
2、main.cpp中编写程序添加头文件时:int main()中的int字母“i”不可使用大写,否则无法正常运行,因为软件系统没有对“Int”进行定义。
3、下面一句程序编辑了要显示的图片的名字,更改括号里的内容,可以显示不同的图片IplImage*image=cvLoadImage("d:/2.jpg");4、在编写程序的时候一定要严格将程序和计算机磁盘里的内容想对应,如程序中c:\Qt\opencv2.2\include\opencv2\,应和QT软件安装位置相符,否则程序运行程序使提示无法找到文件等错误。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
// TODO: Add your command handler code here
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("所有文件(*.*)|*.*||"));
if(IDOK==dlg.DoModal())
#include "stdafx.h"
#include "dxd01.h"
#include "dxd01Doc.h"
#include "dxd01View.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
{
BeginWaitCursor();
IStream *pStm;
CFileStatus fstatus;
CFile file;
LONG cb;
if(file.Open(strPath,CFile::modeRead)&&file.GetStatus(strPath,fstatus)&&
((cb=fstatus.m_size)!=-1))
int pixelofy=GetDeviceCaps(GetDC()->m_hDC, LOGPIXELSY);
int a=hmWidth*pixelofx/2540+1;
int b=hmHeight*pixelofx/2540;
CDC dc;
dc.m_hDC=::GetDC(NULL);
if(FAILED(pPic->Render(*pDC,x,y,(DWORD)fX,(DWORD)fY,0,hmHeight,hmWidth,-hmHeight,NULL)))
{
state=0;
BmpName.Format(_T("%s"),dlg.GetPathName());
extname=dlg.GetFileExt();
extname.MakeLower();
Invalidate();
}
}
BOOL CDxd01View::ShowJpgGif(CDC *pDC, CString strPath, int x, int y)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CDxd01View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
{
pPic->Release();
return false;
}
pPic->Release();
}
else
{
return false;
}
return true;
}
{
HGLOBAL hGlobal=GlobalAlloc(GMEM_MOVEABLE,cb);
LPVOID pvData=NULL;
if(hGlobal!=NULL)
{
pvData=GlobalLock(hGlobal);
if(pvData!=NULL)
{
file.Read(pvData,cb);
GlobalUnlock(hGlobal);
// CDxd01View drawing
void CDxd01View::OnDraw(CDC* pDC)
{
CDxd01Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
if(!pDoc)
{
OLE_XSIZE_HIMETRIC hmWidth;
OLE_YSIZE_HIMETRIC hmHeight;
pPic->get_Width(&hmWidth);
pPic->get_Height(&hmHeight);
double fX,fY;
fX=(double)pDC->GetDeviceCaps(HORZRES)*(double)hmWidth/((double)pDC->GetDeviceCaps(HORZSIZE)*100.0);
fY=(double)pDC->GetDeviceCaps(VERTRES)*(double)hmHeight/((double)pDC->GetDeviceCaps(VERTSIZE)*100.0);
int pixelofx=GetDeviceCaps(GetDC()->m_hDC, LOGPIXELSX);
}
CDxd01Doc* CDxd01View::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CDxd01Doc)));
return (CDxd01Doc*)m_pDocument;
}ห้องสมุดไป่ตู้
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CDxd01View message handlers
void CDxd01View::OnFileOpen()
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDxd01View diagnostics
#ifdef _DEBUG
void CDxd01View::AssertValid() const
{
CView::AssertValid();
}
void CDxd01View::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
//{{AFX_MSG_MAP(CDxd01View)
ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
CreateStreamOnHGlobal(hGlobal,TRUE,&pStm);
}
}
}
else
{return false;}
IPicture *pPic;
if(SUCCEEDED(OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID*)&pPic)))
// CDxd01View construction/destruction
CDxd01View::CDxd01View()
{
// TODO: add construction code here
state=0;
}
CDxd01View::~CDxd01View()
{
}
BOOL CDxd01View::PreCreateWindow(CREATESTRUCT& cs)
}
void CDxd01View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
return;
ShowJpgGif(pDC,BmpName,1,1);
}
/////////////////////////////////////////////////////////////////////////////
// CDxd01View printing
BOOL CDxd01View::OnPreparePrinting(CPrintInfo* pInfo)
#endif
/////////////////////////////////////////////////////////////////////////////