2023年12月19日发(作者:)

保存图片教学设计五篇范文

第一篇:保存图片教学设计

篇一:保存图片和文字教学设计

课题:保存网页中的图片和文字

内容分析

学生分析

教学目标

2.通过学生交流、师生交流、小组活动等形式,培养学生对信息的检索、搜集、筛选的能力;

3.通过学生自主探索和动手实践的过程中,让学生自我展示、自我激励、体验

成功,在不断尝试中激发求知欲,在不断摸索中陶冶情操。

教学重点

掌握保存网页中的图片和文字方法;

教学难点

保存网页中的图片和文字时路径的选择;

教学方法

所用教法有演示法、讲述法、任务驱动法等。

教学准备(或媒体)

多媒体计算机,多媒体课件、图片素材、教学所需网址等

教学课时 1课时

教学过程

一、激趣导入

今天我给大家带来了一些礼物(展示漂亮的图片),大家喜欢这些礼物吗?大家知道这些礼物是从哪里来的吗?大家想不想从网上下载这些图片啊?今天我们就一起来学习如何保存网页中的图片吧!

二、新知讲授

(一)小试牛刀,归纳方法 1.情景案例

小明在浏览网页的时候,发现了一张漂亮的图片和一段优美的文

字,但自己忘了下载,希望大家能帮他把图片和文字下载保存下来。2.明确任务

如何保存网页中的图片和文字。3.尝试解决

探究一:下载保存网页中的图片

教师组织学生说说自己下载图片方法,教师请部分学生上讲台示范。教师根据学生的示范做讲解演示,方法概括如下(多媒体展示):

右键单击网页中要下载的图片;

单击弹出菜单中的“图片另存为”命令;

选定保存位置,如 f盘;

单击保存。

教师组织学生阅读课本39页“做一做”的操作步骤,并动手完成“做一做”。教师询问学生有没有在自学的过程中遇到其它的问题,如果有则请该同学把问题说出来,请全班同学一起帮助他解决。

探究二:下载保存网页中文字的方法

我们班的同学真聪明,第一个学习任务完成的非常不错,接下来我们还要来完成第二个任务,如何从网页上取得文字呢?请同学们带着这个问题阅读课本40页“做一做”,按小组进行讨论找出方法(两人一组)。

教师组织学生汇报讨论的结果,并就学生存在的问题进行强调和演示。方法总结如下(多媒体展示):

按下鼠标左键拖动选定要下载的文字;

单击右弹,选择弹出菜单中的“复制”命令;

打开“写字板”,单击“编辑”菜单中的“粘贴”按钮;

单击“保存”按钮保存文件。

教师组织学生自主的完成课本40页“做一做”。

如果出现问题,请同学说出来,然后让同学们帮他解决。

(二)知识巩固,大显身手(任选一题)

1.请在“中华少年英才网”网站()的“科学大观”栏

三、课堂小结

今天你收获了哪些知识呢?还有哪些你没有掌握?

教学板书

保存网页中的图片和文字

中华少年英才网()

教学反思

栏目中,把自己喜欢的图片和文字下载保存到自己的“百宝箱”中。目中,把自己喜欢的图片和文字下载保存到自己的“百宝箱”中。篇二:图片的采集与保存教学设计

图片的采集与保存

湖南省祁阳县第四中学 付胜春

一、基本说明

3所属的章节:第二章第一节 4学时数:1学时(45分钟)

二、学生分析

学生在高一阶段曾学习过图片采集(网上搜索、数码相机)、基本图像信息加工等内容,基础较好,但学生没有自己根据创作图片作品自主选择素材的经历;学生对图形图像信息在表现主题、表达思想、呈现信息等方面的作用有较强的认识,有一定的欣赏和评价图像信息的能力;学生有较强的模仿能力、理解能力、分析能力。学生对图像信息加工有较为浓厚的学习兴趣。

三、教材分析

1、教学目标:

(1)掌握利用扫描仪扫描照片、抓取屏幕画面、网络搜索等图像采集的方法;

