شما در کدتون دو فرمان SQL داشتید که با update naghashi و insert into naghashi بایت های تصویر رو در پایگاه داده ذخیره میکرد.
بایت های تصویر رو با ImageToByte بدست میاوردید که با ImageConverter.ConvertFrom کار میکرد و خروجی اش بایت های فرمت PNG بود و تنظیم فشرده سازی نداشت.
برای همین یک ImageToByte جدید نوشتم که از فرمت JPEG استفاده کنه و از فشرده سازی JPEG برای کاهش قابل تنظیم حجم داده استفاده کنه.
که بجای اون ImageToByte قبلی از ImageToByte جدید که بجای یک پارامتر ورودی دو پارامتر داره (پارامتر دوم کیفیت تصویر برحسب درصد) استفاده کنید.
در کد ImageToByte جدید ابتدا بین Encoder های موجود که تصویر رو با فرمت های مختلف فشرده می کنند، Encoder مربوط به JPEG رو پیدا می کنیم و در jpgEncoder قرار می دهیم.
سپس یک پارامتر برای تنظیم کیفیت در Encoder ایجاد می کنیم (Encoder.Quality) و تصویر رو با اون Encoder و اون پارامتر کیفیت فشرده و ذخیره می کنیم.
اما ذخیره سازی رو در فایل انجام نمی دهیم، موقتا در حافظه RAM و داخل یک MemoryStream ذخیره اش می کنیم چون قراره دور ریخته بشه.
صرفا پیش از دور ریختنش بایت های ذخیره شده در اون MemoryStream رو بصورت آرایه بایتی از ImageToByte بر میگردونیم.