資源簡介
圖片旋轉,放大,縮小,拖動,合并,截圖等,此版本中圖片取自數據

代碼片段和文件信息
using?System;
using?System.Drawing;
using?System.Drawing.Imaging;
using?System.IO;
namespace?ItcastCater
{
????///?
????///?圖片處理
????///?
????public?class?CImageLibrary
????{
????????///?
????????///?檢查圖片返回的結果
????????///?
????????public?enum?ValidateImageResult?{?OK?InvalidFileSize?InvalidImageSize?}
????????///?
????????///?檢查圖片文件大小
????????///?
????????///?圖片文件
????????///?最大文件大小
????????///?最大寬度
????????///?最大高度
????????///?返回檢查結果
????????public?static?ValidateImageResult?ValidateImage(string?file?int?MAX_FILE_SIZE?int?MAX_WIDTH?int?MAX_HEIGHT)
????????{
????????????byte[]?bs?=?File.ReadAllBytes(file);
????????????double?size?=?(bs.Length?/?1024);
????????????//大于50KB
????????????if?(size?>?MAX_FILE_SIZE)?return?ValidateImageResult.InvalidFileSize;
????????????Image?img?=?null;
????????????try
????????????{
????????????????img?=?Image.FromFile(file);
????????????????if?(img.Width?>?MAX_WIDTH?||?img.Height?>?MAX_HEIGHT)
????????????????????return?ValidateImageResult.InvalidImageSize;
????????????????else
????????????????????return?ValidateImageResult.OK;
????????????}
????????????finally
????????????{
????????????????img.Dispose();
????????????}
????????}
????????///?
????????///?按寬度比例縮小圖片
????????///?
????????///?原始圖片
????????///?最大寬度
????????///?
????????public?static?Image?ResizeImage(Image?imgSource?int?MAX_WIDTH?int?MAX_HEIGHT)
????????{
????????????Image?imgOutput?=?imgSource;
????????????Size?size?=?new?Size(0?0);?//用于存儲按比例計算后的寬和高參數
????????????if?(imgSource.Width?<=?3?||?imgSource.Height?<=?3)?return?imgSource;?//3X3大小的圖片不轉換
????????????//按寬度縮放圖片
????????????if?(imgSource.Width?>?MAX_WIDTH)?//計算寬度
????????????{
????????????????double?rate?=?MAX_WIDTH?/?(double)imgSource.Width;?//計算寬度比例因子
????????????????size.Width?=?Convert.ToInt32(imgSource.Width?*?rate);
????????????????size.Height?=?Convert.ToInt32(imgSource.Height?*?rate);
????????????????imgOutput?=?imgSource.GetThumbnailImage(size.Width?size.Height?null?IntPtr.Zero);
????????????}
????????????//按高度縮放圖片
????????????if?(imgOutput.Height?>?MAX_HEIGHT)//計算高度
????????????{
????????????????double?rate?=?MAX_HEIGHT?/?(double)imgOutput.Height;?//計算寬度比例因子
????????????????size.Width?=?Convert.ToInt32(imgOutput.Width?*?rate);
????????????????size.Height?=?Convert.ToInt32(imgOutput.Height?*?rate);
????????????????imgOutput?=?imgSource.GetThumbnailImage(size.Width?size.Height?null?IntPtr.Zero);
????????????}
????????????return?imgOutput;
????????}
????????///?
????????///?圖片轉換為數組
????????///?
????????///?圖片文件
????????///?<
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2569??2016-03-25?16:34??ImgNew\Img.sln
????..A..H.?????82944??2016-03-30?16:12??ImgNew\Img.suo
?????文件?????157175??2016-03-02?09:27??ImgNew\pl\bin\Debug\FA20163292733.png
?????文件??????83456??2016-03-28?17:21??ImgNew\pl\bin\Debug\ImageManage.exe
?????文件??????91648??2016-03-28?17:21??ImgNew\pl\bin\Debug\ImageManage.pdb
?????文件??????11600??2016-03-30?16:12??ImgNew\pl\bin\Debug\ImageManage.vshost.exe
?????文件????????490??2014-01-13?21:31??ImgNew\pl\bin\Debug\ImageManage.vshost.exe.manifest
?????文件??????87552??2016-02-26?16:43??ImgNew\pl\bin\Debug\pl.pdb
?????文件????????490??2014-01-13?21:31??ImgNew\pl\bin\Debug\pl.vshost.exe.manifest
?????文件???????7412??2016-02-24?09:02??ImgNew\pl\CImageLibrary.cs
?????文件???????3559??2016-03-01?17:27??ImgNew\pl\DevTreelist.cs
?????文件??????40842??2016-03-28?17:00??ImgNew\pl\FrmImage.cs
?????文件??????34014??2016-03-28?15:36??ImgNew\pl\FrmImage.Designer.cs
?????文件??????25330??2016-03-28?15:36??ImgNew\pl\FrmImage.resx
?????文件??????24147??2016-02-26?14:21??ImgNew\pl\ImageClass.cs
?????文件???????5596??2016-03-25?16:44??ImgNew\pl\ImageManege.csproj
?????文件???????9198??2016-03-02?09:01??ImgNew\pl\ImageWatermark.cs
?????文件??????78386??2016-03-28?08:40??ImgNew\pl\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件???????7178??2016-03-28?17:21??ImgNew\pl\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件??????83456??2016-03-28?17:21??ImgNew\pl\obj\x86\Debug\ImageManage.exe
?????文件????????578??2016-03-28?17:21??ImgNew\pl\obj\x86\Debug\imagemanage.exe.licenses
?????文件??????91648??2016-03-28?17:21??ImgNew\pl\obj\x86\Debug\ImageManage.pdb
?????文件???????1081??2016-03-30?16:12??ImgNew\pl\obj\x86\Debug\ImageManege.csproj.FileListAbsolute.txt
?????文件????????978??2016-03-28?15:37??ImgNew\pl\obj\x86\Debug\ImageManege.csproj.GenerateResource.Cache
?????文件??????93031??2016-03-28?14:01??ImgNew\pl\obj\x86\Debug\ImageManege.csprojResolveAssemblyReference.cache
?????文件???????3445??2016-02-26?17:10??ImgNew\pl\obj\x86\Debug\pl.csproj.FileListAbsolute.txt
?????文件???????1036??2016-02-26?13:19??ImgNew\pl\obj\x86\Debug\pl.csproj.GenerateResource.Cache
?????文件??????75903??2016-02-26?16:41??ImgNew\pl\obj\x86\Debug\pl.csprojResolveAssemblyReference.cache
?????文件????????569??2016-02-26?16:43??ImgNew\pl\obj\x86\Debug\pl.exe.licenses
?????文件????????180??2016-03-28?14:01??ImgNew\pl\obj\x86\Debug\pl.Properties.Resources.resources
............此處省略105個文件信息
- 上一篇:C#課設--圖書管理系統
- 下一篇:FiddlerCore抓包
評論
共有 條評論