文档库 最新最全的文档下载
当前位置:文档库 › 文本方式下字处理程序的设计与实现

文本方式下字处理程序的设计与实现

文本方式下字处理程序的设计与实现
文本方式下字处理程序的设计与实现

课程设计

题目文本方式下字处理程序的设计与实现学院计算机科学与技术学院

专业计算机科学与技术专业

班级

姓名

指导教师

2010 年 1 月14 日

课程设计任务书

学生姓名:专业班级:

指导教师:工作单位:计算机科学与技术学院题目: 文本方式下字处理程序的设计与实现

初始条件:

理论:完成了《汇编语言程序设计》课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。

实践:完成了《汇编语言程序设计》的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编语言程序的调试方法。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体

要求)

理解键盘接口的工作原理,掌握BIOS键盘I/O功能,掌握复杂内存数据结构的定义和管理方法。具体的设计任务及要求:

1)清晰且易于操作的用户界面;动态显示光标的当前位置;

2)在文本编辑区接受并保存输入信息;

3)光标上移,下移,左移,右移;

4)允许删除当前光标后的字符;

5)将编辑文本存盘,读出并显示硬盘中的指定文件。(任选)

在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。

阅读资料:

1)《IBM—PC汇编语言程序设计实验教程》3.3节

2)《IBM—PC汇编语言程序设计(第2版)》9.1节

时间安排:

设计安排一周:周1、周2:完成系统分析及设计。

周3、周4:完成程序调试,和验收。

周5:撰写课程设计报告。

指导教师签名:年月日

系主任(或责任教师)签名:年月日

文本方式下字处理程序的设计与实

1.设计内容及要求

理解键盘接口的工作原理,掌握BIOS键盘I/O功能,掌握复杂内存数据结构的定义和管理方法。具体的设计任务及要求:

1.清晰且易于操作的用户界面;动态显示光标的当前位置;

2.在文本编辑区内接受并保存输入信息;

3.在文本编辑区内允许光标上移,下移,左移,右移;

4.允许删除当前光标后的字符;

5.将编辑文本存盘,读出并显示硬盘中的指定文件。

2.目的

巩固所学的《汇程序语言设计》知识,能够熟练汇编语言的中的各种寻址,存储等命令及BIOS中断和DOS中断调用,在调试过程,将所学运用到实际应用中,做到理论和实践相统一,切实理解和掌握所学知识理论。

3.设计中使用的关键技术和方法

3.1 汇编语言的中的各种寻址

立即寻址方式

寄存器寻址

直接寻址

寄存器间接寻址

寄存器相对寻址

基址变址寻址

相对基址变址寻址

比例变址寻址

基址比例变址寻址

相对基址比例变址寻址

3.2 存储等命令及BIOS中断和DOS中断调用

例如,在本次的课程之中,需要从键盘输入一个字符以确定需要执行的操作,则采用了Dos中断int 21H:

mov ah,1

int 21h

对于此已经输入了一个字符并保存于ax之后,将进行判断语句以确定程序的下一个执行地址。若输入的字符是50h即是一个“”光标下移键,则经过:cmp ah,50h

jz down ;down是光标下移功能键实现功能的程序段

在此设计中也用到了BIOS中断,即就宏的定义和实现代码实例而言:

win macro opr1,opr2,opr3,opr4,opr5,opr6 ;建立窗口

mov ah,06h

mov al,opr1

mov bh,opr2

mov ch,opr3

mov cl,opr4

mov dh,opr5

mov dl,opr6

int 10h

endm

此宏设计于建立一个窗口,而其中便运用了int 10h中断。

3.3 宏定义

根据算法需求分析的要求以及要多次采用输入并取得字符信息,显示光标位置,标定光标的位置,建立窗口等操作,所以采用宏定义的方式来实现这些重复多次的操作。设计的宏有如下几种:

red_chr macro ;读取字符宏定义

string macro p1 ;输入字符光标

win macro opr1,opr2,opr3,opr4,opr5,opr6 ;建立窗口

pos_curse macro op1,op2,op3 ;定义光标位置

pos_get macro ;显示光标位置

3.4 窗口的建立

为了设计清晰且易于操作的用户界面,本次课程设计采用了菜单的模式,在外观上基本和普通文本文本编辑器相似,采用F1与F10进行菜单选择。

F1设计于对文件的新建,保存,另存,打开和关闭编辑器,F10设计于显示或隐藏帮助信息。

3.4 功能键的定义

利用DEL键、BACKSPACE键、HOME键、END键、上下左右光标键对文本进行全屏幕编辑,按f1键激活菜单file,下移光标,选择save,输入文件名。也可以选择FILE菜的其他菜单项,他们的功能均可实现。按f10激活帮助,按ESC键退出帮助。

3.5 子程序的调用

用CALL对子程序进行调用,利用PROC NEAR来定义子程序。

4.设计环境与工具

4.1编译环境:WINDOWS XP SP3,MASM 5.0

4.2 编辑工具:Windows 文本编辑器

5 程序模块设计

此次课程设计采用多模块进行设计,每一个模块基本上是实现一个功能,诸模块相互调用完成此课设的要求和任务。

从总体而言:

数据段,main模块,窗口设计模块,以及各种处理方式以及各种操作设计和实现的模块,现从上而下对相应的模块以及函数段进行一定的解析。

5.1 数据段

在此模块之中,设计了菜单选项的相关信息数据(menu,manu_1,manu_2,manu_3,manu_4,manu_5,mass_1);

帮助信息栏的相关信息(help_mas0,help_mas1,help_mas2,help_mas3,help_mas4, help_mas5, help_mas6, help_mas7, help_mas8, help_mas9, help_mas10, help_mas11, help_mas12, help_mas13);

新建文件提示信息(message1),打开文件提示信息(message3),另存文件提示信息(message2)以及退出的提示信息(message4);数据缓冲区(path,bak,buffer),以及变量(line,row,char,handle).

5.2 主程序

由于设计和实现的功能分由各个模块协同完成,而主程序主要是调用相应的子模块,则其功能相对较为单一,其实现也比较简单,如下图1。

此main主程序便调用window程序段和edit程序段

5.3 window模块以及edit模块

window模块实现的功能是创建窗口,通过宏调用而实现。其中wind模块实现的代码如下:

window proc near ;创建窗口子程序

win 0,3fh,1,0,24,79 ;定义窗口背景

win 1,4fh,0,0,0,79

win 0,4fh,24,0,24,79

show: ;显示菜单位置及内容

pos_curse 0,0,1 ;光标位置

mov ah,9

lea dx,menu

int 21h

show_2: ;显示状态栏位置及内容

pos_curse 0,24,1

mov ah,9

lea dx,mass_1

int 21h

call win3

call win4

pos_curse 0,1,0

mov row,dh

mov line,dl

window endp

edit模块是window模块运行结束后也就是说编辑窗口已经建立之后,根据键盘输入进行文本方式下的字处理。

