PDA

View Full Version : تغییر سایز عکس و ذخیره آن



mehr83
شنبه 26 اردیبهشت 1388, 19:35 عصر
با چه کدی می تونم سایز عکس را تغییر داده و دوباره ذخیرش کنم؟

----------------------------------------------------------------------
فروش ويژه مجموعه كامل محصولات آموزش برنامه نويسي AppDev
Asp.NET , Visual Basic.NET , Visual C#.NET , SQL Server 2008 , Web Service , LINQ , Html , Xml , SharePoint
اطلاعات بيشتر در
http://sadrasystem.org (http://sadrasystem.org/)

SAMARE
پنج شنبه 02 مهر 1388, 08:45 صبح
این مشکل منم هست اگه کسی میتونه کمک کنه و کدش رو اینجا قرار بده(asp(vb.net))
ممنون میشم

A.S.Roma
پنج شنبه 02 مهر 1388, 09:14 صبح
با سلام

يك متد براي آپلود عكس بنويسيد.
سپس يك Object از جنس System.Drawing.Image بسازيد و با استفاده از متد GetfromFile‌ آن را Instantiate كنيد. سپس width و height‌آنرا تغيير دهيد.
متاسفانه الان به Pc‌خودم دسترسي ندارم تا كد دقيق آنرا بگذارم.

mamizadeh
پنج شنبه 02 مهر 1388, 10:14 صبح
با چه کدی می تونم سایز عکس را تغییر داده و دوباره ذخیرش کنم؟
با سلام دوست عزیز من این طوری انجامش می دم


using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace Ideal.OperationalLayer
{
public class AddPicture
{
public void CreatePicture(FileUpload FileUp, string FilePath, string NewFileName, int PictureSize, int MainPictureSize, bool isBig, bool isThumb)
{
#region main variable
string FileName;
FileName = FileUp.PostedFile.FileName;
FileName = System.IO.Path.GetFileName(FileName);
FileUp.PostedFile.SaveAs(FilePath + FileName);
System.Drawing.Image MainDrawingImage = System.Drawing.Image.FromFile(FilePath + FileName);
float divide;
int height, width;
#endregion

if (isThumb)
{
divide = 0; height = 0; width = 0;
if (MainDrawingImage.Size.Height > PictureSize || MainDrawingImage.Size.Width > PictureSize)
{
if (MainDrawingImage.Size.Width > MainDrawingImage.Size.Height)
divide = (float)MainDrawingImage.Size.Width / PictureSize;
else
divide = (float)MainDrawingImage.Size.Height / PictureSize;

height = Convert.ToInt32(MainDrawingImage.Size.Height / divide);
width = Convert.ToInt32(MainDrawingImage.Size.Width / divide);
}
else
{
height = Convert.ToInt32(MainDrawingImage.Size.Height);
width = Convert.ToInt32(MainDrawingImage.Size.Width);
}
NewFileName = NewFileName + ".jpg";
System.Drawing.Bitmap ThumbOutPut = new System.Drawing.Bitmap(MainDrawingImage, width, height);
ThumbOutPut.Save(FilePath + "T_" + NewFileName, System.Drawing.Imaging.ImageFormat.Jpeg);
ThumbOutPut.Dispose();
}

if (isBig)
{
divide = 0; height = 0; width = 0;
if (MainDrawingImage.Size.Height > PictureSize || MainDrawingImage.Size.Width > PictureSize)
{
if (MainDrawingImage.Size.Width > MainDrawingImage.Size.Height)
divide = (float)MainDrawingImage.Size.Width / MainPictureSize;
else
divide = (float)MainDrawingImage.Size.Height / MainPictureSize;

height = Convert.ToInt32(MainDrawingImage.Size.Height / divide);
width = Convert.ToInt32(MainDrawingImage.Size.Width / divide);
}
else
{
height = Convert.ToInt32(MainDrawingImage.Size.Height);
width = Convert.ToInt32(MainDrawingImage.Size.Width);
}
System.Drawing.Bitmap BigOutPut = new System.Drawing.Bitmap(MainDrawingImage, width, height);
BigOutPut.Save(FilePath + "B_" + NewFileName, System.Drawing.Imaging.ImageFormat.Jpeg);
BigOutPut.Dispose();
}

MainDrawingImage.Dispose();
System.IO.File.Delete(FilePath + FileName);
}
}
}