PDA

View Full Version : ذخیره عکسها با حجم دلخواه



nesfenafar
جمعه 15 آذر 1392, 12:53 عصر
http://barnamenevis.org/showthread.php?101925-%D8%B9%DA%A9%D8%B3-%DA%AF%D8%B1%D9%81%D8%AA%D9%86-%D8%A7%D8%B2-%D8%B5%D9%81%D8%AD%D9%87-%D9%85%D8%AA%D9%86%DB%8C%D8%AA%D9%88%D8%B1&p=1733234&viewfull=1#post1733234

من این سوالو باز میپرسم چون ضروری بود برام
توی برنامه هایی که توی لینک بالا داده شده بود عکسی که ذخیره میشد حجم بالایی داشت میخواستم ببینم کسی راهی بلده تا حجم عکسهارو پایین بیاریم

setroyd
شنبه 16 آذر 1392, 00:02 صبح
دوست عزیز من تو اون تاپیک گفته بودم بهت چیکار کنی اون بهترین راهه با کد تبدیل به jpg یا ocx این بهترین روش ممکنه

nesfenafar
شنبه 16 آذر 1392, 21:01 عصر
:لبخند:جان من عصبانی نشیا
خوب میشه بری همون تاپیک ها اونجاها که چیز درستو درمونی گفته نشد
ی کد جمو جور بلدی که این کارو کنه؟
معمولا چیزهایی که پیشنهاد میشه خیلی طویل وگیج کننده هستن که اگه طرف مثل من زیاد اشنایی نداشته باشه باvbنمیتونه استفاد کنه:افسرده:

سید حمید حق پرست
یک شنبه 17 آذر 1392, 09:06 صبح
سلام علیکم
این یک سورس کامل در مورد تبدیل عکس به jpg و کم کردن حجم و کلی امکانات دیگه
موفق باشید.

یا علی (ع)

nesfenafar
دوشنبه 18 آذر 1392, 11:36 صبح
دمت گرم چیز جالبی بود
ولی خیلی پیچیده وطویل بودا فک کنم
ی کد نهایت سه چهار خطه نیست دم دستتون که وقتی از صفحه دسکتاب عکس میگیره یکم همچین حجم پایین ذخیرش کنه؟
یکی از دوستان جواب خوبی داده بودن چون ویندوز به صورت پیشفرض با فرمتbmp عکس میندازه برای همون حجم بالاست ،خوب نمیشه ی کاری کرد که اون فرمت پیش فرض عوض شه بشهjpgچون با همون فرمت bmp ی حجمی حدود3.061 کیلو بایت داره ولی با jpgحدود 147کیلو بایت پ خیلی حجما فرق میکنه:متفکر:

setroyd
دوشنبه 18 آذر 1392, 14:35 عصر
بازم میگم دوست من شما باید به صورت کلاس بنویسی برای کد کمتر چون نمیشه تو 2 خط نوشت کد دوستمون زیاده ولی میشه با 1 چهارم اون کد هم نوشت ! یا اگه برات مشکل نیست که چجوری باشه به صورت ocx بنویسم بهت بدم . اگه Ocx خواستی بگو برات مینویسم همینجا upload میکنم .

nesfenafar
دوشنبه 18 آذر 1392, 21:31 عصر
نه عامو ما از خیرش گذشتیم:لبخند:
خوب ی سوال نمیشه توی عکس برداری وذخیره عکس این وسط کاری به جز این کارا انجام داد مثلا فرض کنیم چند برابر ابعاد مانیتور عکس برداری بشه وبعد اون قسمتی که اضافه هست برش بخوره وحذف بشه بعد ذخیره شه
چند بار دیدم که توی پرینت اسکرین این مشکلو خود ویندوز داره که دوبرابر ارتفاع مانیتور عکس میندازه وزیر عکس خالی وبه رنگ سفید هست:متفکر: ????
:لبخند:من همیشه دنبال کارهای غیر منطقی میگردم ی کارهایی که بگن نمیشه ولی ی کارهایی کنی بشه ههههه

setroyd
سه شنبه 19 آذر 1392, 17:47 عصر
اصلا سوالت روشن نیست مگه میشه print screen بگیری بیشتر از ابعاد صفت بهت بده ! شما سوالات چیزی هست که اصلا دیده نشده اره میشه کاری کرد که قسمت اضافی خودش cut شه ولی اینی که میگیو من نمیفهمم دو برابر صفحه یا برش ! چیو میخوای برش بزنی ! میخوای قسمت اضافی بره ok شما میتونی از top 0 و left 0 بیای با مقدار scree.height و width همون مقدار اصلی رو بگیری و ذخیره کنی و بقیش رو بریزی دور ! شما یه نمونه از عکس بزار من ببینم چی هست .