其包含的子模块有:

com proc near ;定义功能键

fuc_key proc near ;功能键子程序

help proc near ;显示帮助信息

menu_show proc near ;显示菜单

new proc near ;新建文件

saveas proc near ;另存为文件

open proc near ;打开文件

save proc near ;保存文件

savedisplay proc near ;保存输入的文本

backdisplay proc near ;显示背景的文本内容

quitt proc near ;退出

win3 proc near ;显示日期

win4 proc near ;显示行//列

5.4 程序总体流程图

5. 5 用户界面

图 2

本程序界面简洁明了(如图2),操作起来十分容易上手,满足要求,在其下面有写明,其中F1是菜单,F10是帮助。

6.测试及评估

6.1测试方向键以及删除功能

连续按两次“”,得到如下所示(图3):

图 3

注意右下角显示的行列数,现在行数为二,列数为零。

连续按3次“”,得到如下所示(图4):

图 4

连续按三次“”,得到如下所示(图5):

图 5

连续两次按“”,得到如下所示(图6):

图 6

6. 2 删除功能检测

先在程序中写入一段字符:如下图7:

图 7

进行用backspace,home,end,delete等进行操作均可完成。

按F1如下图:

通过上下左右键进行五项中选择,其中按“new”如下图:

只要输入名称,便可新建立一个文件。然后可在其中写入你要写的字符。

你选择“save”便可以把你输入的东西保存起来。因为前面我们己然新建了文件,所以保存我们是不知道的,但我们可以用open来打开你以前保存的文件。如下图所示:

当确定后,我们可得如下图:

我们也可以自己确定要保存文件的地址,即是“save as”即如下图:

我们打开E:/s可以看到:

我们打开Q.txt可以看到:

当我们用open来打开时:

可得如下图:

当我们按F10时,我们可得如下图:

6.2 评估:

本程序能完全满足课程设计的要求,操作界面简洁明了,能保存输入的信息和读取存储在硬盘上的指定文件,功能还算完善。在一些小的方面还需要改进和完善。

7.心得体会

刚开始写程序时,根本就不知如何下手,没有一丝头绪。后来对照代码的注释和

参照课本上的一些实例,慢慢的明白了如何进行操作,比如说哪些代码是定义数

据段,哪些代码是用来调用子程序的,哪些代码是定义窗体的。

通得这次的写作,使我对于汇编编程有了一个全新的认识,也使得我对于汇编编

程水平有了一个了解,让我对汇编更加熟悉。对以后的编程道路有着十分重要的

做用。

8.参考文献

1.《IBM—PC汇编语言程序设计(第2版)》。编著:沈美明,温冬婵。清华

大学出版社,2001年8月

2.《IBM—PC汇编语言程序设计实验教程》。编著:沈美明,温冬婵,张赤红。

清华大学出版社,1992年9月

9.附录(源代码)

red_chr macro mov ah,0 int 16h endm string macro p1 mov ah,9 lea dx,p1 int 21h endm win macro opr1,opr2,opr3,opr4,opr5,opr6 mov ah,06h mov al,opr1 mov bh,opr2 mov ch,opr3 mov cl,opr4 mov dh,opr5 mov dl,opr6 int 10h endm pos_curse macro op1,op2,op3 mov ah,2 mov bh,op1 mov dh,op2 mov dl,op3 int 10h endm pos_get macro mov ah,03h mov bh,0 int 10h endm data segment menu db 'File Help $' manu_1 db ' New ',13,10,'$' manu_2 db ' Open ',13,10,'$' manu_3 db ' Save ',13,10,'$' manu_4 db ' Save as ',13,10,'$' manu_5 db ' Exit ','$' mass_1 db 'F1 Active file F10 Active help','$' handle dw ? message1 db ' Please input file name:','$' message2 db ' Please input save file name:','$' message3 db ' Please input open file name:','$' message4 db ' ***The file is not save! Save it now? (Y/N)***: ','$' path db 50 dup (0),'$' buffer db 2000 dup (?) bak db 3850 dup (0) line db ? row db ? char db ? help_mas1 db help_mas2 db '* Thanks for using this editor! *$' help_mas3 db '* *$' help_mas4 db '* MAY YOU HAVE A GOOD TIME *$' help_mas5 db '*----------------------------------------------*$' help_mas6 db '*Press F1 to active file. *$' help_mas7 db '* You can use DOWN cursor key to choose the fuction*$' help_mas8 db '*

Press F10 to show

the help massage.Press Esc To Quit*$' help_mas9 db '*Home -Move to the start of the current line. *$' help_mas10 db '*End -Move to the end of the current line.*$' help_mas11 db '*Delete -Delete the character that the cursor is on.*$' help_mas12 db '*Backspace -Delete the character to the left of the cursor.*$' help_mas13 db '************************************************$' date db 'today ??/??/','$' hanglie db '???//???','$' data ends code segment main proc far ;主程序 assume cs:code,ds:data start : push ds sub ax,ax push ax mov ax,data mov ds,ax call window call edit

ret

main endp window proc near win

0,3fh,1,0,24,79 ; win 1,4fh,0,0,0,79 win 0,4fh,24,0,24,79 show:

pos_curse 0,0,1 ;

mov ah,9

lea dx,menu int 21h show_2:

pos_curse 0,24,1

mov ah,9

lea

dx,mass_1

int 21h

call win3

call win4 pos_curse 0,1,0

mov row,dh

mov line,dl window endp

edit proc near

char_get: 读字符

call com

ret

edit endp

com proc near

pos_get

mov row,dh

mov line,dl first:

pos_curse

0,row,line

j00: mov ah,0

int 16h

push ax

lea dx,buffer

mov

buffer[bx],al

inc bx

cmp ah,48h ;上 jz up_1

cmp ah,50h;下

jz down_1

cmp ah,4bh;左

jz left

cmp ah,4dh;右

jz right

cmp ah,1ch;回车

jz enter_1

call fuc_key

mov ah,2

mov dl,al

int 21h

pop ax

call

menu_show

jmp j6

down_1:

jmp down

enter_1:

jmp enter_2

up_1: jmp up

left:光标左移

pos_get

mov row,dh

mov dl,line

cmp line,0

jnz direct

mov line,79

dec row

cmp row,0

je stop2 jmp first

stop2:

mov row,1

jmp first

direct:

dec line

call win4

jmp first

right:光标右移

pos_get

mov row,dh

mov dl,line

cmp line,79

jnz direct2

mov line,0

inc row

cmp row,24

je returns1

jmp first

direct2:inc line

call win4

jmp first

enter_2: jmp enter

up:上移光标

pos_get

mov row,dh

mov dl,line

dec row

cmp row,0

je stop1

call win4

jmp first

stop1:

mov row,1

jmp first

down: ;下移光标

pos_get

mov row,dh

mov dl,line

inc row

cmp row,24

je stop3

call win4

jmp first

stop3:

mov row,23

jmp first

