تحقیق در مورد روش های ذخیره سازی تصاویر

word قابل ویرایش
24 صفحه
8700 تومان
87,000 ریال – خرید و دانلود

روش های ذخیره سازی تصاویر

ذخیره تصویر از Clipboard در فایل به کمک سی شارپ
همان طوری که می دانید Clipboard مجموعه ای از توابع و پیام هاست که به برنامه ها اجازه نقل و انتقال داده را می دهد، چون همه برنامه ها به Clipboard دسترسی دارند انتقال اطلاعات بین چند برنامه یا یک برنامه خاص به سادگی صورت می گیرد.

این یادداشت توضیح می دهد که داده های Clipboard را چگونه به کمک سی شارپ مدیریت و در فایل ذخیره کنیم.
در این نوشته من از کلاس System.Windows.Forms.Clipboard استفاده خواهم کرد.

این کلاس متدهایی برای قرار دادن و بازیابی اطلاعات موجود در Clipboard برای ما فراهم می کند.
تمام متدهای فراهم شده توسط این کلاس استاتیک هستند به این معنی که برای استفاده از آن ها نیازی ندارید که یک شی از این کلاس بسازید.

و اما کد برنامه
کد:
if (Clipboard.GetDataObject() != null)
{
IDataObject data = Clipboard.GetDataObject();

if (data.GetDataPresent(DataFormats.Bitmap))
{
Image image = (Image)data.GetData(DataFormats.Bitmap,true);
image.Save(“image.bmp”,System.Drawing.Imaging.ImageFormat.Bmp);
image.Save(“image.jpg”,System.Drawing.Imaging.ImageFormat.Jpeg);
image.Save(“image.gif”,System.Drawing.Imaging.ImageFormat.Gif);
}
else
{
MessageBox.Show(“The Data In Clipboard is not as image format”);
}
}
else
{
MessageBox.Show(“The Clipboard was empty”);
}

حالا توضیح برنامه :
– متد GetDataObject() اطلاعاتی که درون Clipboard هست را نشان می دهد بنابراین می توانیم از آن برای گرفتن داده های درون Clipboard یا چک کردن وجود داده در آن استفاده کنیم.
– چون داده هایی که درون Clipboard قرار می گیرند از انواع داده ای مختلفی هستند این متد یک داده از نوع IDataObject برمی گرداند بنابراین من یک شی از نوع اینترفیس IDataObject ساختم و آن را بوسیله مقدار بازگشتی از تابع etDataObject() مقدار دهی اولیه کردم:
IDataObject data = Clipboard.GetDataObject();

– بعد از این ما می توانیم شی data را برای مدیریت اطلاعاتی که از GetDataObject() یا Clipboard می آیند استفاده کنیم.
– حالا نوع این داده که در شی data قرار گرفته است را بررسی می کنیم:
if (data.GetDataPresent(DataFormats.Bitmap))

یا آن را به یک فرمت مناسب مثل فرمت تصویری تبدیل می کنیم :
Image image = (Image)data.GetData(DataFormats.Bitmap,true);

اگر فرمت داده ما ماهیت تصویری نداشته باشد این مطلب را به کمک یک Message Box به کاربر اعلام می کنیم:
MessageBox.Show(“The Data In Clipboard is not as image format”);
توضیح: منبع این مطلب ، سایت C# Help بود. برای دریافت سورس این برنامه می توانید

ذخیره تصویر کاربران یاهو مسنجر
در صورتی که از کاربران یاهو مسنجر باشید، حتما با Avatar یا عکسی که به هنگام چت کردن در کنار ID افراد نمایش داده می شود، آشنا هستید. شما با این ابزار که از یاهو مسنجر ۷ افزوده شده است، هنگام چت کردن با طرف مقابل می توانید عکسی با اندازه نسبتا کوچک را در صفحه چت خود قرار دهید. اما به طور طبیعی این عکس را نمی توان با یاهو مسنجر روی هارد ذخیره کرد و تنها می توان آن را مشاهده کرد. روشی را به شما معرفی می کنیم که در عین سادگی می توانید تصویر هر ID را که بخواهید، دریافت و روی هارد ذخیره کنید.
برای این کار کافی است از طریق مرورگر خود به آدرس www.invisible.ir/dicatcher مراجعه کنید.اکنون در فیلد yahoo!ID آیدی مورد نظر را وارد و سپس روی دکمه ذره بین کلیک کنید یا Enter بزنید.پس از چند ثانیه تصویر ID شخص مورد نظر ظاهر می شود اکنون روی عکس راست کلیک و آن را Save کنید. عکس در همان اندازه استاندارد یاهو مسنجر است، شما می توانید به وسیله نرم افزارهای تخصصی همانند فتوشاپ، تصویر را با کاهش نسبی کیفیت عکس بزرگ تر کنید.
ذخیره تصاویر در SQL Server
چند روز پیش یکی از دوستانم در دانشگاه از من سوالی در مورد نحوه ذخیره تصاویر در SQL Server پرسید. من می دانستم که نوع داده ای image برای انجام این کار استفاده می شود ولی هیچ گاه از آن استفاده نکرده بودم و بنابراین هیچ ایده ای از نحوه ارسال اطلاعات برای ذخیره شدن در بانک اطلاعاتی نداشتم. فردای آن روز ایمیلی به دوستم زدم و لینک یک مقاله خوب از codeproject را برایش فرستادم که نحوه انجام این کار را توضیح می داد. به نظرم آمد که آن مقاله را برای وبلاگم هم ترجمه کنم. این مقاله یک سورس هم دارد که می توانید آن را از اینجا دانلود کنید.