(2)理解图形、图像信息的采集原理;

(3)了解图像的分辨率、色彩位数等点阵图概念的基本内容;(4)了解图形、图像的类型、格式及其存储、呈现和传递的基本特征与基本方法;

(5)学会整理素材的基本方法。

2、教学重点

(1)根据主题需要,选择恰当的工具和方法,采集、保存图片信息。(2)文件大小、图片格式、分辨率、色彩位数等概念内涵

3、教学难点

根据个人实际确定多媒体图像作品主题,并根据主题需要,选择恰当的工具和方法,采集、保存图片信息款额

4、教学方法

演示法 任务驱动法 对比法

5、教学准备

1.硬件准备: 扫描仪一台、数码相机一台 2.软件准备:(1)课件

(2)有代表性的图片若干(最好是学生自己创作的图片作品)(3)不同图片格式的代表性图片

(4)专用截图软件、acdsee看图软件等

6、教学环境

硬件环境:多媒体电脑室

软件环境:acdsee photoshop office hypersnat 画图

7、教学过程

五、教学评价

1.图像的真彩色是指色彩位数为().2.判断下列语句的正误:(1)网页上看到的图片大多采用gif或jpg格式。()(2)网页上看到的图片一般都是静态的。()3.填写你所找到的图片的相关属性 4.acdsee是一款用于()的工具软件

a.听音乐b.看电影 c.看图片 d.文字处理

5.后续活动:为自己以后要创作的图片作品采集必要的图片素材。

六、课堂总结、强调重点

通过本节课的学习,同学们掌握了根据实际情况出发选择和运用恰当的工具获取图片的方法可用画图软件、网上下载、扫描仪扫描、数码相机拍摄、屏幕抓取等。在存储时应注意其格式。下一节课将学习如何对这些素材进行加工与处理。篇三:保存图文教学设计

《保存图文》教学设计

城南中学 张从

【教材分析】

《保存图文》是山东省泰山版初中信息技术第一册(上)第三章第一节的内容。本课的教学内容既复习了前面的搜索信息,同时又为后面的管理信息提供了前提条件。本节课联系前后应用,适合设计成主题活动“制作电子报刊”下设的一个小专题,主要内容为根据任务需要搜索并保存文字图片资源。

【学情分析】

初一年级学生经过一段时间的学习,绝大部分学生对于网络浏览及搜索等基本操作已经比较熟悉,但是针对任务搜索合适的信息资源的能力仍有待加强。

【教学目标】

知识与技能:有选择的选定并保存网页上的文字信息;有选择的保存页面上的图片;保存整个网页。

过程与方法:主要通过小组分工确定任务,共同完成同一目标;在相互的帮助和竞争中,激发学生的学习兴趣,培养团体协作能力;在解决问题的过程中,掌握操作技能。

情感态度与价值观:培养学生学习正确表达个人观点,组内合理协调分配工作,养成健康的信息使用习惯和良好的信息素养。

【教学重点与难点】

1.教学重点:保存网页上的信息;

2.教学难点:对需要的信息资源进行分类并合理的选择要保存的内容。

【教学过程】

一、导入新课

大屏幕展示教师制作多媒体课件中,林书豪的文字信息和图片信息,调动学生学习兴趣。

师:同学们,大家看了林书豪的资料,知道它们是怎样制作的吗?里面的图片和许多优美的文字,想要快速获得这些资源,有什么好的方法?生:网络搜索。

师:从网上找到的资源,想要拿来为我所用,需要保存下来。今天我们就来学习收集资源的方法:保存图文。

(设计意图:通过学生感兴趣的篮球和林书豪的图片、文字,引出本节的教学内容。)

二、建立文件夹

要求:在桌面建立自己的文件夹,并命名(用你喜欢的那个ta命名),并且在里面建立一个空文本文档,改名为:文字,再建一个word文档,也改名为:文字。