returns1:

jmp returns

enter: ;回车换行

pos_get

mov row,dh

mov line,dl

inc row

cmp row,24

je returns

mov line,0

call win4

jmp first returns:

mov row,24 mov line,0

jmp first

j6:

ret

com endp

fuc_key proc near ;功能键子程序

next:

cmp ah,47h ;home

jz home

cmp ah,4fh ;end

jz _end

cmp ah,0eh;backspace jz bak_sp

cmp ah,53h

jz del

cmp ah,44h;F10

jz help_0

ret

help_0: call help home:;HOME键的功能

pos_get

mov row,dh

mov line,0

call win4

jmp first _end: ;END键的功能

pos_get

mov row,dh

mov line,79 call win4

jmp first

bak_sp:;退格键的功能 pos_get

mov row,dh

mov line,dl

cmp line,0

je stop

dec line jmp ab

stop:

mov line,0

ab:

pos_get

0,row,line

mov ah,2

mov dl,00

int 21h

call win4

jmp first

del:;DEL删除

pos_get

mov row,dh

mov line,dl

dec line

pos_get

0,row,line

mov ah,2

mov dl,00

int 21h

inc line

call win4

jmp first

cm:

cmp line,00

jz pos_cm

pos_cm:

pos_curse

0,0,0

jmp first

fuc_key endp

help proc near

call savedisplay

pos_get

push dx

win 0,57h,4,5,21,70

pos_curse 0,6,11

string help_mas1

pos_curse 0,7,11

string help_mas2

pos_curse 0,8,11

string help_mas3

pos_curse 0,9,11

string help_mas4

pos_curse 0,10,11

string help_mas5

pos_curse 0,11,11

string help_mas6

pos_curse 0,12,11

string help_mas7

pos_curse 0,13,11

string help_mas8

pos_curse 0,14,11

string help_mas9

pos_curse 0,15,11

string help_mas10

pos_curse 0,16,11

string help_mas11

pos_curse 0,17,11

string help_mas12

pos_curse 0,18,11

string help_mas13

pop dx

pos_curse 0,dh,dl

mov ah,0

int 16h

cmp ah,36h

jnz cls

call help

cls:

win 0,1eh,9,10,13,70

call backdisplay

help endp

menu_show proc

near ;

call savedisplay

push cx

cmp ah,3bh

jz menu_file ;F1功能

cmp ah,44h

jz help ;F10功能Help

jmp char_get

menu_file:

pos_get

push dx

win 0,06h,2,1,7,11 ;

win 0,65h,1,0,6,10

pos_curse 0,1,0 string manu_1

string manu_2

string manu_3

string manu_4

string manu_5

pop dx

dec dl

pos_curse 0,dh,dl copmar:

red_chr; I/O读取字符cmp ah,50h ;向下

jz manu_n jmp manu_hid

manu_hid: ;菜单隐藏win 0,1eh,1,1,7,50 call backdisplay jmp char_get

manu_n:

win 0,65h,5,1,5,8 pos_curse 0,5,0 string manu_5

win 0,65h,2,1,2,8 pos_curse 0,2,0 string manu_2

win 0,06h,1,1,1,8 pos_curse 0,1,0 string manu_1

red_chr cmp ah,48h ;向上

je manu_ee ;exit cmp al,0dh ;按回车键选中

jz new_1 ;new

cmp ah,50h ;向下

je manu_o ;open

jmp manu_hid

manu_ee:jmp

manu_e ;new to exit manu_n0:jmp manu_n new_1: jmp new manu_nn:jmp

manu_n ;open to new manu_o: win 0,65h,1,1,1,8

pos_curse 0,1,0

string manu_1

win 0,65h,3,1,3,8

pos_curse 0,3,0

string manu_3

win 0,06h,2,1,2,8

pos_curse 0,2,0

string manu_2

red_chr

cmp ah,48h

je manu_nn ;new

cmp al,0dh

jz open_1 ;open

cmp ah,50h

je manu_s ;save

jmp manu_hid

open_1: jmp open

manu_oo:jmp

manu_o ;save to open

manu_s:

win 0,65h,2,1,2,8

pos_curse 0,2,0

string manu_2

win 0,65h,4,1,4,8

pos_curse 0,4,0

string manu_4

win 0,06h,3,1,3,8

pos_curse 0,3,0

string manu_3

red_chr

cmp al,0dh

jz save_1 ;save

cmp ah,48h

je manu_oo ;open

cmp ah,50h

je manu_a ;saveas

jmp manu_hid

save_1: call save

manu_ss:jmp

manu_s ;saveas to save

manu_a:

win 0,65h,3,1,3,8

pos_curse 0,3,0

string manu_3

win 0,65h,5,1,5,8

pos_curse 0,5,0

string manu_5

win 0,06h,4,1,4,8

pos_curse 0,4,0

string manu_4

red_chr

cmp ah,1ch

jz save_2 ;saveas

cmp ah,48h

je manu_ss ;save

cmp ah,50h

je manu_e ;exit

jmp manu_hid

manu_n2:jmp manu_n

manu_as:jmp manu_a

save_2: call saveas

manu_e:

win 0,65h,4,1,4,8

pos_curse 0,4,0

string manu_4

win 0,65h,1,1,1,8

pos_curse 0,1,0

string manu_1

win 0,06h,5,1,5,8

pos_curse 0,5,0

string manu_5

red_chr

cmp ah,50h

je manu_n2 ;new

cmp ah,48h

je manu_as ;saveas

cmp ah,1ch

je exit ;exit

jmp manu_hid

exit:

call backdisplay

win 0,07h,15,10,17,61

win 0,24h,14,9,16,60

mov dh,15

mov dl,9

mov bh,0

mov ah,2

int 10h

lea

dx,message4

mov ah,9 int 21h

mov ah,1 int 21h

cmp al,79h jnz q

call quitt q:

cmp al,6eh jz quit quit:

win 0,07h,0,0,24,79 pos_curse 0,0,0

mov ah,4ch int 21h ret ;结束,退出程序

menu_show endp new proc near;

pos_get

push dx

call backdisplay

win 0,07h,15,10,17,61 win 0,24h,14,9,16,60

mov dh,15

mov dl,9

mov bh,0

mov ah,2

int 10h

lea

dx,message1

cmp al,0dh

mov ah,9

int 21h

mov bx,0

all:

mov ah,1

int 21h

cmp al,0dh

je alll

mov

path[bx],al

inc bx

jmp all

alll:

win 0,3eh,15,9,17,61

pop dx

pos_curse 0,dh,dl

lea dx,path

mov ah,3ch

mov cx,00

int 21h

mov handle,ax

mov bx,ax

mov ah,3eh

int 21h

win 0,3eh,1,0,23,79

mov dh,1

mov dl,0

mov bh,0

mov ah,2

int 10h

jmp char_get

new endp

open_2: jmp open

saveas proc near ;

win 0,3eh,1,0,6,10