مرور راه حل
به طور معمول، تصاویر در پوشه های روی وب سرور ذخیره می شوند نه در دیتابیس، این اما برای فایل های با حجم بالاست. در بعضی موارد ، مثلا یک بانک ، آن ها از تصویر امضای مشتری اسکن می گیرند و آن را در بانک اطلاعاتی خود ذخیره می کنند.
– الگوی بانک اطلاعاتی مورد استفاده : مایکروسافت SQL Server 2000 را به عنوان بانک اطلاعاتی استفاده می کنیم، من از نوع داده ای image استفاده خواهم کرد. نوع داده ای image برای ذخیره کردن تصاویر در بانک اطلاعاتی استفاده می شود.
– کنترل هایی که در این برنامه از آن ها استفاده می کنیم عبارتند از : System.Web.UI.HtmlControls.HtmlInputFile و System.Web.UI.WebControls.TextBox و System.Web.UI.WebControls.Button

-و فضا نام هایی که در این برنامه از آن ها استفاده می کنیم عبارتند از: System.Data.SqlClient و System.Drawing و System.Data و System.IO و System.Drawing.Imaging
راه حل همراه با کد
از کلاس HtmlInputFile برای ساختن کنترل آپلود فایل استفاده می کنیم. مثال زیر یک فایل ASPX کامل است که به کاربر این امکان را می دهد که یک تصویر و توضیح آن را آپلود و به بانک اطلاعاتی اضافه کند . متد OnUpload تصویر و توضیح آن را در یک جدول بانک اطلاعاتی SQL Server به نام Pictures در دیتابیس MyData اضافه می کند.
// سورس کد ذخیره تصویر در بانک اطلاعاتی

public void OnUpload(Object sender, EventArgs e)
{
// ساختن یک byte[] از فایل ورودی
int len = Upload.PostedFile.ContentLength;
byte[] pic = new byte[len];
Upload.PostedFile.InputStream.Read (pic, 0, len);

// افزودن تصویر و توضیح تصویر به بانک اطلاعاتی
SqlConnection connection = new
SqlConnection (@”server=127.0.0.1;database=MyData;uid=sa;pwd=yourpass”);
try
{
connection.Open ();
SqlCommand cmd = new SqlCommand (“insert into Image ”
+ “(Picture, Comment) values (@pic, @text)”, connection);
cmd.Parameters.Add (“@pic”, pic);
cmd.Parameters.Add (“@text”, Comment.Text);
cmd.ExecuteNonQuery ();
}
finally
{
connection.Close ();
}
}
تابعی که در بالا معرفی کردیم توسط ویژگی OnClick یک دکمه فراخوانی می شود.
چگونه می توانم یک تصویر را از دیتابیس خوانده و در صفحه وب نمایش دهم؟
اینجا من از یک صفحه وب برای نمایش تصویر استفاده کرده ام، کد زیر برای نمایش تصویر در صفحه وب استفاده می شود
private void Page_Load(object sender, System.EventArgs e)
{
MemoryStream stream = new MemoryStream ();
SqlConnection connection = new
SqlConnection (@”server=127.0.0.1;database=MyData;uid=sa;pwd=yourpass”);
try
{
connection.Open ();
SqlCommand command = new
SqlCommand (“select Picture from Image”, connection);
byte[] image = (byte[]) command.ExecuteScalar ();
stream.Write (image, 0, image.Length);
Bitmap bitmap = new Bitmap (stream);
Response.ContentType = “image/gif”;
bitmap.Save (Response.OutputStream, ImageFormat.Gif);
}
finally
{
connection.Close ();
stream.Close ();
}
}
توابع GDI+ ویژگی های پیشرفته زیادی برای مدیریت و دستکاری داده های تصویری پیشنهاد می کنند. مثال این مقاله نگاه سریعی به کارهایی که از طریق فضا نام های System.Drawing.Imaging و System.Drawing می توانید انجام دهید دارد. به عنوان مثال شما می توانید برنامه را برای ذخیره و مدیریت تصاویر بر روی وب گسترش دهید یا می توانید یک برنامه ساده بنویسید که به کاربر امکان ویرایش و دستکاری تصاویر را می دهد.
چگونه از این کدها استفاده کنیم؟

برای دریافت سورس پروژه اینجا کلیک کنید. ابتدا یک دایرکتوری مجازی بسازید و فایل های پروژه را در آن قرار بدهید ، سپس رشته اتصال به بانک اطلاعاتی را تغییر دهید ( بر اساس سرور و نام کاربری و کلمه عبور و نام دیتابیس خودتان آن را ست کنید ) حالا می توانید از این پروژه استفاده کنید.
امروزه حجم عظیمی از اطلاعات بصورت دیجیتال کد گذاری شده است و میزان حجم محیط ذخیره سازی مورد نیاز افزایش میابد