(设计意图:通过建立文件夹,让学生进一步清楚下面自己保存的信息放

在什么地方。通过小组得分的方式,激励学生的积极性。注意文件的扩展名。)

三、自主探究

任务

1、师:下面请搜集相关资料并保存到你刚刚建立的文件夹中,在保存过程中,请参考导学案,先完成任务一的内容。

学生活动:自学导学案任务一并保存文字,学生以小组为单位合作探究任务一的操作,完成后学生讲解保存的方法。小组长可以帮助组员完成,组员之间也可互相帮助。

师任务:引导学生解决任务一的问题,并且给回答问题的学生所在组加分。教师总结演示操作方法,然后布置没完成的同学继续完成,完成的学生思考补充的问题。学生操作过程中可以适当放点音乐,创造一个轻松的气氛,也可以掌握时间。

师活动:总结一下word和文本文档的区别,然后导出保存图片的任务。

任务

2、师:我们已经学会了保存文字的方法,那么图片怎么保存呢?是不是和保存文字一样呢?下面参考学案内容,完成任务二,并且思考补充问题。

学生活动:自学导学案任务二并保存图片,学生以小组为单位合作探究任务二的操作,完成后学生讲解保存的方法。小组长可以帮助组员完成,组员之间也可互相帮助。

师任务:引导学生解决任务二的问题,并且给回答问题的学生所在组加分。教师总结演示操作方法,然后引导学生找到保存文字和保存图片的不同,并且总结内容。(教师演示制作简单的宣传册。)

任务

3、师:我们已经学习了保存文字和图片,但是我要想保存大量的文字和图片,有没有更简便的方法呢?下面我们就来学一下保存网页,这样就可以大量保存文字和图片了。下面参考学案内容,完成任务三,并且思考补充问题。

学生活动:自学导学案任务三并保存网页,学生以小组为单位合作探究任务三的操作,完成后学生讲解保存的方法。小组长可以帮助组员完成,组员之间也可互相帮助。

师任务:引导学生解决任务三的问题,并且给回答问题的学生所在组加分。解决保存类型修改的问题,然后总结所有内容。

(设计意图:根据导学案中的操作提示,学生自学课本中有关保存图文和网页的方法,并了解相关的文件格式。在这一环节,学生针对要完成的任务,有目的地自学,在实践操作中掌握本节知识点。)

四、练习巩固

大屏幕展示3个练习题,学生先抢答,然后教师适当总结一下,并且选出优胜组。

作业是确定一个主题(如:成长历程),根据这个主题搜索更多有关ta(你喜欢的名子)的文字和图片,并保存,制成完整的宣传册。

(建议用word或powerpoint)