call backdisplay

win 0,07h,15,10,17,61

win 0,24h,14,9,16,60,

mov dh,15

mov dl,9

mov bh,0

mov ah,2

int 10h

lea dx,message2

mov ah,9

int 21h

mov bx,0

bll:

mov ah,1

int 21h

cmp al,0dh

je blll

mov

path[bx],al

inc bx

jmp bll

blll:

pos_get

push dx

win 0,3eh,1,0,23,79

call backdisplay

pop dx

pos_curse 0,dh,dl

lea dx,path

mov ah,3ch

mov cx,00

int 21h

mov handle,ax

lea dx,buffer

mov bx,handle

mov cx,2000

mov ah,40h

int 21h

mov bx,handle

mov ah,3eh

int 21h

call backdisplay

jmp char_get

saveas endp

open proc near

call backdisplay

win 0,07h,15,10,17,61

win 0,24h,14,9,16,60

mov dh,15

mov dl,9

mov bh,0

mov ah,2

int 10h

lea dx,message3

mov ah,9

int 21h

mov bx,0

cll:

mov ah,1

int 21h

cmp al,13

je clll

mov path[bx],al

inc bx

jmp cll

clll:

win 0,3eh,1,0,23,79

lea dx,path

mov ah,3dh

mov al,0

int 21h

mov handle,ax

lea dx,buffer

mov bx,handle

mov cx,2000

mov ah,3fh

int 21h

win 0,3eh,1,23,1,79

mov dh,1

mov dl,0

mov bh,0

mov ah,2

int 10h

mov cx,1000 sub bx,bx

replay:

mov dl,buffer[bx]

inc bx

mov ah,2

int 21h

loop replay

mov bx,handle

mov ah,3eh

int 21h

mov dh,1

mov dl,0

mov bh,0

mov ah,2

int 10h

mov cx,10

mov bx,0 cleapath_3:

mov bl,0

mov

path[bx],bl

loop

cleapath_3 jmp char_get

open endp

save proc near

pos_get

push dx

win 0,3eh,1,0,6,10

call backdisplay

mov ah,path

cmp ah,21h

jl j_3

jmp j_4

j_3:

win 0,07h,15,10,17,61

win 0,24h,14,9,16,60,

mov dh,15

mov dl,9

mov bh,0

mov ah,2

int 10h

lea dx,message2

mov ah,9

int 21h

mov bx,0

dll: mov ah,1

int 21h

cmp al,0dh

je dlll

mov path[bx],al

inc bx

jmp dll

dlll:

win 0,3eh,1,0,23,79

pop dx

pos_curse 0,dh,dl

j_4: lea dx,path

mov ah,3ch

mov cx,00

int 21h

mov handle,ax

lea dx,buffer

mov bx,handle

mov cx,2000

mov ah,40h

int 21h

mov bx,handle

mov ah,3eh

int 21h

call backdisplay

jmp char_get

save endp

;*******************

savedisplay proc

near ;保存输入的文

push ax

push bx

push cx

push dx

push ds

mov ax,0002h

int 33h

mov bx,0d

mov cx,3840d

loop1:

mov ax,0b800h

mov ds,ax

mov

dl,ds:[bx]

mov ax,data

mov ds,ax

mov

bak[bx],dl

inc bx

loop loop1

mov ax,0001h

int 33h

pop ds

pop dx

pop cx

pop bx

pop ax

savedisplay endp

backdisplay proc

near;

push ax

push bx

push cx

push dx

图像处理编程总结

EmguCV编程总结 学习C#图像处理编程有一段时间了,然后写写自己的已经积累的经验,网上有关于C#数字图像处理的资料很少,教程方面,专门为C#数字图像处理的到目前为止我就看到了三本,这三本的内容都是利用GDI+来做图像处理的。GDI+为我们提供了图像处理所需要的一些类,还有一些函数。在结合C#做界面的优势,因此做图像处理我个人感觉要比c++和opencv方便,opencv中有强大的算法,但是就是这个界面不友好。在GDI+中只是提供了图像处理的类,还有少量的函数,如果真正要做处理,大量的函数还是的需要自己编写,我看到的这三本书上讲的基本上都是编写这些函数的内容,在GDI+编程中对图像处理通常有三种方式,第一种是利用纯C#的方式,理解简单,但是效率差。第二种是内存法,理解稍微困难点,但是效率比纯C#的要高几百倍。第三种就是在C#下利用指针了,当然利用指针就是效率最高的了,比内存法都要效率高,但是指针的理解比较困难,如果退指针理解还可以,就推荐用这种方法。 在前面的文章中我对比过在C#中用这三种方式灰度化图像的运行效率对比,还给出了具体时间。我看到的这三本C#图像处理的书上,其中一本的算法是按照内存法来写的,其他两本上的算法都是按照纯C#方法写的,效率令人堪忧。当然还有一些关于GDI+的书籍,这上面就介绍的内容就不单单是图像方面的处理了,还包括其他方面的内容,这是对学软件计算机的人看的,我们了解下就可以,再说,上面处理的方式都是纯C#的方式处理的,对我们图像处理来说效率实在不好,所以看看就好。 因此,C#图像处理的话,我推荐的是指针的方法,效率最好,速度快。 这是我们直接用C#来图像处理,当然大多数算法还得自己编写程序,反正我看到的教材上都是这样教的,但是实际中,我们写大量成熟的算法是很花时间的,估计写完这些都花个好几年时间了,因此,我们还得需要一些计算机视觉处理的库,调用其中的函数完成主要的处理功能。 有本名字叫《EmguCV Essentials》的书上就对现在常见的库做了对比,这本书上对比了有三种计算机视觉库,有opencv,EmguCV,https://www.wendangku.net/doc/4613278615.html,这三种库。 首先从许可证的获取方面做了对比,其中opencv是开放的,emguCv有开放的也有商业版的,https://www.wendangku.net/doc/4613278615.html,就没有前两种那开放了。下图就是对比结果:

字处理软件教学设计

