C#图片的缩放代码

问题描述

最近在忙大作业,,要求做一个图片浏览器,可是在图片的缩放不懂

解决方案

解决方案二:
http://www.baidu.com/s?bs=c%23+%CD%BC%C6%AC%B4%A6%C0%ED&f=8&rsv_bp=1&rsv_spt=3&wd=c%23+%CD%BC%C6%AC%CB%F5%B7%C5&inputT=2135
解决方案三:
#region正方型裁剪并缩放///<summary>///正方型裁剪///以图片中心为轴心,截取正方型,然后等比缩放///用于头像处理///</summary>///<remarks>吴剑2010-11-23</remarks>///<paramname="postedFile">原图HttpPostedFile对象</param>///<paramname="fileSaveUrl">缩略图存放地址</param>///<paramname="side">指定的边长(正方型)</param>///<paramname="quality">质量(范围0-100)</param>publicstaticvoidCutForSquare(System.Web.HttpPostedFilepostedFile,stringfileSaveUrl,intside,intquality){//创建目录stringdir=Path.GetDirectoryName(fileSaveUrl);if(!Directory.Exists(dir))Directory.CreateDirectory(dir);//原始图片(获取原始图片创建对象,并使用流中嵌入的颜色管理信息)System.Drawing.ImageinitImage=System.Drawing.Image.FromStream(postedFile.InputStream,true);//原图宽高均小于模版,不作处理,直接保存if(initImage.Width<=side&&initImage.Height<=side){initImage.Save(fileSaveUrl,System.Drawing.Imaging.ImageFormat.Jpeg);}else{//原始图片的宽、高intinitWidth=initImage.Width;intinitHeight=initImage.Height;//非正方型先裁剪为正方型if(initWidth!=initHeight){//截图对象System.Drawing.ImagepickedImage=null;System.Drawing.GraphicspickedG=null;//宽大于高的横图if(initWidth>initHeight){//对象实例化pickedImage=newSystem.Drawing.Bitmap(initHeight,initHeight);pickedG=System.Drawing.Graphics.FromImage(pickedImage);//设置质量pickedG.InterpolationMode=System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;pickedG.SmoothingMode=System.Drawing.Drawing2D.SmoothingMode.HighQuality;//定位RectanglefromR=newRectangle((initWidth-initHeight)/2,0,initHeight,initHeight);RectangletoR=newRectangle(0,0,initHeight,initHeight);//画图pickedG.DrawImage(initImage,toR,fromR,System.Drawing.GraphicsUnit.Pixel);//重置宽initWidth=initHeight;}//高大于宽的竖图else{//对象实例化pickedImage=newSystem.Drawing.Bitmap(initWidth,initWidth);pickedG=System.Drawing.Graphics.FromImage(pickedImage);//设置质量pickedG.InterpolationMode=System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;pickedG.SmoothingMode=System.Drawing.Drawing2D.SmoothingMode.HighQuality;//定位RectanglefromR=newRectangle(0,(initHeight-initWidth)/2,initWidth,initWidth);RectangletoR=newRectangle(0,0,initWidth,initWidth);//画图pickedG.DrawImage(initImage,toR,fromR,System.Drawing.GraphicsUnit.Pixel);//重置高initHeight=initWidth;}//将截图对象赋给原图initImage=(System.Drawing.Image)pickedImage.Clone();//释放截图资源pickedG.Dispose();pickedImage.Dispose();}//缩略图对象System.Drawing.ImageresultImage=newSystem.Drawing.Bitmap(side,side);System.Drawing.GraphicsresultG=System.Drawing.Graphics.FromImage(resultImage);//设置质量resultG.InterpolationMode=System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;resultG.SmoothingMode=System.Drawing.Drawing2D.SmoothingMode.HighQuality;//用指定背景色清空画布resultG.Clear(Color.White);//绘制缩略图resultG.DrawImage(initImage,newSystem.Drawing.Rectangle(0,0,side,side),newSystem.Drawing.Rectangle(0,0,initWidth,initHeight),System.Drawing.GraphicsUnit.Pixel);//关键质量控制//获取系统编码类型数组,包含了jpeg,bmp,png,gif,tiffImageCodecInfo[]icis=ImageCodecInfo.GetImageEncoders();ImageCodecInfoici=null;foreach(ImageCodecInfoiinicis){if(i.MimeType=="image/jpeg"||i.MimeType=="image/bmp"||i.MimeType=="image/png"||i.MimeType=="image/gif"){ici=i;}}EncoderParametersep=newEncoderParameters(1);ep.Param[0]=newEncoderParameter(System.Drawing.Imaging.Encoder.Quality,(long)quality);//保存缩略图resultImage.Save(fileSaveUrl,ici,ep);//释放关键质量控制所用资源ep.Dispose();//释放缩略图资源resultG.Dispose();resultImage.Dispose();//释放原始图片资源initImage.Dispose();}}

