PDA

View Full Version : تغییر کیفیت عکس



مهدی رحیم زاده
شنبه 09 خرداد 1388, 21:23 عصر
سلام
دوستان میخوام کیفیت عکس رو بعد از اسکن عکس کم یا زیاد کنم ، میشه؟
اگه آره چطور باید این کار رو بکنم؟
عکس بعد از اسکن توی یک PictureBox نشون داده میشه و نهایتا توی دیتابیس ذخیره میشه.
با تشکر

merced
یک شنبه 10 خرداد 1388, 00:16 صبح
سلام
میشه؟

صد در صد ميشه .

اين يك روش :


private System.Drawing.Imaging.ImageCodecInfo GetEncoderInfo(String mimeType)
{
foreach (System.Drawing.Imaging.ImageCodecInfo info in System.Drawing.Imaging.ImageCodecInfo.GetImageEnco ders())
{
if (info.MimeType == mimeType)
return info;
}
return null;
}

private void SaveOptimizedImage(System.Drawing.Image image, string targetPath)
{
System.Drawing.Imaging.ImageCodecInfo encoder;
encoder = GetEncoderInfo("image/jpeg");

System.Drawing.Imaging.EncoderParameters encoderParams = new System.Drawing.Imaging.EncoderParameters(1);
System.Drawing.Imaging.EncoderParameter encoderParam = new
System.Drawing.Imaging.EncoderParameter(System.Dra wing.Imaging.Encoder.Compression, 100);

encoderParams.Param[0] = encoderParam;

image.Save(targetPath, encoder, encoderParams);
}




اين نسخه بتاي يك كامپوننت اسكن هست ولي درست كار مي كنه و خيلي خوبه
http://www.bytescout.com/bytescoutscansdk.html
روش نوشته:
output image formats: BMP, JPG (with image quality control), PNG, TIFF (with compression method control);

ولي اينجا رو ببين .
http://www.codeproject.com/KB/GDI-plus/imgresizoutperfgdiplus.aspx
http://www.glennjones.net/Post/799/Highqualitydynamicallyresizedimageswithnet.htm

مهدی رحیم زاده
یک شنبه 10 خرداد 1388, 02:08 صبح
اما روش هاي ديگري هم داره كه ميتونه به نوع ديتا هم بستگي داشته باشه.
میشه یکمی بیشتر توضیح بدین؟
با تشکر

مهدی رحیم زاده
جمعه 15 خرداد 1388, 09:47 صبح
دوستان منتظر راهنمایی هاو توضیحات بیشترم؟

mohsen_zelzela00
جمعه 15 خرداد 1388, 15:33 عصر
صد در صد ميشه .

اين يك روش :


private System.Drawing.Imaging.ImageCodecInfo GetEncoderInfo(String mimeType)
{
foreach (System.Drawing.Imaging.ImageCodecInfo info in System.Drawing.Imaging.ImageCodecInfo.GetImageEnco ders())
{
if (info.MimeType == mimeType)
return info;
}
return null;
}

private void SaveOptimizedImage(System.Drawing.Image image, string targetPath)
{
System.Drawing.Imaging.ImageCodecInfo encoder;
encoder = GetEncoderInfo("image/jpeg");

System.Drawing.Imaging.EncoderParameters encoderParams = new System.Drawing.Imaging.EncoderParameters(1);
System.Drawing.Imaging.EncoderParameter encoderParam = new
System.Drawing.Imaging.EncoderParameter(System.Dra wing.Imaging.Encoder.Compression, 100);

encoderParams.Param[0] = encoderParam;

image.Save(targetPath, encoder, encoderParams);
}




اين نسخه بتاي يك كامپوننت اسكن هست ولي درست كار مي كنه و خيلي خوبه
http://www.bytescout.com/bytescoutscansdk.html
روش نوشته:
output image formats: BMP, JPG (with image quality control), PNG, TIFF (with compression method control);

ولي اينجا رو ببين .
http://www.codeproject.com/KB/GDI-plus/imgresizoutperfgdiplus.aspx
http://www.glennjones.net/Post/799/Highqualitydynamicallyresizedimageswithnet.htm
دوست عزیز میشه در مورد کد که نوشتید توضیح بدید

merced
جمعه 15 خرداد 1388, 23:18 عصر
چيز خاصي كه نداره. كار كه مي كنه . شما استفاده كن . من توضيح دادنم خوب نيست و تخصصم هم تو سي شارپ و دات نت اونقدر نيست

مهدی رحیم زاده
شنبه 16 خرداد 1388, 00:07 صبح
دست گلت درد نکنه
آره کار می کنه
در هر صورت خییییییییییلی ممنون که راهنماییم کردی.
با تشکر

mohsen_zelzela00
شنبه 16 خرداد 1388, 00:56 صبح
این کدها رو باید کجا بنویسم

مهدی رحیم زاده
شنبه 16 خرداد 1388, 07:16 صبح
هر جایی که دوست داری!!!
توی سایت مایکروسافت یک مثال خیلی ساده هست بگرد ی پیداش می کنی . اگه نتونستی پیداش کنی بگو تا برات بزارمش.
موفق باشید

razavi_university
شنبه 16 خرداد 1388, 11:26 صبح
من قبلا واسه کارم یه چیز ساده نوشتم که حجم و اندازه عکسی که وارد برنامه میشه را کم می کند تا فضای کمتری از دیتابیس اشغال کنه
تغيير دهنده اندازه تصوير (Resizer) (http://barnamenevis.org/forum/showpost.php?p=613688&postcount=157)