PDA

View Full Version : کمپرس عکس jpg



arash.arya43
سه شنبه 11 فروردین 1394, 12:03 عصر
سال نو همه اساتید مبارک باشه.:قلب:

من یه سورس جور کردم که از دسکتاپ اسکرین شات میگیره و تو پوشه temp ویندوز ذخیره میکنه.الان مشکلم این هست که حجم خروجی بین 3 تا 5 mg هست من می خوام نهایت بین 85kb تا 350kb باشه .دو سه تا سورس پیدا کردم اما اینترفیس دارن می خوام همه این کارا مخفی باشه ادرس عکس رو توبرنامه که پوشه تمپ هست رو بگیره و کمپرس کنه.میشه راهنمایی کنین؟فقط نگین ازچه متدی استفاده کنم چون نتونستم سر هم کنم اگه امکان داره کدها رو بزارین ممنون میشم.اسم عکسمون axx.jpg هست:لبخندساده:

arash.arya43
سه شنبه 11 فروردین 1394, 15:46 عصر
نبود:افسرده:

Mani_rf
سه شنبه 11 فروردین 1394, 16:10 عصر
از متد های Thumbnail استفاده کن تا حجم و سایز عکس رو کم کنی. البته من فکر نمیکنم که jpg ذخیره کرده باشی که داره بالاتر از یک مگ برات عکس ذخیره میکنه. بررسی کن که با چه فرمتی داری ذخیره میکنی، برای ذخیره عکس فقط تعیین پسوند ملاک نیست باید فرمت رو تعیین کنی.

MSDN (https://msdn.microsoft.com/en-us/library/system.drawing.image.getthumbnailimage%28v=vs.110% 29.aspx) و این سایت (http://www.dotnetcurry.com/showarticle.aspx?ID=140) رونگاه کن راهنمای کامل تغییر اندازه عکس رو داره. اگر به نتیجه نرسیدی متد ذخیره سازی که نوشتی رو بگذار تا بررسی کنیم.

arash.arya43
سه شنبه 11 فروردین 1394, 16:22 عصر
خیلی ممنون من 1 هفته هست دارم نگاه میکنم اما نمیتونمسر هم کنم شاید قالب bmp باشه.میتونین یه منتی بزارین درست کنین اگه می خواین سورس کمرس هم بدم که عالی کار مینه ولی حالت بصری داره.می خوام اتوماتیک باشه فایل رواز تمپ پیدا کنه و کم کنه تو همون جا

arash.arya43
سه شنبه 11 فروردین 1394, 16:23 عصر
اینم یه نمونه سورس

Mani_rf
سه شنبه 11 فروردین 1394, 16:35 عصر
لطفا فقط تیکه ای که مربوط به ذخیره سازی میشه یا متدی که این کار رو برات انجام میده رو بگذار روی کد تغییر ایجاد کنیم برات

arash.arya43
سه شنبه 11 فروردین 1394, 16:38 عصر
متد رو پیوست کردم فقط لطف کنین تغییر بدین فایل رو از تمپ با اسم axx بخونه حجمش رو کم کنه یه دنیا ممنون میشم.همون جا هم سیو کنه
البته عکس که قرار هست کمپرس بشه حاصل این کد هست.که الان تو درایو d سیو میشه بعدا میکنمش temp


Dim bounds As Rectangle
Dim screenshot As System.Drawing.Bitmap
Dim graph As Graphics
bounds = Screen.PrimaryScreen.Bounds
screenshot = New System.Drawing.Bitmap(bounds.Width, bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppRgb)
graph = Graphics.FromImage(screenshot)
graph.CopyFromScreen(0, 0, 0, 0, bounds.Size, CopyPixelOperation.SourceCopy)
screenshot.Save("d:\\dcap.jpg", Imaging.ImageFormat.Bmp)


اصلا میشه همین کد خودم که معلوم هست تو قالب bmp ذخیره مینه رو jpg کنم تا حجمش بیاد پایین؟

Barbodben
چهارشنبه 12 فروردین 1394, 01:29 صبح
خب چرا "Imaging.ImageFormat.Bmp" رو "Imaging.ImageFormat.Jpeg" نمیکنی ؟ سایزش به 100kBم نمیرسه :متفکر:

arash.arya43
چهارشنبه 12 فروردین 1394, 10:32 صبح
عزببببببببببب.میبینی تو روقران من این کار رو کرده بودم منتها به جای Jpeg زده بودم jpg :گریه:

ممنون داداش

فقط نمیدونم چرا بعده چند بار اسکرین شات کردن برنامه وامیسه:ناراحت:

Mani_rf
شنبه 15 فروردین 1394, 15:09 عصر
View Details رو بزن و محتویات Inner Exception رو بگذار.

arash.arya43
چهارشنبه 19 فروردین 1394, 00:09 صبح
بسیار ممنون درست شد:قلب: