ورود

View Full Version : سوال: عکس گرفتن از دسکتاپ و ذخیره آن درPicture



mazdaxx
دوشنبه 21 بهمن 1387, 19:27 عصر
با سلام :
چه طور می شه از دسکتاپ عکس گرفت و اون رو تو خاصیت Picture ذخیره کرد و چه طور از زیر فرم دقیقآ از زیر فرم (به طوری فرم محو بشه )عکس بگیریم
با سورس کمک کنید

mazdaxx
سه شنبه 22 بهمن 1387, 06:47 صبح
اگه میشه کمک کنید چون واسم خیلی حیاتی

xxxxx_xxxxx
سه شنبه 22 بهمن 1387, 11:19 صبح
در مورد عكس گرفتن از صفحه كه قبلاً بحث شده، مي تونيد جستجو كنيد.

ولي براي اين كه دقيقا از پشت فرم عكس بگيريد:
شما وقتي از صفحه عكس مي گيريد بايد اونو از طريق هندل يك شي بهش وارد كنيد. دقت كنيد كه شي Image فاقد هندل هست پس براي اين كار از شي Picture استفاده مي كنيد.

براي قرار گرفتن عكس داخل شي Picture نيازي به Visible بودن نداره پس شما اونو مخفي كنيد و ابعاد اونو دقيقاً به اندازه فرم در آوريد.
علاوه بر اين شما مي بايست مختصات اون قسمتي كه مي خوايد عكس بگيريد رو هم يه دست آوريد براي اين كار از Screen استفاده كنيد(Screen.Height و Screen.Width).
حالا كه همه چي رو آماده كرديد وقت عكس گرفتن رسيده به اندازه چند ميلي ثانيه فرم رو Hide كنيد و عكس بگيريد و سپس فرم رو Show كنيد.

دقت كنيد عكس گرفتن زماني كه cpu خيلي فعال باشه كمي با تاخير انجام ميشه پس اون زمان مخفي بودن فرم رو به گونه اي تنظيم كنيد كه مشكلي به وجو نياد.

موفق باشيد/

mazdaxx
چهارشنبه 23 بهمن 1387, 07:32 صبح
با سلام :
(با تشکراز توجهتون) از اونجای من تازه کارم خوب متوجه نشودم ولی می دونم که این جواب منه اگه مشه یه سورس ازش واسم بزاید

Pr0grammer
چهارشنبه 23 بهمن 1387, 08:12 صبح
ببینید این Sample به دردتون می خوره؟!

mazdaxx
پنج شنبه 24 بهمن 1387, 06:31 صبح
ببینید این Sample به دردتون می خوره؟!

ممنون از توجهتون ولی مثل اینکه کامپونتش مشکل داشت بازش نمی کنه

xxxxx_xxxxx
پنج شنبه 24 بهمن 1387, 12:10 عصر
ممنون از توجهتون ولی مثل اینکه کامپونتش مشکل داشت بازش نمی کنه

دوست عزيز Ctrl+T بزنيد و ocx رو از اونجا اضافه كنيد. و اين كه اين برنامه نميتونه به شما كمكي كنه. چون دستورات مربوط به عكس گرفتن از صفحه نمايش و تنظيماتش همه تو ocx هست و شما نمي تونيد تغييرش بديد.

mazdaxx
جمعه 25 بهمن 1387, 07:28 صبح
دوست عزيز Ctrl+T بزنيد و ocx رو از اونجا اضافه كنيد. و اين كه اين برنامه نميتونه به شما كمكي كنه. چون دستورات مربوط به عكس گرفتن از صفحه نمايش و تنظيماتش همه تو ocx هست و شما نمي تونيد تغييرش بديد.

با سلام :
خوب اگه می شه خودتون با اون روشی که گفتید کمک کنید (با سورس حتمآ) خیلی واسم مهمه لطف کنید وکمک کنید

xxxxx_xxxxx
جمعه 25 بهمن 1387, 18:14 عصر
بسيار خوب دوست عزيز.
پس ابتدا ماژول زير را دانلود كنيد و به برنامه تان اضافه كنيد.

حالا در فرم اصلي يك CommandButton و يك Picture قرار دهيد.
خاصيت visible براي picture را false كنيد. (true هم باشد مشكلي نيست)
و كدهاي زير را در فرم وارد كنيد:


Private Sub Command1_Click()
Picture1.Cls
Me.Hide
For i = 0 To 100000
DoEvents
Next i
Set Picture1.Picture = CaptureWindow(Me.hWnd, False, 0, 0, Me.Width \ Screen.TwipsPerPixelX, Me.Height \ Screen.TwipsPerPixelY)
DoEvents
SavePicture Picture1.Picture, "c:\Cpature.bmp"
Me.Show
End Sub
مطمئناً نيازي به توضيح نداره چون توضيحات رو تو پست اول دادم.

موفق باشيد/

mazdaxx
شنبه 26 بهمن 1387, 06:02 صبح
بسيار خوب دوست عزيز.
پس ابتدا ماژول زير را دانلود كنيد و به برنامه تان اضافه كنيد.

حالا در فرم اصلي يك CommandButton و يك Picture قرار دهيد.
خاصيت visible براي picture را false كنيد. (true هم باشد مشكلي نيست)
و كدهاي زير را در فرم وارد كنيد:


Private Sub Command1_Click()
Picture1.Cls
Me.Hide
For i = 0 To 100000
DoEvents
Next i
Set Picture1.Picture = CaptureWindow(Me.hWnd, False, 0, 0, Me.Width \ Screen.TwipsPerPixelX, Me.Height \ Screen.TwipsPerPixelY)
DoEvents
SavePicture Picture1.Picture, "c:\Cpature.bmp"
Me.Show
End Sub
مطمئناً نيازي به توضيح نداره چون توضيحات رو تو پست اول دادم.

موفق باشيد/

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

bahar_engineer
چهارشنبه 14 مرداد 1388, 11:55 صبح
ببینید این Sample به دردتون می خوره؟!


کسی می دونه چطور می شه از این فایل استفاده کرد؟

می خوام از یه groupbox عکس بگیرم و ذخیره کنم...

xxxxx_xxxxx
چهارشنبه 14 مرداد 1388, 13:58 عصر
کسی می دونه چطور می شه از این فایل استفاده کرد؟

می خوام از یه groupbox عکس بگیرم و ذخیره کنم...

توش كه Sample هست و نحوه استفاده اش معلومه!
اما اين ocx تنها قادر هست از كل صفحه نمايش عكس بگيره. براي اين كه از يك محدوه مشخص يا آبجكتي كه داراي هندل باشه عكس بگيريد بايد از كدهاي پست نهم (http://barnamenevis.org/forum/showpost.php?p=678930&postcount=9) استفاده كنيد.

tnmsoft
یک شنبه 19 اردیبهشت 1389, 21:44 عصر
دوستان اینم سورس خیلی توپ و فارسی برای عکس گرفتن از صفحه نمایش
امید وارم خوشتون بیاد

لینک دانلود (http://www.barnamenevisan.net/showthread.php?t=74)