(设计意图:拓展延伸知识,教师总结本节课内容,系统的梳理知识点,强化操作技巧。

第二篇:保存图片和文字教学设计

课题:保存网页中的图片和文字

内容分析 学生分析 教学目标

1.掌握下载保存网页中的图片和文字的方法;

2.通过学生交流、师生交流、小组活动等形式,培养学生对信息的检索、搜集、筛选的能力;

3.通过学生自主探索和动手实践的过程中,让学生自我展示、自我激励、体验成功,在不断尝试中激发求知欲,在不断摸索中陶冶情操。教学重点

掌握保存网页中的图片和文字方法; 教学难点

保存网页中的图片和文字时路径的选择; 教学方法

所用教法有演示法、讲述法、任务驱动法等。教学准备(或媒体)

多媒体计算机,多媒体课件、图片素材、教学所需网址等 教学课时

1课时 教学过程

一、激趣导入

今天我给大家带来了一些礼物(展示漂亮的图片),大家喜欢这些礼物吗?大家知道这些礼物是从哪里来的吗?大家想不想从网上下载这些图片啊?今天我们就一起来学习如何保存网页中的图片吧!

二、新知讲授

(一)小试牛刀,归纳方法 1.情景案例

小明在浏览网页的时候,发现了一张漂亮的图片和一段优美的文字,但自己忘了下载,希望大家能帮他把图片和文字下载保存下来。

2.明确任务

如何保存网页中的图片和文字。3.尝试解决

探究一:下载保存网页中的图片

教师组织学生说说自己下载图片方法,教师请部分学生上讲台示范。教师根据学生的示范做讲解演示,方法概括如下(多媒体展示):

右键单击网页中要下载的图片;

单击弹出菜单中的“图片另存为”命令;

选定保存位置,如 F盘;

单击保存。

教师组织学生阅读课本39页“做一做”的操作步骤,并动手完成“做一做”。教师询问学生有没有在自学的过程中遇到其它的问题,如果有则请该同学把问题说出来,请全班同学一起帮助他解决。

探究二:下载保存网页中文字的方法

我们班的同学真聪明,第一个学习任务完成的非常不错,接下来我们还要来完成第二个任务,如何从网页上取得文字呢?请同学们带着这个问题阅读课本40页“做一做”,按小组进行讨论找出方法(两人一组)。

教师组织学生汇报讨论的结果,并就学生存在的问题进行强调和演示。方法总结如下(多媒体展示):

按下鼠标左键拖动选定要下载的文字;

单击右弹,选择弹出菜单中的“复制”命令;

打开“写字板”,单击“编辑”菜单中的“粘贴”按钮;

单击“保存”按钮保存文件。

教师组织学生自主的完成课本40页“做一做”。

如果出现问题,请同学说出来,然后让同学们帮他解决。

(二)知识巩固,大显身手(任选一题)

三、课堂小结

今天你收获了哪些知识呢?还有哪些你没有掌握? 教学板书

保存网页中的图片和文字

栏目中,把自己喜欢的图片和文字下载保存到自己的“百宝箱”中。目中,把自己喜欢的图片和文字下载保存到自己的“百宝箱”中。

第三篇:IPAD如何保存图片

从app中保存图片

1、首先介绍一下怎么从app中保存图片。以微信为例。

例如在和朋友的微信对话中想保存某张图片,则首先用一根手指单击图片。

2、单击之后这幅图片则变成了全屏显示。此时再用一根手指长按它。

3、长按之后会出现提示框,这里会出现,发送给朋友,等选项,我们选择保存图片。

4、这样图片就成功保存好了,并收到提示。

5、保存好的图片可以在照片中找到。

从网页保存图片

1、还有的时候会希望从网页中保存图片。比如在百度经验中看到一幅好看的图片。

2、可以用一根手指长按这幅图片,然后选择保存图片即可。

3、保存好的照片同样是在照片中可以找到。

第四篇:图片的获取与保存教学设计

教学目标:

1、了解图片及其特点

2、学会图片的获取和保存

3、认识图片的类型与格式

教学重点:学会图片的获取和保存

教学难点:熟练获取图片

教学过程:

1、导入

在我们青春绽放的初中生活中,有课堂中的求知论剑,操场上的矫健身影,也有社团中的出色表现,艺术体育节中的精彩瞬间,大自然中探索的足迹……这一切组成了初中生活的交响曲。每一个精彩瞬间都可以用图的形式来定格,作为青春成长的记录见证永恒,可以说,是图装点了我们的生活。

本节课,就让我们一起走进图的世界,今天我们来学习第一课——图片的获取与保存。

2、新课

首先,我们来看本节课的学习要点:

1、图片及其特点。

2、图片的获取和保存。

3、图片的类型与格式

活动一 走进图片的世界

师:图片是指由图形、图像等构成的平面媒体图,具有形象、直观、生动、简明等特点,已经成为人们获取知识、传递信息、表达思想的重要方式之一。

【自主探究】

观察所给图片,请大家分小组讨论,你认为图片与文字、语言相比,具有哪些特点?(学生交流回答)

活动二 图片的获取和保存

师:获取图片的途径多种多样,谁能说说如何获取图片?(学生交流讨论并回答)

师归纳:a、用码相机拍摄 b、用移动设备拍摄以

c、用扫描仪扫描在 d、从网络上下载 e、从屏幕上截取

【知识小链接】

阅读课本P3-6,交流学习获取图片的方法,教师巡视并指导(10分钟)

师示范讲解:从网络上获取图片与抓屏获取图片和保存方法,学生练习熟练操作(10分钟)

活动三 认识常见图片类型与格式

1、常见的图片类型

在电脑中,图片是以各种各样的图形和图像信息展现在我们面前的。根据图片表达方式的不同,电脑中的图片可分为矢量图和位图两种类型。通常,我们把矢量图称为图形,把位图称为图像。

【自主探究】

以小组为单位,利用网络,了解矢量图和位图的特点,并交流回答它们的区别(5分钟)

2、常见的图片格式

为了适应不同场所的需要,电脑中的图片可以以不同的文件格式进行存储。电脑中常见的图片格式有:BMP格式,JPG格式,GIF格式,PNG格式,PSD格式(学生结合课本第8页交流各种格式图片的特点)

图片的格式多种多样,不单只有上述几种,请同学们通过网络搜索并了解其他的图片格式,然后与其他同学分享学习成果。

3、作业与自我检测

师:请同学们将素材库第一课文件夹中的任意一张图片复制到电脑中,并以4种不同的存储格式保存,比较保存后的图像的质量和文

件的大小,完成课本第9页的作业。

第五篇:-bmp图片读取保存

Eastmount制作

第二课 bmp图片格式解析

<一>.BMP格式定义

BMP文件格式是Windows操作系统推荐和支持的图像文件格式,是一种将内存或显示器的图像数据不经过压缩而直接按位存盘的文件格式,故称位图(bitmap),其扩展名为BMP。BMP图像文件被分为4个部分:

a.位图文件头b.位图信息头c.颜色表d.位图数据

Eastmount制作

a.颜色表中RGBQUAD结构数据的个数有biBitCount来确定:

当biBitCount=1,4,8时,分别有2,16,256个表项;

当biBitCount=24时,没有颜色表项。

位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下:

typedef struct tagBITMAPINFO {

BITMAPINFOHEADER bmiHeader;// 位图信息头

RGBQUAD bmiColors[1];// 颜色表

} BITMAPINFO;b.位图数据

位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上。位图的一个像素值所占的字节数:

当biBitCount=1时,8个像素占1个字节;

当biBitCount=4时,2个像素占1个字节;

当biBitCount=8时,1个像素占1个字节;

当biBitCount=24时,1个像素占3个字节;

Windows规定一个扫描行所占的字节数必须是

4的倍数(即以long为单位),不足的以0填充,biSizeImage

=((((h * ount)+ 31)& ~31)/ 8)* ht。

Eastmount制作

<二>.BMP图片在MFC工程中的定义 存在2个未解问题:

结构时我定义成系统自带的结构,否则会多2个字节在图片最后为CD;b.在read中malloc只能申请4字节的空间,但fread(,m_nImage,)读入位图大小个。

第一步:添加BMP信息文件头

文件—新建—创建ImageStruct.h—包含BMP格式的文件头部分的结构。打开ImageStruct.h并添加代码:

重点注意:

结构头必须定义成BITMAPFILEHEADER_ 不能定义成BITMAPFILEHEADER; 因为在MFC中已存在BITMAPFILEHEADER的定义,在定义成它会显示重复定义。同时自己定义的在View.h和中注意引用#include “ImageStruct.h”。

2.在后面的引用bmp结构时我定义成系统自带的结构:

BITMAPFILEHEADER bfh;BITMAPINFOHEADER bih;而不是BITMAPFILEHEADER_,因为MFC中用自带的定义图片头文件信息是正确的,但在位图信息块总会在文件最后多出2字节并默认为CD(0x16进制)。原因可能是自定义的图片头文件少2字节,在后面补充了2字节。(未知)

/*******************************************************/

BMP位图文件包括4部分:

*/ /*

位图文件头结构BITMAPFILEHEADER

*/ /* 位图信息头结构BITMAPINFOHEADER

*/ /* 位图颜色表RGBQUAD

*/ /*

位图像素数据

*/ /*******************************************************/

Eastmount制作

#ifndef _IMAGESTRUCT_ #define _IMAGESTRUCT_

/*14byte BMP文件头含有BMP文件的类型、大小、位图文件的保留字、位图数据距文件头的偏移量*/ typedef struct

/*

T_BITMAPFILEHEADER { WORD bfType;

//2byte 位图文件的类型,必须为BM 0x424d DWORD bfSize;

//4byte 位图文件的大小,以字节为单位 WORD

bfReserved1;//2byte 位图文件保留字,必须为0 WORD

bfReserved2;//2byte 位图文件保留字,必须为0

DWORD bfOffBits;

//4byte 位图数据距文件头的偏移量(字节)}

BITMAPFILEHEADER_;

/*40byte BMP位图信息头用于说明位图的尺寸等信息*/ typedef

struct T_BITMAPINFOHEADER { DWORD biSize;

//本结构所占用字节数

LONG biWidth;

//位图的宽度,以像素为单位 LONG biHeight;

//位图的高度,以像素为单位 WORD biPlanes;

//目标设备的级别,必须为1 WORD biBitCount;

//每个像素所需的位数,必须是1(双色)、4(16色)、8(256色)或24(真彩色)之一 DWORD biCompression;

//位图压缩类型,必须是 0(不压缩)1(BI_RLE8压缩类型)或2(BI_RLE压缩类型)之一 DWORD biSizeImage;

//位图的大小,以字节为单位 LONG biXPelsPerMeter;

//位图水平分辨率,每米像素数 LONG biYPelsPerMeter;

//位图垂直分辨率,每米像素数

DWORD biClrUsed;

//位图实际使用的颜色表中的颜色数 DWORD biClrImportant;

//位图显示过程中重要的颜色数 } BITMAPINFOHEADER_;

/*BMP位图颜色表*/

typedef struct T_RGBQUAD {

BYTE

rgbBlue;

BYTE

rgbGreen;

BYTE

rgbRed;

BYTE

rgbReserved;} RGBQUAD_;#endif

//蓝色的亮度(值范围为0~255)//绿色的亮度(值范围为0~255)

//红色的亮度(值范围为0~255)//保留,必须为0

Eastmount制作

第二步:在..View.h中添加共有成员变量和成员函数 1.找到..View.h头文件添加:#include “ImageStruct.h” 2.在Class

CBmpDrawView : public Cview中的public中添加成员变量函数:

public: //用来保存bmp格式图片

bool SaveBmp(LPCSTR lpFileName);//用来读取bmp图片 bool

ReadBmp();//用来显示指定位图jpg、gif的函数

bool ShowJpgGif(CDC* pDC,CString strPath, int x, int y);//用来显示指定位图bmp的函数

void ShowBitmap(CDC* pDC,CString BmpName);

/*CBitmap m_bitmaplin;创建临时位图对象进行处理*/ CBitmap

m_bitmap;

//创建位图对象

CString EntName;

//保存图像文件扩展名 CString BmpName;

//保存图像文件文件名

int m_nWidth;//图像实际宽度 int m_nHeight;//图像实际高度

int m_nDrawWidth;//图像显示宽度 int m_nDrawHeight;//图像显示高度

DWORD m_nImage;//图像数据的字节数只含位图 DWORD相当于long int DWORD m_nSize;

//图像文件大小

int m_nLineByte;

//图像一行所占字节数 int m_nBitCount;

//图像每个像素所占位数

int m_nPalette;

//位图实际使用的颜色表中的颜色数

/*注意:信息头必须条用系统bmp的结构BITMAPFILEHEADER

否则会多2字节*/ BITMAPFILEHEADER bfh;

//全局变量文件头 BITMAPINFOHEADER bih;

//全局变量信息头 RGBQUAD *m_pPal;

//颜色表指针

BYTE *m_pImage;

//读入图片数据后的指针 BYTE相当于 unsigned char

virtual ~CBmpDrawView();Eastmount制作

第三步:添加readbmp函数 添加函数的方法:

a.在View.h的public中直接添加函数bool ReadBmp()像第二步中一样;然后在中添加函数:bool

CBmpDrawView::ReadBmp(){}。

b.选中ClassView区--选中View类右键--增加成员变量函数—函数类型为bool—函数名为ReadBmp()—函数Access为public。程序会自动在中添加函数:boolCBmpDrawView::ReadBmp(){}。

c.添加代码:

//************************写入bmp格式图片过程***************************// bool CBmpDrawView::ReadBmp(){

FILE *fp = fopen(BmpName,“rb”);//读取bmp图片BmpName为图片的绝对路径

if(fp==0){ AfxMessageBox(“无法打开文件!”,MB_OK,0);return 0;}

/*读取文件头全局变量bfh BITMAPFILEHEADER 定义在ImageStruct中*/ /*解决BMP格式倒置的方法(CSDN)fread(&bfh,sizeof(BITMAPFILEHEADER),1,fp);倒置*/

fread(&,sizeof(WORD),1,fp);fread(&,sizeof(DWORD),1,fp);fread(&rved1,sizeof(WORD),1,fp);fread(&rved2,sizeof(WORD),1,fp);fread(&its,sizeof(DWORD),1,fp);m_nSize = ;//图像文件的总字节数

/*判断是否是bmp格式图片'BM'*/

if(!=0x4d42){AfxMessageBox(“不是BMP格式图片!”,MB_OK,0);return 0;} /*读取信息头*/

/*解决BMP格式倒置的倒方置法*/ fread(&bih,sizeof(BITMAPINFOHEADER),1,fp);fread(&,sizeof(DWORD),1,fp);fread(&h,sizeof(LONG),1,fp);fread(&ht,sizeof(LONG),1,fp);fread(&es,sizeof(WORD),1,fp);Eastmount制作

fread(&ount,sizeof(WORD),1,fp);fread(&ression,sizeof(DWORD),1,fp);fread(&Image,sizeof(DWORD),1,fp);fread(&sPerMeter,sizeof(LONG),1,fp);fread(&sPerMeter,sizeof(LONG),1,fp);fread(&sed,sizeof(DWORD),1,fp);fread(&mportant,sizeof(DWORD),1,fp);if(!=sizeof(bih)){AfxMessageBox(“本结构所占用字节数出现错误”);return 0;} /*位图压缩类型:必须是0(不压缩)、1(BI_RLE8压缩类型)、2(BI_RLE压缩类型)之一*/

if(ression == BI_RLE8 || ression ==

BI_RLE4){AfxMessageBox(“位图被压缩!”);return 0;}

/*获取图像高宽和每个像素所占位数*/ m_nHeight =

ht;m_nWidth

ount;

//每个像素所占位数

/*计算图像每行像素所占的字节数(必须是4字节的倍数)2种方法*/ //m_nLineByte

=(m_nWidth*m_nBitCount/8+3)/4*4;m_nLineByte

= h;m_nDrawHeight =

ht;m_nDrawWidth = h;m_nBitCount =

=(m_nWidth*m_nBitCount+31)/32*4;

/*计算图片位图的大小长*宽*3为24位bmp位图大小3表示rgb*/ m_nImage = m_nLineByte * m_nHeight;

/*位图实际使用的颜色表中的颜色数 biClrUsed注:24位bmp不用改参数*/ m_nPalette = 0;

if(sed)m_nPalette = sed;

/*申请位图空间大小为位图大小 m_nImage*/

/*注意:malloc只能申请4字节的空间(未知)但fread(,m_nImage,)读入位图大小个*/

m_pImage=(BYTE*)malloc(m_nImage);fread(m_pImage,m_nImage,1,fp);/*注意:要关闭fp*/ fclose(fp);return true;

} Eastmount制作

第四步:添加保存menu控件和函数

a.查看--建立类导向(Ctrl+W)--CpictureXSView(类名)--ID_FILE_SAVE(IDs列表)--COMMAND(Messages列表)--默认成员函数名为OnFileSave--Member Functions(成员函数)中双击该函数进入函数编辑。b.注意:Ctrl+W把另存为也设置成与保存相同的函数。

ID_FILE_SAVE_AS--COMMAN--函数OnFileSaveAs改名为OnFileSave。c.添加代码:

//******************文件保存*****************// void

CBmpDrawView::OnFileSave(){

// TODO: Add your command handler code here

CString filter;filter=“所有文件(*.*)|*.bmp;*.jpg;*.gif;*.tiff|

BMP(*.bmp)|*.bmp|

CFileDialog

dlg(0,NULL,NULL,OFN_HIDEREADONLY,filter,NULL);//产生保存对话框

} /*按下确定按钮*/

if(l()== IDOK){ CString str;CString

JPG(*.jpg)|*.jpg| GIF(*.gif)|*.gif|

TIFF(*.tiff)|*.tiff||”;/*重点:1-文件打开 0-文件保存*/

strName;CString filename;

} str = hName();

//获取文件的路径 filename = eTitle();

//获取文件名

int nFilterIndex=dlg.m_rIndex;if(nFilterIndex == 2)

//当用户选择文件过滤器为“.BMP”时 { str = str + “.bmp”;//自动加扩展名.bmp

SaveBmp(str);

//保存bmp图片就是一个写出图片的过程

AfxMessageBox(“图片保存成功”,MB_OK,0);}

