以下代码版断是小北写的一个图片上传加水印的代码,但在图片加水印上传后图片就变大了,将近一倍。请高手将代码补充一下,尽量使加水印后的图片与原图一样大,并且图片质量也要有太大下降。using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Design;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;namespace UserControlLibrary
{
/// <summary>
/// WebForm2 的摘要说明。
/// </summary>
public class WebForm2 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1; protected System.Web.UI.HtmlControls.HtmlInputFile FileUpload; private System.Drawing.Image Img ; private Graphics Gimage ; private Bitmap Bimage ;
private void Page_Load(object sender, System.EventArgs e)
{
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void Button1_Click(object sender, System.EventArgs e)
{
Stream InputStreamImage = FileUpload.PostedFile.InputStream ; string FileName = FileUpload.PostedFile.FileName ; string FileExtentName = FileName.Substring( FileName.LastIndexOf( "." ) + 1 ) ; byte[] ImgBinaryData = new byte[ FileUpload.PostedFile.ContentLength] ; InputStreamImage.Read( ImgBinaryData , 0 , FileUpload.PostedFile.ContentLength ) ;
Img = System.Drawing.Image.FromStream( InputStreamImage ) ; Bimage = new Bitmap( Img ,Img.Width , Img.Height ) ; Font FontName = new Font( "Verdana" , 20 ) ; Brush BrushStyle = new SolidBrush( Color.Black ); Rectangle RectangleP = new Rectangle( 0 , 0 ,50 , 50 ) ;
Gimage = Graphics.FromImage( Bimage ) ; Gimage.DrawString( "我的图片" , FontName , BrushStyle , RectangleP ) ; Gimage.Save() ;
Bimage.SetResolution( Img.HorizontalResolution , Img.VerticalResolution ) ; Bimage.Save( Server.MapPath( "images/dd." + FileExtentName ) ) ; }
}
}
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Design;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;namespace UserControlLibrary
{
/// <summary>
/// WebForm2 的摘要说明。
/// </summary>
public class WebForm2 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1; protected System.Web.UI.HtmlControls.HtmlInputFile FileUpload; private System.Drawing.Image Img ; private Graphics Gimage ; private Bitmap Bimage ;
private void Page_Load(object sender, System.EventArgs e)
{
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void Button1_Click(object sender, System.EventArgs e)
{
Stream InputStreamImage = FileUpload.PostedFile.InputStream ; string FileName = FileUpload.PostedFile.FileName ; string FileExtentName = FileName.Substring( FileName.LastIndexOf( "." ) + 1 ) ; byte[] ImgBinaryData = new byte[ FileUpload.PostedFile.ContentLength] ; InputStreamImage.Read( ImgBinaryData , 0 , FileUpload.PostedFile.ContentLength ) ;
Img = System.Drawing.Image.FromStream( InputStreamImage ) ; Bimage = new Bitmap( Img ,Img.Width , Img.Height ) ; Font FontName = new Font( "Verdana" , 20 ) ; Brush BrushStyle = new SolidBrush( Color.Black ); Rectangle RectangleP = new Rectangle( 0 , 0 ,50 , 50 ) ;
Gimage = Graphics.FromImage( Bimage ) ; Gimage.DrawString( "我的图片" , FontName , BrushStyle , RectangleP ) ; Gimage.Save() ;
Bimage.SetResolution( Img.HorizontalResolution , Img.VerticalResolution ) ; Bimage.Save( Server.MapPath( "images/dd." + FileExtentName ) ) ; }
}
}
解决方案 »
- cookie为什么清除不掉???
- 关于网页弹出提示对话框的问题
- 脚本???
- MVC3 局部刷新
- 问什么另存为的文件比原来文件大而打不开文件,文件为pdf格式
- 點一個Button,如何使改業面一個Iframe的地址轉成自己想要的網址
- mamcached缓存SqL数据
- c # 参数查询问题(oledb.net data provider) 大家看看我错在哪里了
- 请问海波.net,水晶报表问题
- 求援:自定以类数组可不可以是动态的?谢谢!!!
- DataGrid 在 EditItemTemplate时 DropDownList 如何让默认选项=Label1的值(在线等)
- vs2005多人一起开发一个项目怎么搞?
Font FontName = new Font( "Verdana" , 20 ) ; Brush BrushStyle = new SolidBrush( Color.Black ); Rectangle RectangleP = new Rectangle( 0 , 0 ,100 , 100 ) ;
Gimage = Graphics.FromImage( Bimage ) ; Gimage.DrawString( "我的图片" , FontName , BrushStyle , RectangleP ) ;
//Gimage.Save() ;
//Bimage.SetResolution( Img.HorizontalResolution , Img.VerticalResolution ) ; Bimage.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);