ASP.Net图像特效处理

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

一般的图形处理包括图形的放大,图形的缩小,图形的旋转和拉伸效果等。这一节中,通过实例我们来学习利用GDI+来处理这些操作。

新建一个Web窗体,命名为GDI_Sample5.aspx, GDI_Sample5.aspx.vb中的逻辑代码如下:

'------code begin-----

'--省略命名空间引用

Public Class GDI_Sample5

Inherits System.Web.UI.Page

#Region " Web 窗体设计器生成的代码 "

'此处省略窗体设计器生成的代码

#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'在此处放置初始化页的用户代码

Dim i As Int16

Dim b As Bitmap

b = New Bitmap(300, 1000)

'声明Graphics对象

Dim g As Graphics

'指定画布

g = Graphics.FromImage(b)

'设置背景色为黑色

g.Clear(Color.Black)

Dim img As Drawing.Image

img = Drawing.Image.FromFile(Server.MapPath(".") & "/test.jpg")

'原图

g.DrawString("-=原图=-", New Font("宋体", 12, FontStyle.Bold), Brushes.White, New PointF(80, 2))

g.DrawImage(img, 50, 20, img.Width, img.Height)

'放大

g.DrawLine(New Pen(Color.White, 1), 10, 165, 280, 165)

g.DrawString("-=放大2倍图=-", New Font("宋体", 12, FontStyle.Bold), Brushes.White, New PointF(80, 168))

g.DrawImage(img, 20, 190, CInt(img.Width * 1.4), CInt(img.Height * 1.4))

'缩小

g.DrawLine(New Pen(Color.White, 1), 10, 410, 280, 410)

g.DrawString("-=缩小1/2倍图=-", New Font("宋体", 12, FontStyle.Bold), Brushes.White, New PointF(80, 415))

g.DrawImage(img, 80, 435, CInt(img.Width / 1.4), CInt(img.Height / 1.4))

'拉伸

g.DrawLine(New Pen(Color.White, 1), 10, 775, 280, 775)

g.DrawString("-=拉伸效果=-", New Font("宋体", 12, FontStyle.Bold), Brushes.White, New PointF(80, 780))

g.DrawImage(img, 10, 795, img.Width + 100, img.Height - 50)

'旋转

g.DrawLine(New Pen(Color.White, 1), 10, 560, 280, 560)

g.DrawString("-=旋转90度=-", New Font("宋体", 12, FontStyle.Bold), Brushes.White, New PointF(80, 565))

img.RotateFlip(RotateFlipType.Rotate90FlipNone)

g.DrawImage(img, 80, 590, img.Width, img.Height)

'导出到客户浏览器中,由于asp.net绘制的图片使用了安全色,所以在浏览器查看时候会造成失色

b.Save(Response.OutputStream, Drawing.Imaging.ImageFormat.Gif)

'另保存为该Web应用程序的物理路径目录下的test1.jpg文件

b.Save(Server.MapPath(".") & "/test1.jpg")

End Sub

End Class

'-----code end --------

保存编译后,结果下图11.5所示。

图11.5 GDI_Sample5.aspx运行结果

由于输出到客户端浏览器中的图像是采用安全色显示,所以在通过浏览器浏览时图像会失色,但是在硬盘中保存的图像是原色,不会有失色现象的。

11.6 本章小结

本章简要的介绍了利用GDI+技术绘制图形的方法。GDI+是全新的图形桌面引擎,是一个应用编程接口,GDI+是对GDI的高层次的一种封装类.Graphics对象是绘图操作中唯一保留的对象.用.NET生成图形的功能封装在System.Drawing名称空间中,它支持多种图形文件格式,包括:JPEG、GIF、PNG、TIFF、BMP、PhotoCD、FlashPIX、WMF、EMF和EXIF。利用BitMap对象和Graphics对象就可以轻松的实现一些简单的图形处理需求。当然,GDI+技术的绘制图形功能绝非一个章节能详细列尽,本章只是简要的介绍,不是本书重点,有兴趣的读者可以参阅有关专门书籍。下一章我们将学习ASP.NET的安全控制知识。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航