《字处理软件》教学设计 刘拥香 峰峰第一中学 教学主题文本与表格信息加工——字处理软件 适用年级高一年级教学课时1课时 教材分析 本节课的教学内容是教科版《信息技术基础》第四章第一节第2部分——字处理软件。这一节在本书中比较特殊。纵观教科书《信息技术基础》,基本上是知识与概念介绍,工具软件方面的教学内容比较少。本节是学生掌握文本处理的开端,也是掌握文本处理的基础。我们着重处理两个问题,既如何适应迅速变化的字处理软件的发展,如何根据需要选择合适的字处理软件。本节课应该积极引导学生自主地学习本节课的内容,重在培养学生的实际操作能力。 教学目标知识、技能目标: 1、认识文字处理的若干工具软件 2、了解字处理软件的基本特征,能触类旁通、举一反三,指出各种字处理软件的异同之处。 3、能根据自己的需要选择一种合适的字处理软件 4、能利用字处理软件加工信息 过程、方法目标: 在教师引导下,学生自主去体会、对比各种不同的字处理软件,最后总结归纳,从而提高学生信息技术的综合应用能力。 情感态度与价值观目标: 通过本节课学习,激发学生对字处理软件学习与应用的浓厚兴趣,培养学生正确选择合适的字处理软件来处理信息文字的能力。 教学设计思路 本节课采取的基本教学策略是自主学习、协作学习、分组学习和任务驱动。任务一学习了解字处理软件的发展和特征,完成任务是教师讲解,学生理解。任务二是使用word让学生自己完成《再别康桥》的排版。完成任务的方式是自主学习和总结评价。 教学设计过程: 步骤教师活动学生活动设计意图 导入 提问:同学们,你 们看看老师展示的两个 word文档,看看这两个 文档你们更加喜欢阅读 哪一个? 提问:请问谁能说 出认为第二个文档的优 势? 同学们一起回 答,当然是第二个。 几位同学各自回答 了自己的看法:文字 排版合理,图片美观, 图文并茂,能激发阅 读兴趣。 通过引导对比的方式,从同学们 的感受中体会通过字处理软件排 版处理过的word文档的优越性, 从而激发同学们的学习兴趣和主 动性。

IDL编程实现图像处理

IDL编程实现图像处理 pro example ENVI, /RESTORE_BASE_SAVE_FILES ENVI_BATCH_INIT tlb=widget_base(column=1,mbar=mbar,title='Example',tlb_frame_attr=1,xoffset=500,yo ffset=100,xsize=800,ysize=600,RESOURCE_NAME = 'example') filemenu=widget_button(mbar,value='File') fileopt1=widget_button(filemenu,value='Open',event_pro='open_event') fileopt2=widget_button(filemenu,value='Save',/menu) Save1= widget_button(fileopt2,value = 'binary',uname = 'savebinary') Save2= widget_button(fileopt2,value = 'jpg',uname = 'savejpg') Save3= widget_button(fileopt2,value = 'bmp',uname = 'savebmp') Save4= widget_button(fileopt2,value = 'tif',uname = 'savetif') Save5= widget_button(fileopt2,value = 'dat',uname = 'savedat') fileopt3=widget_button(filemenu,value='Exit',event_pro='exit_event',/separator) editmenu=widget_button(mbar,value='Edit') processopt1=widget_button(editmenu,value='K-L Transform', event_pro='K_L_event',/separator) processopt2=widget_button(editmenu,value='Histogram Equalization',event_pro='HistogramEqualization_event',/separator) processopt3=widget_button(editmenu,value='NDVI',event_pro='NDVI_event',/separator) processopt5=widget_button(editmenu,value='Image Smoothing',event_pro='IS_event') processopt4=widget_button(editmenu,value='edge enhancement',/menu) imageopt1=widget_button(processopt4,value='robort',event_pro='robort_event') imageopt2=widget_button(processopt4,value='sobel',event_pro='sobel_event') imageopt3=widget_button(processopt4,value='prewitt',event_pro='prewitt_event') helpmenu=widget_button(mbar,value='Help') idlhelp=widget_button(helpmenu,value='IDL help',event_pro='help_event') iconbase=widget_base(tlb,row=1,/frame)

面向对象程序设计—文本编辑器的设计与实现

课程设计报告书 课程名称面向对象程序设计 设计题目文本编辑器的设计与实现 专业班级 学号 姓名 指导教师 年月

目录 1 设计时间 (1) 2 设计目的 (1) 3设计任务 (1) 4 设计内容 (1) 4.1需求分析 (1) 4.2概要设计 (1) 4.2.1功能结构图 (1) 4.3详细设计 (2) 4.3.1流程图 (3) 4.4系统的功能实现 (4) 4.4.1类或包的加载 (5) 4.4.2设计一个主类,变量的定义 (5) 4.4.3文件操作功能的实现 (6) 4.5运行测试 (25) 4.5.1文本编辑器界面 (25) 4.5.2各功能菜单界面 (25) 5 总结与展望 (26) 参考文献 (26) 成绩评定 (27)

1 设计时间 2011年12月19日~2011年12月25日 2 设计目的 本次设计是学习完《java6程序设计》课程后进行的一次全面的综合练习,目的是加深对本学期课程的理解,通过设计文本编辑器并实现其功能来熟练掌握java语言基础,初步掌握软件开发的基本方法与技术将理论课程中学到的知识运用到实践中,实现有一定规模的Java应用。 3设计任务 本次设计的主要任务是文本编辑器的设计与实现,要求设计一个类似于Windows记事本(Notepad)的Java程序。可以打开、新建、保存一个文本文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复制、粘贴、剪切、查找、替换等);在文本中能够插入对象。 4 设计内容 4.1需求分析 现在网络上各种文本编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed,xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的文本编辑器程序。 4.2概要设计 4.2.1功能结构图

数字图像处理课程设计哈理工

数字图像处理课程设计 学院:自动化学院 专业:电子信息科学与技术 班级:姓名:12级 B方向樊晓晨 起讫日期:12月28日~1月1日指导教师:曹宇

摘要 基于数字信号处理原理,在数字滤波器设计理论和Matlab 编程技术及其GUI 图形用户界面设计的基础上,开发了具有交互式特点的数字图像处理GUI 软件,界面操作简单方便。 MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台。它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。 MATLAB中集成了功能强大的图像处理工具箱。由于MATLAB语言的语法特征与C语言极为相似,而且更加简单、更加符合科技人员对数学表达式的书写格式,而且可移植性好、可扩展性强,再加上其中有丰富的图像处理函数,所以MATLAB在图像处理的应用中具有很大的优势。 关键词:Matlab GUI;数字图像处理;图形用户界

目录 第1 章于MATLAB 的图形用户界面(GUI)设计............................................. - 1 - 1.1 前言............................................................................................................ - 1 - 1.2 句柄图形及图形用户界面........................................................................ - 1 - 1.3 GUIDE ........................................................................................................ - 1 - 1.3 .1GUI设计工具简介 ......................................................................... - 2 - 1.3 .2 编制回调程序................................................................................ - 2 - 第2 章课程设计的目的....................................................................................... - 3 - 第3 章课程设计的内容及要求........................................................................... - 4 - 第4 章设计内容及结果分析............................................................................... - 5 - 4.1 文件操作.................................................................................................... - 6 - 4.1.1 保存................................................................................................. - 6 - 4.1.3 退出................................................................................................. - 6 - 4.2 编辑............................................................................................................ - 7 - 4.2.1 灰度................................................................................................. - 7 - 4.2.2 截图................................................................................................. - 8 - 4.2.3 缩放................................................................................................. - 9 - 4.2.4 上下翻转....................................................................................... - 10 - 4.2.5 加入噪声....................................................................................... - 11 - 4.2.6 图片选择....................................................................................... - 13 - 4.2.7 二值图像....................................................................................... - 14 - 4.2.8 图像分割(计算45度边缘)..................................................... - 14 - 4.2.9 边缘检测....................................................................................... - 15 - 4.2.10 图像保存..................................................................................... - 16 - 第5 章课程设计的目的..................................................................................... - 18 - 第6 章参考文献................................................................................................. - 19 -

