PDA

View Full Version : به دست اوردن quality عکس



Payman62
شنبه 22 مرداد 1390, 17:16 عصر
سلام.
کسی میدونه چطور میشه quality یه عکس jpg رو به دست اورد؟

ali.rezaei7
شنبه 22 مرداد 1390, 18:39 عصر
سلام. در .NET به راحتی میشه با استفاده از کلاس Image (http://msdn.microsoft.com/en-us/library/system.drawing.image.aspx) به برخی از مشخصات فایل های تصویری دسترسی پیدا کنید.
برای بدست آوردن Resolution از خصیصه های HorizontalResolution (http://msdn.microsoft.com/en-us/library/system.drawing.image.horizontalresolution.aspx) و VerticalResolution (http://msdn.microsoft.com/en-us/library/system.drawing.image.verticalresolution.aspx) استفاده میشه.(بر حسب dpi)
برای بدست آوردن اندازه تصویر از Height (http://msdn.microsoft.com/en-us/library/system.drawing.image.height.aspx) و Width (http://msdn.microsoft.com/en-us/library/system.drawing.image.width.aspx) استفاده می کنیم.
و برای بدست آورد Bit Rate (مجموع رنگ ها) و فرمت پیسکل از PixelFormat (http://msdn.microsoft.com/en-us/library/system.drawing.image.pixelformat.aspx) استفاده میشه.


public static void Main()
{

Image image=Image.FromFile(@"FileName");

Console.WriteLine("Bit Rate: {0}\nHorizontal Resolution : {1}\nVertical Resolution: {2}",image.PixelFormat,image.HorizontalResolution,imag e.VerticalResolution);

Console.ReadLine();
}

navid_8x
شنبه 22 مرداد 1390, 19:00 عصر
اگه منظورتون quality در زمان انکدینگ باشه باید بگم photoshop هم تشخیص نمیده. چون این پارامتر ثبت نمیشه توی فایل.

Payman62
شنبه 22 مرداد 1390, 19:19 عصر
اگه منظورتون quality در زمان انکدینگ باشه باید بگم photoshop هم تشخیص نمیده. چون این پارامتر ثبت نمیشه توی فایل.

سلام.
ظاهرا این طوره که شما میگی.
چون کیفیت عکس هایی که من با C# ذخیره کرده بودم رو تشخیص نداد. اما اگه با خود فوتوشاپ عکس رو ذخیره کنی و اون عکس رو بعدا باز کنی میتونه بفهمه دفعه پیش چه quality قرار داده بودی.

من در دیتابیس باید عکس ذخیره کنم و باید حجمش از 8 کیلو بایت کمتر باشه.
ابتدا عکس رو jpg میکنم. بعد ریسایز میکنم و کوچیک میشه. اما اگه حجمش هنوز از 8 کیلو بیشتر باشه میام quality ش رو میارم پایین تا حجمش کم شه.

حالا هنگام پایین اوردن quality نمیدونم کیفیت خود عکس در چه حدیه که quality پایین تری بهش بدم. اگه quality رو زیاد قرار بدم حجم عکس زیاد میشه (هر چند کیفیت بهتر نمیشه). اگرم quality رو خیلی پایین قرار بدم ممکنه کیفیت خیلی بیاد پایین. اینه که میخوام quality رو بدونم و کمتر از اون رو بهش بدم تا حجمش کم شه.

navid_8x
شنبه 22 مرداد 1390, 19:54 عصر
http://msdn.microsoft.com/en-us/library/bb882583.aspx
این لینک در مورد انکدینگ به quality های مختلف توضیح داده.