VB图形图象处理(05-07).ppt

上传人:本田雅阁 文档编号:2090481 上传时间:2019-02-12 格式:PPT 页数:31 大小:803.51KB
返回 下载 相关 举报
VB图形图象处理(05-07).ppt_第1页
第1页 / 共31页
VB图形图象处理(05-07).ppt_第2页
第2页 / 共31页
VB图形图象处理(05-07).ppt_第3页
第3页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《VB图形图象处理(05-07).ppt》由会员分享,可在线阅读,更多相关《VB图形图象处理(05-07).ppt(31页珍藏版)》请在三一文库上搜索。

1、VB图形图象处理技术,北京交通大学理学院 黄晓鸣 电话:51682052 Email: ,2019/2/12,2,Chap 5 图像的浏览与控制,图像的浏览与控制是图像处理的重要部分,VB的PictureBox和Image等控件对图像的简单浏览和控制提供了支持。 本章主要介绍几种图像浏览的特殊效果、图像文件格式的转换、图像的复制及旋转缩放等功能的实现。,2019/2/12,3,一 浏览各种图像文件,VB的PictureBox和Image等控件对图像进行的简单浏览和控制,而且支持包括bmp、jpg、gif在内的多种图像格式,但不支持图像的滚动控制等其它效果,但可以通过程序控制实现使用滚动条控制图

2、像、显示透明位图以及多种特殊效果的图像显示。,5.1.1 图像滚动控制,利用图像漫游技术,对一幅图首先建立一个逻辑坐标系,然后根据当前位置在用户坐标系中显示不同的区域,用户坐标系一般为图像显示的整个区域的大小。,示例,2019/2/12,4,5.1.2 图片特技显示,滚动、拉近、百叶窗和马赛克等效果。 利用VB的PictureBox控件可实现多种特殊效果。利用PictureBox控件的PaintPicture图形方法可以绘制图片,原型为: Object.PaintPicture picture, x1,y1, w1,h1, x2,y2, w2,h2, opcode Object : 显示图片的

3、容器 Picture是将要绘制到Object的图形源 x1,y1,w1,h1 指定绘制的目标坐标、宽度及高度 x2,y2, w2,h2指定剪贴区内(源)的坐标、宽度及高度 Opcode 定义绘制到目标时对图片做的位操作,示例1,示例2,2019/2/12,5,5.1.3 图像平铺效果,用一幅小图去覆盖一个窗口或者窗口的一部分,这些图以原来的尺寸作为背景排列在要覆盖的窗口上,这种技术叫平铺。 VB实现平铺需使用Windows API和一些图形技术,需使用两个API函数Bitblt和GetDC。 Public Declare Function BitBlt Lib “gdi32“ Alias “B

