如何实现将图片进行裁减

问题描述

个位大侠:我想在用户上传图片时将图片进行适当地裁减,比如原图片为800*600现在我要将它裁成200*150应当怎样实现呀?

解决方案

解决方案二:
参考:http://blog.csdn.net/ITFLY8/archive/2007/03/25/1540490.aspx
解决方案三:
该回复于2007-12-04 11:18:57被版主删除
解决方案四:
mark学习了,LZ如果找到了好方法请告诉我。
解决方案五:
http://www.cnblogs.com/adandelion/archive/2007/09/19/232858.html
解决方案六:
给个等比例缩放图片代码你参考参考Pagebasepbase=newPagebase();if(!pbase.ChkBadWord(context.Request.QueryString.ToString())&&context.Request["pic"]!=null&&context.Request["pic"].IndexOf(".")>0){stringpic=context.Request["pic"];intW=135;intH=110;intnewh=H;intneww=W;Bitmapbit=newBitmap(System.Configuration.ConfigurationManager.AppSettings["UpLoadFile"]+pic.Replace("/upload/","").Replace("/images/",""));MemoryStreamms=newMemoryStream();if(context.Request["W"]==null||context.Request["H"]==null||context.Request["W"]==""||context.Request["H"]==""){}else{try{W=int.Parse(context.Request["W"]);H=int.Parse(context.Request["H"]);}catch{context.Response.End();}if(pic==null||pic==""||W<=0||H<=0||pic.IndexOf(".")<1){context.Response.End();}//if(bit.Width<W&&bit.Height<H){newh=bit.Height;neww=bit.Width;}else{doublepwidth=(double)bit.Width/W;doublepheight=(double)bit.Height/H;if(pwidth>pheight){neww=W;newh=Convert.ToInt32(bit.Height/pwidth);}else{newh=H;neww=Convert.ToInt32(bit.Width/pheight);}}}//生成小图Bitmapnewbit=newBitmap(bit,neww,newh);newbit.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);context.Response.ContentType="image/jpeg";context.Response.StatusCode=200;context.Response.BinaryWrite(ms.ToArray());//context.Response.BinaryWrite(}else{context.Response.End();}

解决方案七:
BitmapBigBmp=newBitmap(800,600);BitmapSamllBmp=newBitmap(200,150);Graphicsg=Graphics.FromImage(SamllBmp);g.DrawImage(BigBmp,newRectangle(0,0,200,150));g.Dispose();

解决方案八:
缩略图吧这样可能效果就差了
解决方案九:
.NET的GDI+中有一个缩略图的类。网上很容易搜到代码,非常简单
解决方案十:
路过。
解决方案十一:
///<summary>///生成缩略图///</summary>///<paramname="originalImagePath">源图路径(物理路径)</param>///<paramname="thumbnailPath">缩略图路径(物理路径)</param>///<paramname="width">缩略图宽度</param>///<paramname="height">缩略图高度</param>///<paramname="mode">生成缩略图的方式,HW,W,H,Cut</param>publicvoidMakeThumbnail(stringoriginalImagePath,stringthumbnailPath,intwidth,intheight,stringmode){System.Drawing.ImageoriginalImage=System.Drawing.Image.FromFile(originalImagePath);inttowidth=width;inttoheight=height;intx=0;inty=0;intow=originalImage.Width;intoh=originalImage.Height;switch(mode){case"HW"://指定高宽缩放(可能变形)break;case"W"://指定宽,高按比例toheight=originalImage.Height*width/originalImage.Width;break;case"H"://指定高,宽按比例towidth=originalImage.Width*height/originalImage.Height;break;case"Cut"://指定高宽裁减(不变形)if((double)originalImage.Width/(double)originalImage.Height>(double)towidth/(double)toheight){oh=originalImage.Height;ow=originalImage.Height*towidth/toheight;y=0;x=(originalImage.Width-ow)/2;}else{ow=originalImage.Width;oh=originalImage.Width*height/towidth;x=0;y=(originalImage.Height-oh)/2;}break;default:break;}//新建一个bmp图片System.Drawing.Imagebitmap=newSystem.Drawing.Bitmap(towidth,toheight);//新建一个画板System.Drawing.Graphicsg=System.Drawing.Graphics.FromImage(bitmap);//设置高质量插值法g.InterpolationMode=System.Drawing.Drawing2D.InterpolationMode.High;//设置高质量,低速度呈现平滑程度g.SmoothingMode=System.Drawing.Drawing2D.SmoothingMode.HighQuality;//清空画布并以透明背景色填充g.Clear(System.Drawing.Color.Transparent);//在指定位置并且按指定大小绘制原图片的指定部分g.DrawImage(originalImage,newSystem.Drawing.Rectangle(0,0,towidth,toheight),newSystem.Drawing.Rectangle(x,y,ow,oh),System.Drawing.GraphicsUnit.Pixel);try{//以jpg格式保存缩略图bitmap.Save(thumbnailPath,System.Drawing.Imaging.ImageFormat.Jpeg);}catch(System.Exceptione){throwe;}finally{originalImage.Dispose();bitmap.Dispose();g.Dispose();}}

时间: 2024-09-28 20:49:47

如何实现将图片进行裁减的相关文章

打开图片选择器并裁减图片取出图片

打开图片选择器并裁减图片取出图片 效果: 源码: 图片切割源码: UIImage+ImagePickerCrop.h 与 UIImage+ImagePickerCrop.m // // UIImage+ImagePickerCrop.h // ImagePickerCropDemo // // Created by Frank Schmitt on 4/1/14. // Copyright (c) 2014 Frank Schmitt. See LICENSE. // #import <UIKi

【IOS-COCOS2D游戏开发之十八】解决滚屏背景/拼接地图有黑边(缝隙)/图片缩放后模糊透明/图片不清晰【2013年12月13日补充】/动画播放出现毛边以及禁止游戏中自动锁屏问题!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/507.html 本章节主要为大家介绍在游戏开发过程中经常遇到的两个问题:  1. 解决滚屏背景或拼接地图有黑边! 对于游戏开发中,背景(游戏地图)是必要的元素之一,那么对于大部分游戏的背景都是动态,或者不断移动的:例如RPG中的背景随着人物.主角而移动,那么一般情况下背景都是由地图编辑器(图块)拼出来的,要不就

在Word 2010文档中裁剪图片

在Word 2010文档中,用户可以方便地对图片进行裁剪操作,以截取图片中最需要的部分,操作步骤如下所述: 第1步,打开Word 2010文档窗口,首先将图片的环绕方式设置为非嵌入型(参考教程<在Word 2010文档中设置图片文字环绕方式>).然后单击选中需要进行裁剪的图片.在"图片工具"功能区的"格式"选项卡中,单击"大小"分组中的"裁剪"按钮,如图2010060701所示. 图2010060701 单击&qu

在Word 2010中修剪图片

如果您想将一幅图片裁剪成一朵云的样子,该怎么做呢?如果您想将图文与文字生动地组合在一起,又该怎么办呢? 在 Word 2010 之前,您可能需要花上很多时间去利用第三方图像处理软件去实现您的愿望,然而有了 Word 2010,我们一起来看看这一操作是多么的简单便捷吧~ 比如,我希望将插入的一幅菊花的图片修剪成一朵云彩的样子,我们只需选中这幅图片, 然后单击裁减按钮下方的箭头,选择"裁剪为形状",再选择你满意的形状即可,我们这里选择云朵的形状. 裁减后的效果就变成了这个样子: 呵呵,是不

在Word 2007中裁剪图片

在Word2007文档中,用户可以方便地对图片进行裁剪操作,以截取图片中最 需要的部分,操作步骤如下所述: 第1步,打开Word2007文档窗口,单击选中需要进行裁剪的图片.在"图片工 具"功能区的"格式"选项卡中,单击"大小"分组中的"裁剪"按钮,如图 2009021303所示. 图2009021303 单击"裁剪"按钮 第2步,图片周围出现8个方向的裁剪控制柄,用鼠标拖动控制柄将对图片进 行相应方向的裁

android平台拍照后先剪裁再显示图片实现方法

mainActivity如下: package cn.testcamera; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; import android.app.Activity; import android.content.ContentResolver; import android.content.ContentUris; import android.content.Inte

isee图片专家怎么拼图

  这个效果粉不错. 看到PS有类似的教程. 用isee也简单滴实现了. 赞一下isee. 效果图: 原图: 1.isee打开素材图.选择--画笔. 圆角矩形. 边框颜色:白色. 边线宽度:8 圆角矩形:空心 先横着画两个矩形. 再竖着画两个矩形. 2.对画好圆角矩形的图进行裁剪. 选择--裁剪.把图裁剪为6个小图.(保留图的白边.) 3.新建一张图. 宽:500 高:400 颜色:淡粉色. 4.在新建图片上,以加水印的方式,将裁减好的6张图拼贴在一起. 选择水印:裁减好的6张图.(可以不按顺序

如何在PowerPiont里面裁剪图片?

单击"视图/工具/图片"菜单项,打开图片工具栏,选用其中的"裁剪"工具,就可以拖拉裁剪柄进行裁减了(如图1). 图1 其实,深挖我们会发现PPT中的图片编辑还是大有特点的. 1.色彩选择:很多时候,我们需要把彩色图片用作黑白图片,使用"颜色"工具中的"黑白"工具就可转换.使用"自动"也很容易恢复原貌,这在其他工具中不多见. 2.调节亮度与对比度:使用数码相机拍摄照片时,我们经常有这样的经验:由于数码相机测光

word2007怎么裁剪插入的图片

  word2007怎么裁剪插入的图片          word2007插入的图片裁剪方法一 第1步,打开Word2007文档窗口,首先将图片的环绕方式设置为非嵌入型,单击选中需要进行裁剪的图片.在"图片工具"功能区的"格式"选项卡中,单击"大小"分组中的"裁剪"按钮. 第2步,图片周围出现8个方向的裁剪控制柄,用鼠标拖动控制柄将对图片进行相应方向的裁剪,同时可以拖动控制柄将图片复原,直至调整合适为止. 第3步,将鼠标光标移