PDA

View Full Version : سوال: تغییر اندازه یک عکس هنگام آپلود



amirjalili
سه شنبه 14 خرداد 1387, 13:33 عصر
سلام..این تایپیک دوم منه.. گویا تایپیک قبلی پاک شده.. به هر حال الان قابل نمایش نیست..
از مدیر محترم سایت میخوام در صورتیکه تایپیک من به دلیل عدم رعایت قوانین حذف شده و اگر بنده قوانینی رو رعایت نکردم لطفا اون رو به من اعلام کنید نه اینکه تایپیک رو بدون هیچ توضیحی پاک کنید..
به هر حال مجلورم سوالم رو دوباره تکرار کنم..

دوستان عزیز من میخوام وقتی یک عکس از طریق کاربر آپلود میشه اندازه اون عکس رو تغییر بدم به اندازه مناسب و بعد اون رو ذخیره کنم یا نمایش بدم تا مثلا اگر عکسی که کاربر آپلود کرده بزرگ باشه ایجاد مشکل نکنه مثل عکس پروفایل اون شخص و این کار رو میخوام با asp.net روی پلت فرم #c انجام بدم..
همین قدر میدونم که باید از کلاس Drawing استفاده کنم..
اگر میشه به من کمک کنید..
ممنونم..

raravaice
سه شنبه 14 خرداد 1387, 13:47 عصر
Dim dra As Drawing.Bitmap
Dim imh As Drawing.Image

Dim w, h As Integer
imh = dra.FromStream(File1.PostedFile.InputStream())
dra = imh.FromStream(File1.PostedFile.InputStream())
w = imh.Size.Width
h = imh.Size.Height

Dim w1 As Integer=100'سایز جدید
Dim h1 As Integer=100'سایز جدید
Dim NewImage As System.Drawing.Image = New System.Drawing.Bitmap(w1, h1)
Dim NewImageGraphics As Graphics = Graphics.FromImage(NewImage)
Dim DistRectangle As Rectangle = New Rectangle(0, 0, NewImage.Width, NewImage.Height)
Dim SourRectangle As Rectangle = New Rectangle(0, 0, dra.Width, dra.Height)
NewImageGraphics.DrawImage(dra, DistRectangle, SourRectangle, GraphicsUnit.Pixel)
NewImage.Save("C:\MyNewPic.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
موفق باشید

amirjalili
سه شنبه 14 خرداد 1387, 14:26 عصر
با تشکر از شما..
اگه میشه رو #c کد بهم بدید..
بازم ممنون..

m.hamidreza
سه شنبه 14 خرداد 1387, 14:41 عصر
http://www.dotnetspider.com/convert/Vb-To-Csharp.aspx
http://labs.developerfusion.co.uk/convert/vb-to-csharp.aspx

chaalesh
چهارشنبه 15 خرداد 1387, 20:37 عصر
دوست عزیز جناب آقای راد صحیح تاپیک قبلی شما را پاک کردن و در ضمن توضیح هم دادند : قبل از ایجاد تاپیک search کنید- جلوی تاپیک پاک شده میتونید ببینید
این کد کمکتون میکنه :


System.Drawing.Image img = System.Drawing.Image.FromFile(SaveLocation);
imgWidth = img.Width;
imgHeight = img.Height;
if ((img.Width > 120) || (img.Height > 90))
{
int deltaWidth = img.Width - 120;
int deltaHeight = img.Height - 90;
double scaleFactor;

if (deltaHeight > deltaWidth)

//Scale by the height
scaleFactor = 90.0 / img.Height;
else
//Scale by the Width
scaleFactor = 120.0 / img.Width;


imgWidth *= scaleFactor;
imgHeight *= scaleFactor;
}

SaveLocation2 = Server.MapPath("../img/") + NewPicName + File2.PostedFile.FileName.Substring(File2.PostedFi le.FileName.LastIndexOf('.'));
System.Drawing.Bitmap imgj = new System.Drawing.Bitmap(img, (int)imgWidth, (int)imgHeight);
imgj.Save(SaveLocation2, img.RawFormat);