4、itBlt“ (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long BitBlt函数是API函数中进行图像处理最常用的函数,可以方便地显示各种图像文件,也可以实现特殊显示效果。,示例,2019/2/12,6,5.1.4 雨滴效果,利用BitBlt、CreateCom

5、patileDC、SelectObject和DeleteDC等函数实现显示图片的雨滴效果。,示例,2019/2/12,7,二 图像文件格式转换,计算机技术的发展,BMP、GIF和JPEG等图像格式已成为主流。,5.2.1 几种图像文件格式介绍,不同图像格式有着不同的数据存储方法,因而产生不同的文件大小。,2019/2/12,8,BMP文件格式,一种与硬件设备无关的图像文件格式,使用非常广泛 采用位映射存储格式,除了图像深度可选外不采用其它任何压缩,占用空间很大 文件深度可为1bit、4bit、8bit及24bit 扫描方式为从左到右、从下到上的顺序 在Windows环境中运行的图形图像软件均支

6、持 文件由三部分构成: 位图文件头数据结构:类型、宽、高、压缩方法等 位图信息数据结构:位图实际显示内容 调色板: 颜色定义: P202,2019/2/12,9,GIF文件格式,图像互换格式(Graphics Interchange Format),是一种基于LZW算法的连续色调的无损压缩格式。 压缩率一般在50%,目前几乎所有软件都支持 文件数据是经过压缩的,而且采用了可变长度压缩算法(支持1-8位,最多256种色彩) 在一个GIF文件中可以存多幅彩色图像,如果将存在一个文件中的多幅图像逐幅读出来并显示在屏幕上就可构成一种最简单的动画。 GIF解码较快,采用隔行存放GIF图像,在边解码边显示

7、时可分成四遍扫描,明显提高显示速度。,2019/2/12,10,JPEG 文件格式,图像联合专家组(Joint Photographic Experts Group),制定的一种很常用的图像文件格式。 一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。 压缩比率与图像品质之间的平衡点 应用非常广泛,目前各类浏览器均支持,因为其有着文件长度小,下载速度快的特点。,2019/2/12,11,5.2.2彩色位图转换,从每个像素的颜色中提取其R、G、B分量的值,然后转换为对应的灰度分量。 红色分量: RedValue = rgbColor

8、And &HFF& 绿色分量: GreenValue = (rgbColor And &HFF00&) / 256 蓝色分量: BlueValue = (rgbColor& And &HFF0000) / 65536,2019/2/12,12,将rgb颜色转换为灰色,GrayValue = (9798 * RValue + 19235 * GValue + 3735 * BValue) / 32768 或 GrayValue = 0.299 * RValue + 0.587 * GValue + 0.114 * BValue rgbColor = RGB(Gray, Gray, Gray),示

9、例,2019/2/12,13,5.2.3 BMP位图格式转换,将BMP位图与ICON图标格式之间互相转换。,使用了较多的API函数: BitBlt CreateCompatibleBitmap CreateCompatibleDC SelectObject DeleteDC DeleteObject CreateIconIndirect OleCreatePictureIndirect GetIconInfo SetBKColor CreateBitmap,示例,2019/2/12,14,三 图像的复制与保存,图像的复制与保存是图像处理的重要内容,主要包括图像的区域复制以及如何保存绘图内容到B

10、MP文件。,5.3.1 图像的区域复制,用鼠标在一个BMP图形中选定某区域后复制到指定的图片框内。,示例,2019/2/12,15,3.1 图像的保存,拷备当前屏幕,将拷贝结果保存为一幅BMP位图。 BMP位图的保存需要设置相应的文件头信息和调色板信息,然后再将图片内容保存。 应用了较多的API函数。,示例,2019/2/12,16,四、图像的缩放与翻转,图像的缩放与翻转是图像处理技术的重要内容,针对不同的图形控件可以使用不同的方法实现缩小、放大和旋转功能。,4.1 翻转放大位图,可以用PictureBox控件的PaintPicture方法实现翻转与放大位图的功能。 翻转图形只需要改变坐标系

11、放大图形可通过改变目标图形的宽度和高度实现 旋转图形需要对原始图片按行和列的顺序扫描像素点,然后在目标图形区域颠倒行和列的顺序绘制像素点,逐点处理,花费一些时间。,示例,2019/2/12,17,4.2 Image控件的位图缩放,用Image控件的Strech方法实现做任意大小的图形缩放。,4.3 图像任意角度旋转,利用API函数和系统剪切板可实现图像的任意角度旋转,其中BitBlt可用于图像旋转前的复制,需SetPixel实现旋转后图像的像素颜色的设置。,示例,示例,2019/2/12,18,本章小结,主要介绍了利用API函数和VB的图形方法对图像进行浏览与控制。主要包括几种浏览各种图像文件

12、、图像文件格式转换、图像的复制与保存以及图像缩放与翻转。,2019/2/12,19,Chap 6 图像的艺术效果,图像的艺术效果主要包含图像的合成技术、图像的淡入/淡出以及锐化、浮雕等滤镜技术。,2019/2/12,20,6.1 图像合成,图像合成技术是将两幅或多幅图像按照一定的方式叠加在一起,要实现这样的合成效果,可以利用光栅(Raster)技术,又称光栅运算。 光栅运算实际上就是决定通过哪种方式让两个像素结合在一起,如可以让两个像素的值进行AND或OR等运算。 Windows总共提供了16个二元光栅操作。,2019/2/12,21,二元光栅操作(1-8),R2_BLACK 像素总是黑色 R

13、2_WHITE 像素总是白色 R2_NOP 像素保持不变 R2_NOT 像素是屏幕颜色的“反”(NOT操作) R2_COPYPEN 像素是画笔颜色 R2_NOTCOPYPEN 像素是画笔颜色的“反”(NOT操作) R2_MERGEPENNOT 屏幕颜色的“反”,与画笔颜色进行OR运算 R2_MASKPENNOT 屏幕颜色的“反”,与画笔颜色进行AND运算,2019/2/12,22,二元光栅操作(9-16),R2_MERGENOTPEN 画笔颜色的“反”,与屏幕颜色进行OR运算 R2_MASKNOTPEN 画笔颜色的“反”,与屏幕颜色进行AND运算 R2_MERGEPEN 画笔颜色与屏幕颜色进行

14、OR运算 R2_NOTMERGEPEN 画笔颜色与屏幕颜色进行OR运算后再取反 R2_MASKPEN 画笔颜色与屏幕颜色进行AND运算 R2_NOTMASKPEN 画笔颜色与屏幕颜色进行AND运算后再取反 R2_XORPEN 画笔颜色与屏幕颜色进行XOR运算 R2_NOTXORPEN 画笔颜色与屏幕颜色进行XOR运算后再取反,2019/2/12,23,图像合成的主要过程:,(1)准备两个位图,一个作为背景图,一个是将要成为透明图像的源位图,即前景图; (2)取得原位图的长、宽数据,依此数据保存一块与源位图同样大小的背景位图。源位图将在此背景位图上绘制。 通过白色像素显示位图的透明区域,黑色像素

15、显示位图的不透明区域,创建位图透明的单色掩码; (3)用单色掩码像素与背景图进行“与”(AND)运算,不透明的区域背景色显示为黑色。,2019/2/12,24,图像合成的主要过程(续):,(4)用单色掩码建立一个反色位图,以此反色位图与源位图进行进行“与”(AND)运算,源位图透明区域显示为黑色; (5)用第(3)步得到的背景图与第(4)步得到的源位图进行“异或”(XOR)运算,使得可以透过透明位图看到背景图; (6)将所得到的结果位图复制到背景图。,示例,2019/2/12,25,6.2 图像淡入/淡出,淡入:画面由背景色逐渐变化为图像中各像素原始的像素值; 淡出:画面图像的像素颜色逐渐变化

16、为背景色;,示例,2019/2/12,26,6.3 图像滤镜效果,使用滤镜相当于在图像上放一个过滤镜头,使原来的图像发生变化,从而产生特殊的显示效果。 滤镜效果包括:柔化,锐化,浮雕,扩散,扭曲,马赛克等。,示例,2019/2/12,27,Chap 7 文本处理技巧,7.1 滚动文字,示例,2019/2/12,28,Chap 7 文本处理技巧,7.2 旋转文字,示例,1. 竖排文字,示例,2. 旋转彩色文字,2019/2/12,29,7.3 艺术字效果,示例,1. 颜色渐变文本,示例,2. 闪烁文字,2019/2/12,30,7.4 文字动画效果,示例,1. 伸缩文字,示例,2. 消失字幕,2019/2/12,31,THE END of This Part,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1