一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - asp.net(C#)壓縮圖片,可以指定圖片模板高寬

asp.net(C#)壓縮圖片,可以指定圖片模板高寬

2019-07-26 11:07ASP.NET之家 ASP.NET教程

今天要在web程序處理圖片,指定圖片的高寬大小。google了一把資料。覺得此方法挺不錯的,大家可以借鑒一下,如果小弟寫的有不對的地方請大家指點一下:以下代碼在winform寫的,在web下測試可以使用。

代碼如下:


//生成縮略圖函數 
//順序參數:源圖文件流、縮略圖存放地址、模版寬、模版高 
//注:縮略圖大小控制在模版區域內 
public static void MakeSmallImg(System.IO.Stream fromFileStream, string fileSaveUrl, System.Double templateWidth, System.Double templateHeight) 

//從文件取得圖片對象,并使用流中嵌入的顏色管理信息 
System.Drawing.Image myImage = System.Drawing.Image.FromStream(fromFileStream, true); 
//縮略圖寬、高 
System.Double newWidth = myImage.Width, newHeight = myImage.Height; 
//寬大于模版的橫圖 
if (myImage.Width > myImage.Height || myImage.Width == myImage.Height) 

if (myImage.Width > templateWidth) 

//寬按模版,高按比例縮放 
newWidth = templateWidth; 
newHeight = myImage.Height * (newWidth / myImage.Width); 


//高大于模版的豎圖 
else 

if (myImage.Height > templateHeight) 

//高按模版,寬按比例縮放 
newHeight = templateHeight; 
newWidth = myImage.Width * (newHeight / myImage.Height); 


//取得圖片大小 
System.Drawing.Size mySize = new Size((int)newWidth, (int)newHeight); 
//新建一個bmp圖片 
System.Drawing.Image bitmap = new System.Drawing.Bitmap(mySize.Width, mySize.Height); 
//新建一個畫板 
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap); 
//設置高質量插值法 
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; 
//設置高質量,低速度呈現平滑程度 
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; 
//清空一下畫布 
g.Clear(Color.White); 
//在指定位置畫圖 
g.DrawImage(myImage, new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height), 
new System.Drawing.Rectangle(0, 0, myImage.Width, myImage.Height), 
System.Drawing.GraphicsUnit.Pixel); 
///文字水印 
//System.Drawing.Graphics G=System.Drawing.Graphics.FromImage(bitmap); 
//System.Drawing.Font f=new Font("宋體",10); 
//System.Drawing.Brush b=new SolidBrush(Color.Black); 
//G.DrawString("myohmine",f,b,10,10); 
//G.Dispose(); 
///圖片水印 
//System.Drawing.Image copyImage = System.Drawing.Image.FromFile(System.Web.HttpContext.Current.Server.MapPath("pic/1.gif")); 
//Graphics a = Graphics.FromImage(bitmap); 
//a.DrawImage(copyImage, new Rectangle(bitmap.Width-copyImage.Width,bitmap.Height-copyImage.Height,copyImage.Width, copyImage.Height),0,0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel); 
//copyImage.Dispose(); 
//a.Dispose(); 
//copyImage.Dispose(); 
//保存縮略圖 
bitmap.Save(fileSaveUrl, System.Drawing.Imaging.ImageFormat.Jpeg); 
g.Dispose(); 
myImage.Dispose(); 
bitmap.Dispose(); 
}

 

復制代碼代碼如下:


private void button2_Click(object sender, EventArgs e) 

OpenFileDialog fileDialog = new OpenFileDialog(); 
fileDialog.Title = "選擇圖片文件"; 
// fileDialog.Filter = "excel files (*.xls)|*.xls"; 
fileDialog.FilterIndex = 1; 
if (fileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 


System.IO.FileStream file =System.IO.File.Open(fileDialog.FileName,System.IO.FileMode.Open); 
System.IO.Stream strea = file; 
file.Close(); 
MakeSmallImg(strea, "縮略圖.jpg", 150, 150); 
// file.Close(); 


}

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本wwxx| 水多多www视频在线观看高清 | 亚洲人成网站在线观看播放青青 | 91寡妇天天综合久久影院 | 5555国产在线观看精品 | xvideoscom极品肌肉警察 | 午夜AV亚洲一码二中文字幕青青 | 亚洲天堂精品视频 | 欧美伊香蕉久久综合类网站 | xxx黑人又大粗又长 xxxx性欧美极品另类 | 色悠久久久| 精品一区二区免费视频蜜桃网 | 午夜亚洲精品久久久久久 | 无人影院免费观看 | 美女禁区视频无遮挡免费看 | 国产三级自拍视频 | 99人中文字幕亚洲区 | 久久se精品一区二区国产 | 欧美精选视频 | 国产精品久久久久毛片真精品 | 国内久久精品视频 | 亚洲欧美激情日韩在线 | 白丝超短裙被输出娇喘不停小说 | 青草视频免费观看在线观看 | 久久婷婷五月免费综合色啪 | 久久久黄色片 | 亚洲AV久久无码精品九九软件 | 亚洲欧美日韩另类在线一 | 爆操萝莉| 99任你躁精品视频 | 亚洲 日韩 自拍 视频一区 | 国产精品色爱综合网 | 国产精品福利短视在线播放频 | 国产精品理论片 | 人体欣赏孕妇季玥图片 | 男人午夜剧场 | 激情五月开心 | 亚洲冬月枫中文字幕在线看 | 99精品国产美女福到在线不卡 | 星星动漫无删减在线观看 | 欧美视频久久 |