java课设—文本编辑器的设计与实现

淮 海 工 学 院 计算机工程学院
课程设计报告
设计名称: 选题名称: 姓 名: 面向对象课程设计 文本编辑器的设计与实现 学 号:
专业班级: 系 (院) : 设计时间: 设计地点: 计算机工程学院 2015.6.21~2014.7.4 计算机楼机房、教室、宿舍
指导教师评语:
成绩:
签名:
年 月 日

面向对象课程设计报告

1
页,共
14

1.课程设计目的
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程 后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理 论、方法和基础知识的理解,掌握使用 Java 语言进行面向对象设计的基本方法,提高运用 面向对象知识分析实际问题、解决实际问题的能力。
2.课程设计任务与要求:
课程设计可选用 NetBeans、Eclipse、JBuilder 等作为开发平台以提高开发效率,尽可能熟 练掌握其中一种集成开发环境。建议采用 UML 建模技术进行系统的分析设计,在 Visio 中画出系 统用例图和类图,并将 UML 图复制到设计报告中。 通过这次设计,要求掌握以下内容: 1)面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用 2)类、包、接口的定义与使用 3)常用工具类与算法的实现(数组、向量、字符串、链表) 4)Java 常用标准 GUI 组件及其事件处理 5)Java 的异常处理机制 6)Java 的数据库连接技术 7)Java 的多线程技术与动画制作 8)Java 的网络编程 任务: 设计一个类似于 Windows 记事本(Notepad)的 Java 程序。可以打开、新建、保存一个文本 文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复 制、粘贴、剪切、查找、替换等) ;在文本中能够插入对象。简单文本编辑器提供给用户基本的 纯文本编辑功能, 能够将用户录入的文本存储到本地磁盘中。 能够读取磁盘中现有的纯文本文件, 以及方便用户进行需要的编辑功能。

七年级信息技术下册全部教学设计

七年级下册 信 息 技 术 教 案

第一章文字处理 第一节信息时代的文字处理知识与技能: 1.了解文字处理方法的历史发展过程; 2.能列举日常生活中应用计算机进行文字处理的若干实例; 3.知道文字处理软件有多种。 过程与方法: 1.通过了解从铅字排版到计算机排版的变化,初步领会模拟人工工作过程、实现工作过程中需要的功能是应用计算机解决实际 问题的基本思想方法; 2.通过对不同文字处理软件使用界面及功能菜单的观察和分析,逐步培养自学新软件的能力。 情感态度与价值观: 1.体会文字处理是人们从古到今都存在的进行信息记载和传播 的需要,感受文字处理技术的每一次进步对社会生活产生的影 响; 2.感受现代计算机文字处理技术给人们日常生活和工作带来的 便利,产生学习和应用计算机文字处理技术的自觉愿望,增强 学习和掌握计算机软件操作及其应用方法的信心。 教学重点: 1.体会文字处理是人们从古到今都存在的进行信息记载和传播 的需要,知道计算机文字处理技术在日常生活中的广泛应用及 其带来的变化; 2.让学生经历观察与发现的思维过程,探讨应用以往软件使用经验学习、了解新软件的方法,逐步培养软件学习的迁移能力。 教学难点: 1.领会模拟人工工作过程以及实现其需要的功能是应用计算机 解决实际问题的基本工作思路; 2.初步从不同文字处理软件的观察、比较中发现它们的一些功能

异同点。 教学过程: 1、文字处理的变迁 古代蔡伦发明造纸术和毕升发明的“泥活字”印刷术。 举例子:印章、北京奥运的中国印 曾经广泛使用的“铅字排版”印刷。 举例子:铅球、核的防护、铅笔不是铅做的。 现代的“计算机排版”优点:整洁、干;争、方便、环保、快速2、计算机文字处理进入生活 名片、贺卡、信封、个人文集、纪念册、书报杂志 3、选择文字处理软件 简单:记事本、写字板 微软的公司的WORD、金山公司的WPS 教学评价: 本节着重在于对不同文字处理软件的操作、比较。因而,本节的教学评价着重于知识与技能目标的第三点和过程与方法目标 第二节文字的编辑与排版知识与技能: 1.熟悉字体、段落、边框和底纹的设置方法; 2.能使用文字处理软件输入和保存文稿: 3.懂得打印文稿的方法。 过程与方法: 通过对比体会文稿修饰前后信息表达效果上的变化,学会灵活运用所学知识进行信息的传递。 情感态度与价值观: 1.通过操作过程的y3纳总结,培养学生的自主学习能力;

VC数字图像处理编程

图像处理就是对图像信息进行加工处理,以满足人的视觉心理和实际应用的需要。简单的说,依靠计算机对图像进行各种目的的处理我们就称之为数字图像处理。早期的数字图像处理的目的是以人为对象,为了满足人的视觉效果而改善图像的质量,处理过程中输入的是质量差的图像,输出的是质量好的图像,常用的图像处理方法有图像增强、复原等。随着计算机技术的发展,有一类图像处理是以机器为对象,处理的目的是使机器能够自动识别目标,这称之为图像的识别.图像处理技术博大精深,不仅需要有很强的数学功底,还需要熟练掌握一门计算机语言,在当前流行的语言中,Visual C++这个开发平台是图像开发人员的首选工具。 第一节图像的文件格式 要利用计算机对数字化图像进行处理,首先要对图像的文件格式要有清楚的认识,自然界的图像以模拟信号的形式存在,在用计算机进行处理以前,首先要数字化,比如摄像头(CCD)摄取的信号在送往计算机处理前,一般情况下要经过数模转换,这个任务常常由图像采集卡完成,它的输出一般为裸图的形式;如果用户想要生成目标图像文件,必须根据文件的格式做相应的处理。随着科技的发展,数码像机、数码摄像机已经进入寻常百姓家,我们可以利用这些设备作为图像处理系统的输入设备来为后续的图像处理提供信息源。无论是什么设备,它总是提供按一定的图像文件格式来提供信息,比较常用的有BMP 格式、JPEG格式、GIF格式等等,所以我们在进行图像处理以前,首先要对图像的格式要有清晰的认识,只有在此基础上才可以进行进一步的开发处理。 在讲述图像文件格式前,先对图像作一个简单的分类。除了最简单的图像外,所有的图像都有颜色,而单色图像则是带有颜色的图像中比较简单的格式,它一般由黑色区域和白色区域组成,可以用一个比特表示一个像素,"1"表示黑色,"0"表示白色,当然也可以倒过来表示,这种图像称之为二值图像。我们也可以用8个比特(一个字节)表示一个像素,相当于把黑和白等分为256个级别,"0"表示为黑,"255"表示为白,该字节的数值表示相应像素值的灰度值或亮度值,数值越接近"0",对应像素点越黑,相反,则对应像素点越白,此种图像我们一般称之为灰度图像。单色图像和灰度图像又统称为黑白图像,与之对应存在着彩色图像,这种图像要复杂一些,表示图像时,常用的图像彩色模式有RGB模式、CMYK模式和HIS模式,一般情况下我们只使用RGB模式,R 对应红色,G对应绿色,B对应蓝色,它们统称为三基色,这三中色彩的不同搭配,就可以搭配成各种现实中的色彩,此时彩色图像的每一个像素都需要3个样本组成的一组数据表示,其中每个样本用于表示该像素的一个基本颜色。 对于现存的所有的图像文件格式,在这里主要介绍BMP图像文件格式,并且文件里的图像数据是未压缩的,因为图像的数字化处理主要是对图像中的各个像素进行相应的处理,而未压缩的BMP图像中的像素数值正好与实际要处理的数字图像相对应,这种格式的文件最合适我们对之进行数字化处理。请读者记住,压缩过的图像是无法直接进行数字化处理的,如JPEG、GIF等格式的文件,此时首先要对图像文件解压缩,这就要涉及到一些比较复杂的压缩算法。后续章节中我们将针对特殊的文件格式如何转换为BMP格式的文件问题作专门的论述,经过转换,我们就可以利用得到的未压缩的BMP文件格式进行后续处理。对于JPEG、GIF等格式,由于涉及到压缩算法,这要求读者掌握一定的信息论方面的知识,