解决方案四:
谢谢啦,虽然不知道用不用上
解决方案五:
收藏一下,以后会有用处,谢谢楼主发贴!

时间: 2024-09-30 04:53:37

C#图片的缩放代码的相关文章

简单php 图片比例缩放代码

我利用了getimagesize来获取原图片的大小然后再x0.5就是把图片/5哦. array getimagesize ( string $filename [, array &$imageinfo ] ) getimagesize() 函数将测定任何 gif,jpg,png,swf,swc,ps教程d,tiff,bmp,iff,jp2,jpx,jb2,jpc,xbm 或 wbmp 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通 html 文件中 <img> 标记中的

css 背景图片自动缩放实例

默认情况下,背景属性是平铺的,如果背景图片较大,而box小,那么就只能显示左上角那块背景.如果要让背景全部显示出来,  代码如下 复制代码 .color_checked {  float: right;  width: 16px;  height: 16px;  background: url(../images/color_check.png) center 0 no-repeat;  -webkit-background-size: cover;  -moz-background-size:

代码-点击一张图片 该图片可加载到canvas里并实现鼠标移上去可控制该图片旋转 缩放 移动

问题描述 点击一张图片 该图片可加载到canvas里并实现鼠标移上去可控制该图片旋转 缩放 移动 求代码... 类似 解决方案 http://zhidao.baidu.com/link?url=1lDL3pYGpqNztyY7xA8jXwoLUvGgSw5Pmwaa9bDv9DF2w8wUvKlo5jIJsgx9nXmTXdwT2MTAdiR14TsXW51RrmUH6yUkzsIXfjWF0VBBXfe 解决方案二: 实现当点击一张图片的时候,图片会放大,再点击图片的背景的时候,图片会缩放回去

php实现图片等比例缩放代码_php技巧

新建文件index.php,需要在统计目录下有个图片为q.jpg(可根据源码进行更改图片的名称) 源代码如下: <?php $filename="q.jpg"; $per=0.3; list($width, $height)=getimagesize($filename); $n_w=$width*$per; $n_h=$height*$per; $new=imagecreatetruecolor($n_w, $n_h); $img=imagecreatefromjpeg($fi

兼容ie、firefox的图片自动缩放的css跟js代码分享_javascript技巧

这个功能主要是解决内容页中的图片过大撑出,导致页面比较难看,就需要这样的代码,需要的朋友可以参考下 需求:图片width<=600px,height<=800. 1.利用max-width,max-height使图片等比例自动缩放代码: 复制代码 代码如下: img{max-width: 600px;max-height: 800px;} 由于ie6不支持css max-width,max-height,所以在ie6中需要利用javascript脚本来控制大小. 2.用javascript脚本

CSS图片等比例缩放代码

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.111cn.net/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="conte

js实现兼容IE、Firefox的图片缩放代码_javascript技巧

本文实例讲述了js实现兼容IE.Firefox的图片缩放代码.分享给大家供大家参考,具体如下: function SetSize(obj, width, height) { myImage = new Image(); myImage.src = obj.src; if (myImage.width > 0 && myImage.height > 0) { var rate = 1; if (myImage.width > width || myImage.height

js图片按指定比例缩放代码

js图片按指定比例缩放代码是非常实用的,我们主要是在网页面显示时会看到,如是一张图片大太了,所以得按比例进行处理了,下面的代码就是这个功能. <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <TITLE>onMouseWheel</TITLE> <SCRIPT> var coun

js图片按比例缩放代码

js图片按比例缩放代码 <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>jjs图片按比例缩放代码</title> <script language="javascript教程">  //图片按比例缩放 var flag = false; function DrawIm