设为首页
加入收藏
联系我们
首页 基础教程 技术文档 实例分析 数 据 库 疑难杂症 ASP.NET 七夕许愿树 技术论坛
最新文章
  .NET上传图片加文字…
 在vs.net bate…
 C#中利用正则表达式实现…
 Visual C#的SQ…
 关于使用存储过程创建分页
 通用分页显示查询存储过程
 大数据量的分页
 什么是web.confi…
 ASP.NET 配置文件…
 对“三层结构”的深入理解…
 多个关键字的查询问题
 VB和C# 语法对比图 …
 C#基础全接触
 用C#压缩和修复Acce…
 C#中的类型相等与恒等(…
推荐文章
 关于C#中的REF和黓认…
 读书笔记c#高级编程 委…
 【算法】C#快速排序类
 Visual C#的SQ…
 C#中调用API
 Infragistics…
 C#接口转换
 C#读取设备信息
 用.net操作word
 C# MessageBo…
 Visual C#中的数…
 雅虎公司C#笔试题,看看…
 C#.NET使用NHib…
 .net学习之运算符重载…
 Visual C# 3.…
热门文章
 ADO.Net与ADO在…
 开发ASP.NET下的M…
 用C#+XMI技术进行U…
 什么是虚拟机?
 C#基础全接触
 C#中利用正则表达式实现…
 雅虎公司C#笔试题,看看…
 用Visual C# 2…
 C#学习第一天
 C#语言初级入门(1)
 VB和C# 语法对比图 …
 远程重启计算机(C#)
 什么是B/S三层?
 Visual C#的SQ…
 Visual C#常用函…
.net 里可以轻松对图片文件进行质量压缩(VB)
阅读正文 文字大小:增大 减小  文字行距:增大 减小   双击自动滚屏
本文由中国C#技术学习中心整理  如果你对本文有不明之处请到技术论坛讨论!

'***********************************************************
'即时预览保存图片质量
'wgscd ( c ) 2005 QQ 153964481,Email: wgscd@126.com
Dim PulicImageCodecInfo As ImageCodecInfo '定义全局变量提高效率
Dim myImageCodecInfo As System.Drawing.Imaging.ImageCodecInfo
Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality
Dim myEncoderParameter As System.Drawing.Imaging.EncoderParameter
Dim myEncoderParameters As System.Drawing.Imaging.EncoderParameters
Private Sub Form1_Load( ByVal sender As System.Object, ByVal e As System.EventArgs ) Handles MyBase.Load
Me.Text = "保存文件"
Me.Label2.Text = "即时预览保存图片质量
wgscd  ( c ) 02005
            利用ImageCodecInfo,System.Drawing.Imaging.Encoder"
Me.HScrollBar1.Cursor = Cursors.Hand
PulicImageCodecInfo = GetEncoderInfo( "image/jpeg" ) '获取ImageCodecInfo
Me.PictureBox2.Image.Save( "c:wgscd.jpg" )
Me.PictureBox3.Image = Image.FromFile( "c:wgscd.jpg" )
Dim fi As New FileInfo( "c:wgscd.jpg" )
fi = New FileInfo( "c:wgscd.jpg" )
Label1.Text = HScrollBar1.Value & "大小:" & ( fi.Length / 1024 ).ToString( "0.00" ) & "KB"
Me.PictureBox3.Refresh( ) '必须释放
Me.PictureBox3.Image.Dispose( )
Me.PictureBox3.Image = Me.PictureBox2.Image
End Sub
Private Sub HScrollBar1_Scroll( ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs ) Handles HScrollBar1.Scroll
' Dim MyMemoryStream As IO.MemoryStream = New IO.MemoryStream
myImageCodecInfo = PulicImageCodecInfo '用全局保存的ImageCodecInfo来设置
myEncoderParameters = New System.Drawing.Imaging.EncoderParameters( 1 )
' myEncoderParameter = New System.Drawing.Imaging.EncoderParameter( myEncoder, EncoderValue.TransformRotate90 )
myEncoderParameter = New System.Drawing.Imaging.EncoderParameter( myEncoder, CLng( Me.HScrollBar1.Value ) )
myEncoderParameters.Param( 0 ) = myEncoderParameter
' Me.PictureBox2.Save( MyMemoryStream, myImageCodecInfo, myEncoderParameters )‘ 写如内存流
Try
Me.PictureBox2.Image.Save( "c:wgscd.jpg", myImageCodecInfo, myEncoderParameters )
Me.PictureBox3.Image = Image.FromFile( "c:wgscd.jpg" )
Dim fi As New FileInfo( "c:wgscd.jpg" )
fi = New FileInfo( "c:wgscd.jpg" )
Label1.Text = " 保存质量: " & HScrollBar1.Value & " % 大小:" & ( fi.Length / 1024 ).ToString( "0.00" ) & "KB"
Me.PictureBox3.Refresh( ) '必须释放
Me.PictureBox3.Image.Dispose( )
'  myEncoderParameters.Dispose( )
' MyMemoryStream.Flush( )
Catch ex As Exception
'如果有必要处理错误,可加代码
' MsgBox( ex.ToString )
End Try
End Sub '
Private Sub Button2_Click( ByVal sender As System.Object, ByVal e As System.EventArgs ) Handles Button2.Click
Me.Close( )
End Sub
'可以获得系统的ImageEncoders
Sub GetImageEncoders( )
Dim i As Integer
Dim encoders As System.Drawing.Imaging.ImageCodecInfo( ) = Imaging.ImageCodecInfo.GetImageEncoders
For i = 0 To ( encoders.Length - 1 )
MsgBox( encoders( i ).MimeType )
Next i
End Sub
Private Function GetEncoderInfo( ByVal MYmimeType As String ) As ImageCodecInfo
Dim i As Integer
Dim encoders As System.Drawing.Imaging.ImageCodecInfo( ) = Imaging.ImageCodecInfo.GetImageEncoders( )
For i = 0 To ( encoders.Length - 1 )
If ( encoders( i ).MimeType = MYmimeType ) Then
'
MsgBox( encoders( i ).MimeType )
Return encoders( i )
End If
Next i
End Function

本文由中国C#技术学习中心整理  如果你对本文有不明之处请到技术论坛讨论!

中国C#技术交流QQ群:6337034  10976424  9383681  35248582  35248645
版权所有:中国C#技术学习中心 Copyright © 20010-20012
建议浏览分辨率使用:1024*768分辨率
粤ICP备05002251号