计算机应用基础教案—文字处理软件WORD的基本操作

课题六文字处理软件WORD的基本操作 一、教学目的与要求 1、掌握Word2000的启动和关闭 2、掌握Word2000的窗口组成 3、掌握简单的文件菜单操作 4、掌握文本的插入、复制、移动、删除等编辑方法 二、教学内容 1、Word2000的启动和关闭 2、Word2000的窗口介绍 3、文本的选取 4、对文本的基本操作 重点:Word2000的窗口组成与基本操作 难点:WORD的基本操作 作业:上机操作题 教具:多媒体教学 三、教学过程 1、讲授+演示 2、小结 3、布置作业 文字处理软件WORD的基本操作 一、Word2000的启动和关闭的方法 1、启动 “开始” →“程序” →“Office 2000” →“Microsoft Word” 2、退出 退出Word 2000的方法与一般Windows窗口关闭操作相同。关闭窗口的一般方法: (1)单击该窗口的“×”按钮; (2)执行控制菜单中的“关闭”命令 (3)直接按快捷键+ (4)执行“文件”菜单下的“退出”命令。

Word2000的窗口介绍窗口界面见下图: 三、文本的选取方法 1、任意文本的选择:将光标定在要选择的文本起始处,然后,按住鼠标左键拖拉至要选择的文本的结束处。 2、词的选择:将鼠标放在要选择的词(中、英文均可)的任一字(字母)上双击。 整行文本的选择:将鼠标放在要选择的行左边,成空心向右倾斜箭头时,单击左键。 一句话的选择:将鼠标移到该句中(句号与句号之间)任一位置,在按住Ctrl键后单击鼠标左键。 一段文本的选择:将鼠标移到要选择的段左边成空心向右倾斜箭头时,双击左键。 另外将鼠标移到一段文本的任一位置上,三击左键选中该段文本。整篇文档的选择:执行“编辑/全选”命令,或者直接“Ctrl+A”组合键。 另外将鼠标移到文档左边成空心向右倾斜箭头时,三击左键即可选中全文。 文本的基本操作1、文字的删除、复制和移动 ①选定要删除的文本或对象 ②“编辑” →“清除” ,或者按Delete键,或者按空格键等都可以删除选定内容。①选定要复制的文字块或对象 ②“编辑” →“复制” ,或单击工具栏上“ ”图标,或者按Ctrl+C键 ③将光标移至目标处(当前文档或另一文档中) ④“编辑” →“粘贴” ,或单击工具栏上“ ”图标,或者按Ctrl+V键 ①选定要复制的文字块或对象 ②“编辑” →“剪切” ,或单击工具栏上“ ”图标,或者按Ctrl+X键 ③将光标移至目标处(当前文档或另一文档中) ④“编辑” →“粘贴” ,或单击工具栏上“ ”图标,或者按Ctrl+V键 文字的查找和替换 (1)“编辑” →“查找”、“替换”或“定位”

数字图像处理课程设计报告

本科综合课程设计报告 题 目 ____________________________ 指导教师__________________________ 辅导教师__________________________ 学生姓名__________________________ 学生学号__________________________ _______________________________ 院(部)____________________________专业________________班 ___2008___年 _12__月 _30__日 数字图像处理演示系统 信息科学与技术学院 通信工程 052

1 主要内容 1.1数字图像处理背景及应用 数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。 1.2 图像处理演示系统设计要求 能加载和显示原始图像,显示和输出处理后的图像; 系统要便于维护和具备可扩展性; 界面友好便于操作; 1.3 图像处理演示系统设计任务 数字图像处理演示系统应该具备图像的几何变换(平移、缩放、旋转、翻转)、图像增强(空间域的平滑滤波与锐化滤波)的简单处理功能。 1.3.1几何变换 几何变换又称为几何运算,它是图像处理和图像分析的重要内容之一。通过几何运算,可以根据应用的需要使原图像产生大小、形状、和位置等各方面的变化。简单的说,几何变换可以改变像素点所在的几何位置,以及图像中各物体之间的空间位置关系,这种运算可以被看成是将各物体在图像内移动,特别是图像具有一定的规律性时,一个图像可以由另外一个图像通过几何变换来产生。实际上,一个不受约束的几何变换,可将输入图像的一个点变换到输出图像中的任意位置。几何变换不仅提供了产生某些特殊图像的可能,甚至还可以使图像处理程序设计简单化。从变换性质来分可以分为图像的位置变换、形状变换等 1.3.2图像增强 图像增强是数字图像处理的基本内容之一,其目的是根据应用需要突出图像中的某些“有用”的信息,削弱或去除不需要的信息,以达到扩大图像中不同物体特征之间的差别,使处理后的图像对于特定应用而言,比原始图像更合适,或者为图像的信息提取以及其他图像分析技术奠定了基础。一般情况下,经过增强处理后,图像的视觉效果会发生改变,这种变化意味着图像的视觉效果得到了改善,某些特定信息得到了增强。

项目一:文本编辑器的设计与实现