Eastmount制作

第五步:添加保存函数SaveBmp 添加函数原理同第三步添加Readbmp函数,在添加下列代码:

/*保存bmp格式图片写出图片的过程只处理24像素的图片该图片无调色板*/ bool CBmpDrawView::SaveBmp(LPCTSTR

lpFileName){

} /*lpFileName为位图文件路*fpo

*fpw

径名*/

=

=

//AfxMessageBox(lpFileName);FILE

fopen(BmpName,“rb”);FILE

fopen(lpFileName,“wb”);fread(&bfh,sizeof(BITMAPFILEHEADER),1,fpo);fread(&bih,sizeof(BITMAPINFOHEADER),1,fpo);fwrite(&bfh,sizeof(BITMAPFILEHEADER),1,fpw);fwrite(&bih,sizeof(BITMAPINFOHEADER),1,fpw);

/*malloc只能申请4字节的空间(未知)*/

m_pImage=(BYTE*)malloc(m_nImage);fread(m_pImage,m_nImage,1,fpo);fwrite(m_pImage,m_nImage,1,fpw);fclose(fpo);fclose(fpw);return true;

Eastmount制作

第六步:在word1中的修改

a.在void CPictureMapView::ShowBitmap(CDC* pDC,CString

BmpName)中实现图片可以压缩伸展显示的功能:

//***************************************************************************// /*图片显示调用函数BitBlt变成StretchBlt */

//pDC->BitBlt(0,0,m_h,m_ht,&dcBmp,0,0,SRCCOPY);if(m_nDrawWidth<650 &&

m_nDrawHeight<650)pDC->StretchBlt(0,0,m_nDrawWidth,m_nDrawHeight,&dcBmp,0,0,m_h,m_ht,SRCCOPY);//显示显原示大图小横

为else

640*640

pDC->StretchBlt(0,0,640,640,&dcBmp,0,0,m_h,m_ht,SRCCOPY);////***************************************************************************// b.在void CPictureMapView::OnDraw(CDC* pDC)函数中添加ReadBmp读取图片:

//***************************************************************************// if(e(_T(“bmp”))== 0)//bmp格式 {

ReadBmp();//图片信息保存如全局变量

ShowBitmap(pDC,BmpName);//**********//

显示图片 }

//*****************************************************************