PDA

View Full Version : سوال: تغییر سایز عکس با حداکثر کیفیت خروجی



reza4344
یک شنبه 15 دی 1392, 12:09 عصر
با سلام

دوستان من می خواستم در مورد نحوه تغییر سایز عکس بهم کمک کنید.

من تو net خیلی search کردم قطعه کدهای بدی هم پیدا نکردم ولی همشون تو عکس خروجی مشکل داشتن!

مثلا : عکس1 (800*580) >>>> (200*300)

با سپاس

reza4344
یک شنبه 15 دی 1392, 16:00 عصر
دوستان تو msdn سرچ کردم تابع زیر رو برای resize عکس بهم نشون داد


private static Image resizeImage(Image imgToResize, Size size)
{
int sourceWidth = imgToResize.Width;
int sourceHeight = imgToResize.Height;

float nPercent = 0;
float nPercentW = 0;
float nPercentH = 0;

nPercentW = ((float)size.Width / (float)sourceWidth);
nPercentH = ((float)size.Height / (float)sourceHeight);

if (nPercentH < nPercentW)
nPercent = nPercentH;
else
nPercent = nPercentW;

int destWidth = (int)(sourceWidth * nPercent);
int destHeight = (int)(sourceHeight * nPercent);

Bitmap b = new Bitmap(destWidth, destHeight);
Graphics g = Graphics.FromImage((Image)b);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;

g.DrawImage(imgToResize, 0, 0, destWidth, destHeight);
g.Dispose();

return (Image)b;
}



من نتونستم برنامشو بنویسم ،لطفا اگه کسی می تونه با این تابع و یا... برنامشو بنویسه ممنون میشم

با سپاس

fmehrvarzi
دوشنبه 16 دی 1392, 20:46 عصر
یک نمونه کاملاً گویا از ریسایز کردن یک عکس:

http://www.codeproject.com/KB/cs/Photo_Resize/photo_resize.JPG

C#‎ Batch Photo Resize (http://www.codeproject.com/Articles/23700/C-Batch-Photo-Resize)
این هم یه پروژه دیگه


http://www.codeproject.com/KB/GDI-plus/imageresize/imageresize_50perc.jpg

Resizing a Photographic image with GDI+ for .NET (http://www.codeproject.com/Articles/2941/Resizing-a-Photographic-image-with-GDI-for-NET)