课程: C# Windows程序设计学年第_ _学期第周月日教学内容备注 项目一:文本编辑器的设计与实现 【项目背景】 文本编辑器有两类:单文档和多文档文本编辑器。单文档文本编辑器一次只能打开一个文件,如果要打开另一个文件,必须关闭当前打开的文件,微软的写字板程序就是单文档字处理程序。多文档文本编辑器允许同时打开多个文件,每个文件占用一个子窗口,微软的Word程序就是多文档字处理程序。本项目主要介绍建立单文档文本编辑器的方法,通过分析现有文本编辑器的功能与操作过程,利用C#开发一个新的文本编辑器。 【主要内容与技能要求】 (1)会进行复杂窗口设计 (2)会对常见的文本编辑功能进行分析与编码实现 (3)会设计多文档窗口 一、预备知识 本项目主要利用RichTextBox控件来构成文本编辑区域。 1、RichT extBox控件的主要属性 属性SelectedText、SelectionLength、SelectionStart: 属性SelectionFont: 属性SelectionColor: 属性Lines: 属性Modified: 事件SelectionChange: 事件TextChanged: 2、RichT extBox控件的主要方法 方法Clear(): 方法Copy()、Cut()、Paste(): 方法SelectAll(): 方法Find(): 方法SaveFile()和LoadFile():

课程: C# Windows程序设计学年第_ _学期第周月日教学内容备注方法Undo(): 方法Redo(): 二、功能设计与实现 1、剪贴板功能 放RichTextBox控件到窗体。属性Name=richTextBox1,Dock=Fill,Text=""。 private void menuItemEditCut_Click(object sender,EventArgs e) { richTextBox1.Cut(); } //剪切 private void menuItemEditCopy_Click(object sender,EventArgs e) { richTextBox1.Copy(); } //拷贝 private void menuItemEditPaste_Click(object sender,EventArgs e) { richTextBox1.Paste(); } //粘贴 private void menuItemEditUndo_Click(object sender,EventArgs e) { richTextBox1.Undo(); } //撤销 private void menuItemEditRedo_Click(object sender,EventArgs e) { richTextBox1.Redo(); } //恢复 2、存取文件功能 文本编辑器都应具有文件存取功能,菜单顶级菜单项“文件”的弹出菜单中一般包括如下菜单项:新建、打开、关闭、保存和另存为等。需要用到打开文件对话框(OpenFileDialog控件)和保存文件对话框(SaveFileDialog控件)。和 两个对话框的常用属性和方法: 属性Filter:例如Filter=“纯文本文件(*.txt)|*.txt|所有文件(*.*)|*.*” 属性FilterIndex: 属性FileName: 属性InitialDirectory: 属性DefaultExt: 方法ShowDialog(): 存取文件功能实现如下:

文字处理软件word-电子教案

计算机基础 机械工业出版社同名教材 配套电子教案

第4章文字处理软件Word的使用 4.1 Word的基本操作 4.1.1 启动Word 4.1.2 Word的窗口组成 4.1.3 新建空白文档 4.1.4 保存文档 4.1.5 关闭文档与退出Word 4.1.6 打开已有文档 4.2编辑文档 4.2.1 输入文字 4.2.2 插入符号 4.2.3 撤销与恢复 4.2.4 选定文本块 4.2.5 删除、复制或移动文本 4.2.6 Office剪贴板 4.2.7 查找和替换 4.2.8 打开多个文档 4.2.9 更改默认设置 4.3文档视图 4.4设置页面格式4.4.1 设置页面 4.4.2 页眉和页脚 4.4.3 页码 4.5设置文档的格式

4.5.1 设置字符格式 4.5.2 设置段落格式 4.5.3 用格式刷复制格式 4.5.4 清除格式 4.5.5 自动更正 4.6 处理表格 4.6.1 建立表格 4.6.2 修改表格 4.6.3 设置表格格式 4.6.4 数据的计算与排序4.7 插入图片 4.7.1 插入图片文件 4.7.2 从“插入剪贴画”任务窗格插入剪贴画 4.7.3 从“剪辑管理器”插入剪辑 4.7.4 调整图片 4.8 绘图 4.8.1 创建绘图 4.8.2 自选图形 4.8.3 移动图形对象并调整其大小 4.8.4 三维和阴影效果 4.8.5 叠放图形对象 4.8.6 组合图形 4.9 文本框 4.10 艺术字

4.11 边框、底纹和图形填充 4.11.1 添加边框 4.11.2 添加阴影、颜色或图形填充4.12 公式 4.13 打印文档 4.13.1 打印前预览页面 4.13.2 打印文档 4.13.3 检查打印作业的进度 习题4

(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1 直方图 一.实验目的 1.熟悉matlab图像处理工具箱及直方图函数的使用; 2.理解和掌握直方图原理和方法; 二.实验设备 1.PC机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察图像matlab环境下的直方图分布。 (a)原始图像 (b)原始图像直方图 六.实验报告要求 1、给出实验原理过程及实现代码; 2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡 一.实验目的 1.熟悉matlab图像处理工具箱中灰度均衡函数的使用; 2.理解和掌握灰度均衡原理和实现方法; 二.实验设备 1.PC机一台; 2.软件matlab; 三.程序设计 在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(2,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(2,2,3),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 a=histeq(I,256); %直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) %输出均衡化后图像 title('均衡化后图像') %在均衡化后图像中加标题 subplot(2,2,4),imhist(a) %输出均衡化后直方图 title('均衡化后图像直方图') %在均衡化后直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 (a)原始图像 (b)均衡化后图像

文本编辑器设计

四川师范大学成都学院高级语言程序课程设计 文本编辑器设计 学生姓名xxx 学号x 所在学院x 专业名称x 班级x级x班 指导教师x 成绩 x学院 二○一四年十二月

课程设计任务书

文本编辑器设计 内容摘要:当今,计算机以及网络技术的飞速发展,社会正快速向信息化社会前进,我们需要更智能,更专业的软件帮助我们完成工作,从而提高了工作效率。 目前文本编辑器种类很多,所提供的功能也很多,但是能满足用户实现多种功能和进行C++程序语言的编译与运行很少,不能更好的适应当前用户的要求。本设计所完成的文本编辑器功能是针对学习C++程序语言,因此我们利用C++程序设计虚拟机和软件用户以及使用者的应用过程形成一整套完整的编写代码,编译,运行。本文本编辑器的开发主要包括界面窗口的菜单栏和工具栏,还有链接C++语言虚拟机实现编译与运行。操作系统为Windows 7。 关键词:文本编辑器C++程序语言编译运行 The design of text editor Abstract:Today, the rapid development of computer and network technology, society is rapidly advancing to the information society, we need a more intelligent, more professional software to help us to finish the work, so as to improve work efficiency. At present, many text editors species, to provide the function of many, but can satisfy the compiling and running the user to achieve a variety of functions and the C++ programming language is very few, can better adapt to the requirements of the current user. The completion of the design of the text editor function is for learning C++ programming language, so we use the C++ program design of virtual machines and software users and users of the application process of form a complete set of code, compile, run. The development of the text editor includes interface window menus and toolbars, and link the C + + programming language virtual machine implementation compile and run. The development of the text editor use VC++ as the development tool, and the operating system is Window 7.

相关文档
相关文档 最新文档