vbhamed
چهارشنبه 20 آذر 1392, 16:37 عصر
دمت گرم چیز جالبی بود
ولی خیلی پیچیده وطویل بودا فک کنم
ی کد نهایت سه چهار خطه نی دم دستتون که وقتی از صفحه دسکتاب عکس میگیره یکم همچین حجم پایین ذخیرش کنه؟
یکی از دوستان جواب خوبی داده بودن چون ویندوز به صورت پیشفرض با فرمتbmp عکس میندازه برای همون حجم بالاست ،خوب نمیشه ی کاری کرد که اون فرمت پیش فرض عوض شه بشهjpgچون با همون فرمت bmp ی حجمی حدود3.061 کیلو بایت داره ولی با jpgحدود 147کیلو بایت پ خیلی حجما فرق میکنه:متفکر:

سلام
دوست عزيز
ذخيره به صورت jpg يعني يك الگوريتم فشرده سازي با كلي قاعده و قانون
مسلما نميشه چنين چيزي رو با 4 خط كد پياده سازي كرد، اگر هم احتمالا جايي چنين چيزي ديدين بدونيد حتما يك dll يا ocx يا يك برنامه واسط ديگه پشت صحنه داره اينكار رو انجام ميده، البته اگر از ocx يا dll استفاده كنيد حداقل خوبيش اينه كه برنامه شما درگير اينكارها نميشه و كدنويسيتون شايد 1 خط باشه كه همون فراخواني توابع هست

nesfenafar
پنج شنبه 21 آذر 1392, 23:22 عصر
آقایون من کلا بیخیال راه های منطقی شدم میریم پس سراغ راه های غیر منطقی :لبخند:
113863
این عکسو نگاه کنید از دسکتاب انداخته شده ها ولی نگا ته صفحه سفید هست و یه چیز زائد ته عکس بوجود اومده (البته این عکس دسکتاب من نیستا این خیلی شیر توشیره برا من جمو جوره:لبخند:)
نگاه کنید یعضی وقتی به خاطر یه مشکلاتی ویندوز یا حالا هر چیزی این مدلی پرینت اسکرین میگیره حالا ما اگه یه مشکلی یه اختلالی توی ویندوز بوجود بیاریم که عکسی که میندازه رو بزرگتر از اون چیزی باشه که ما روی مانیتور میبینیم چی میشه؟تا اینجا که مشکلی نی نه؟:لبخندساده:متوجه شدین چی میگم؟
خوب اگه این مدلی عکس بگیریم و قسمت های زائد عکس رو برش بزنیم به نظرتون آسونتر از اون روش هایی نمیشه که میگید؟




ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــ
از قدیم گفتن کار رو به تنبلترین شخص بسپار چون اسونترین راه رو برای رسیدن به هدف پیدا میکنه

vbhamed
جمعه 22 آذر 1392, 12:36 عصر
سلام
خب اين چيزي كه الان گفتين چه ارتباطي با خواسته شما كه تو تاپيكي كه تو پست اول هم اشاره شده داشت ؟
شما مي‌خواين عكس رو ذخيره كنيد اونم به صورت jpg
مي‌گين مي‌خواين عكسي كه از صفحه گرفتين رو برش بدين، خب با چي مي‌خواين برش بدين ؟ با فتوشاپ يا نرم افزار آماده ديگه يا برنامه نويسي با VB
اگر فتوشاپ و اينطور نرم افزارها باشن كه خودشون الگوريتم فشرده سازي jpg رو اعمال مي‌كنن، اگر هم VB باشه كه بايد از الگوريتمهاي فشرده سازي تصوير يا dll و ocx هاي اينكار استفاده كنيد
ضمنا دنبال راه غير منطقي نباشيد، اون چيزي كه شما تو ذهنتون هست حتي اگر به ظاهر انجام بشه در باطن از همين روشها استفاده مي‌كنه

nesfenafar
جمعه 22 آذر 1392, 14:24 عصر
نه قصد ما کلا اوردن حجم عکس به پایین هست منم میگم الان اگه اینجوری بشه حجم عکسم با این روش میاد پایین

setroyd
جمعه 22 آذر 1392, 18:02 عصر
داداشم من تو اون پست کامل گفتم واسه اینکار میتونی با گرفتن ابعاد از left 0 و top 0 با متد screen. همه ی ابعاد صفحه نمایش رو به دست بیاری و اون مقدار از عکس رو cut کنی .

Private Sub Command1_Click()
Picture1.Width = Screen.Width
Picture1.Height = Screen.Height
Picture1.Picture = Picture1.Image
SavePicture Picture1.Picture, "f:\bbv.bmp"
End Sub


حالا این کد اصلا اصولی نیست ولی میخواستم منظورو بگیری. کار کردنش کار میکنه ولی نیاز به یه سری جزئیات داره.

سید حمید حق پرست
یک شنبه 24 آذر 1392, 17:53 عصر
سلام علیکم
بفرما عزیز، اون سورس Take a Picture توی تاپیک که آدرس دادی ویرایش کردم، الان عکس بصورت jpg و حجم کم ذخیره میکنه
موفق باشید.

یا علی (ع)