بمنظور استفاده موثر از محیط های ذخیره سازی بایستی به میزان معینی از فشرده سازی استفاده شود سیستم های فشرده سازی
چه با کاهش کیفی و از دست دادن محدودی از داده ها همراه باشد یا نباشد بدنبال کاهش حجم محیط ذخیره سازی اطلاعات هستند

میزان کاهش کیفی اطلاعات ناشی از فشرده سازی به بسیاری از عوامل و از جمله کاربرد آن بستگی دارد
و ماشینهای فاکسی مایل پردازنده های کلمات را متحول ساختهPC تکنولوژی دیجیتال بسیاری از ایستگاههای کاری کامپیوتر های

است
محیط را دگرگون نموده است آخرین مرز و دیوار نسبتآمحکم بازار وسابل خانگی CD در منازل صدای دیجیتال با ساخت و تولید
است حتی دیسک های لیزری تصویر نیز آنالوگ هستند و سیستم های تلویزیونی کابلیVCR دستگاههای ضبط تصویر آنالوگ
و مدار بسته در شرایط فعلی فقط ویدئو آنالوگ را توزیع و پخش نماید امروز با فرارسیدن استانداردها و معرفی تکنولوژی های
کارآ ویدئو دیجیتال را وعده میدهد

همراه با تکنولوژی دیجیتال ارتباط متقابل و قابلیت ادیت بهمان صورتی که ما اکنون متن نوشته صدا و تصویر های گرافیکی را ادیت می کنیم ممکن ساخته است
و سایر سیستمهای ویدئو کتمپیوتری همه می توانندویدئوVideo On Demand سیستم چند رسانه ای تلویزیون دیجیتال سیستم
کامپیوتری همه می توانند ویدئو را در فضای دیجیتال داشته باشند

 

نگاهی به گذشته آنالوگ
برای روشن شدن وضعیت فعلی لازم است مرور مختصری بر گذشته فضای آنالوگ داشته باشیم استانداردهای ویدئو آنالوگ تعداد
فریمهای تصویر را در هر ثانیه و تعداد خطوط تصویر در هر فریم را معین می نماید
سیگنال ویدئو شامل قسمت های حیاتی است که برای همزمانی استفاده می شود و بر روی صفحه نمایش داده نمی شود برای تبدیل
سیگنال آنالوگ به دیجیتال هر بخش تصویری فعال هر خط نمونه برداری می شود
و دستگاهای جدید دیسک ویدئوD1برای سیستم تصویر A13.5 MHz, CCIR-601 میزان فرکانس نمونه برداری مطابق توصیه
استVideo, Cd

اختیار می شود تعداد ۷۲۰ نمونه از قسمت فعال تصویری هر خط گرفته می شود که هر A13.5 MHzوقتی فرکانس نمونه برداری
نمونه با ۸ یا ۱۰ بیت نشان داده می شود
کد گذاری می گردد معمولآ مولفه های تفاضلی رنگها هر کدام نصف فر کانس YUV برای افزایش موثر هر نمونه رنگی در فضای
نمونه برداری می شود A6.75 MHzنمونه برداری اصلی یعنی با فر کانس

NTSC , PAL میزان نرخ داده ها در سیستم های تلویزیونی
Luminance Y 720*486*29.97*8=83.896819 bit/s

Chrominance U 360*486*29.97*8=41.94141 bit/s

V 360*486*29.97*8=41.94141 bit/s
________________________________________
استF4:2:2 برای انتقال ویدئو دیجیتال در سیستم s 167.79Mbit/s که نرخ داده های نهائی کل
عملآ کانالهای توزیع از نظر پهنای باند فر کانس محدود هستند و ما ناچار هستیم که تصاویر ویدئو دیجیتالی را فشرده سازیم تا بتوانیم
می توانند تا CD-ROM,Video-CDاز نظر زمانی همزمان اطلاعات را ارسال و مورد استفاده قرار دهیم برای مثال درایورهای
مورد نیاز است در حالیکه پهنای باند کانال d20:1 مگابیت بر ثانیه انتقال داده ها را انجام دهند در نتیجه فشرده سازی به نسبت v1.4
نیاز دارد البته در مراحل g28:1 است که حد اقل نسبت فشرده سازی d6 Mbit/s ارتباطی یک سیستم تلویزیون کابلی فقط
پردازش صدا نیز بایستی مورد توجه قرار گیرد
بمنظور هماهنگی بین صدا و تصویر یک پالس سلعت عمومی برای انکودر های صدا و تصویر بایستس استفاده شود

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید
word قابل ویرایش - قیمت 8700 تومان در 24 صفحه
87,000 ریال – خرید و دانلود
سایر مقالات موجود در این موضوع
دیدگاه خود را مطرح فرمایید . وظیفه ماست که به سوالات شما پاسخ دهیم

پاسخ دیدگاه شما ایمیل خواهد شد