PDA

View Full Version : ذخیره عکس با فرمت Jpg و ذخیره کردن در آدرس لخواه



veyoos
دوشنبه 13 مرداد 1393, 20:13 عصر
میخواستم برنامه ایی بنویستم که کاربر با فشردن یک کلید عکس رو از صفحه مانیتور بگیره و توی آدرس دلخواهش ذخیره کنه
.
یک سری کد نوشتم ولی کاربر نمیتونه آدرس ذخیره رو وارد کنه
.
اگه کسی میتونه کمک کنه ممنون میشم . . .


Private Sub SavePictureBox()
Dim Path As String, hWnd As Long, hDC As Long
Dim Bmp2Jpg As String, Filename As String, Perspols As String
Filename = "T.Perspolis" + "-" + "(" + Format(Now, "yyyy-mm-dd)-(SS)")
Path = App.Path & IIf(Right(App.Path, 1) = "\", "", "\") & Filename
Bmp2Jpg = App.Path & IIf(Right(App.Path, 1) = "\", "", "\") & "bmp2jpg.bat"
hWnd = GetDesktopWindow
hDC = GetDC(hWnd)
With Picture1
BitBlt .hDC, 0, 0, .ScaleWidth, .ScaleHeight, hDC, 0, 0, vbSrcCopy
DoEvents
SavePicture Picture1.Image, Path & ".bmp"
DoEvents
ShellExecute Me.hWnd, "open", Bmp2Jpg, Filename, vbNullString, 0
End With
ReleaseDC hWnd, hDC
MsgBox "Saved"
End Sub

hmbarnamenevis
سه شنبه 14 مرداد 1393, 10:04 صبح
با کنترل CommonDialog مسیر را از کاربر بگیر و با آن مسیر عکس را ذخیره کن.

veyoos
چهارشنبه 15 مرداد 1393, 15:17 عصر
با کنترل CommonDialog مسیر را از کاربر بگیر و با آن مسیر عکس را ذخیره کن.

اگه میشه با توجه به کد ، کد داخل CommonDialog رو بگید . . . ؟
.
هر کاری میکنم با فرمت BMP و حجم زیاد ذخیره میشه . . .

hmbarnamenevis
چهارشنبه 15 مرداد 1393, 17:29 عصر
CommonDialog1.Filter = "Bitmap (*.bmp)|*.bmp|Jpeg (*.jpg)|*.jpg"
CommonDialog1.ShowSave
If CommonDialog1.Filename <> "" Then
If CommonDialog1.FilterIndex = 1 Then 'bitmap
'save with BMP
Else
'save with JPG
End If
End If

در مورد کم کردن حجم فایل به این تاپیک مراجعه کن: رجوع (http://barnamenevis.org/showthread.php?430636-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%B9%DA%A9%D8%B3%D9%87%D8%A7-%D8%A8%D8%A7-%D8%AD%D8%AC%D9%85-%D8%AF%D9%84%D8%AE%D9%88%D8%A7%D9%87)

ایلیا آخوندزاده
چهارشنبه 15 مرداد 1393, 18:28 عصر
از کامپونیت DBimage استفاده کن

vbhamed
پنج شنبه 16 مرداد 1393, 07:21 صبح
سلام
خود ويژوال بيسيك با فرمت bmp ذخيره مي‌كنه ولي بعد از ذخيره با استفاده از كامپوننت زير مي‌تونيد به jpg يا gif تبديل كنيد

veyoos
جمعه 17 مرداد 1393, 14:08 عصر
منظور منو کلا نگرفتید...

برنامه من اینه میخوام وقتی روی دکمه Save کلیک میکنم به جای ذخیره پیش فرض کنار برنامه جایی که کاربر میخواد ذخیره بشه ...

میخوام تبدیل به JPG هم بشه

الانم تبدیل میشه با یه کامپایلر درستش کردم

vbhamed
شنبه 18 مرداد 1393, 07:18 صبح
سلام
چرا اتفاقا منظور شما رو گرفتيم
در مورد ذخيره شدن در مكان دلخواه كه دوستمون hmbarnamenevis (http://barnamenevis.org/member.php?318330-hmbarnamenevis) عزيز جواب دادن كه بعد شما گفتين به صورت bmp و با حجم زياد ذخيره ميشه و بخاطر همين اون برنامه رو براتون قرار دادم تا بتونيد به jpg تبديل كنيد
اما در كل اينجا بچه ها شما رو راهنمايي مي‌كنند و نبايد انتظار داشته باشيد يك برنامه كامل براتون انجام بشه
راههاي رفع مشكلات شما گفته شده و شما خودتون بايد برنامتون رو با توجه به اين راهنمايي ها كامل كنيد

ضمنا تو روش تبديل شما از يك فايل exe خارجي استفاده شده كه نه ماهيت مشخصي داره نه كنترلي روش داريد مثلا اينكه با چه كيفيتي تبديل كنه و ...، اون فايل dll غير از تعيين كيفيت امكان تبديلات مختلف بين 3 فرمت bmp, jpg, gif رو داره

veyoos
یک شنبه 19 مرداد 1393, 13:25 عصر
با کدی که آقای hmbarnamenevis (http://barnamenevis.org/member.php?318330-hmbarnamenevis) گذاشتن اصلا ذخیره نمیشه . . .

hmbarnamenevis
یک شنبه 19 مرداد 1393, 18:26 عصر
برنامه کامل برای ذخیره با فرمت jpg:
122143

ایلیا آخوندزاده
یک شنبه 02 شهریور 1393, 18:38 عصر
برای save در محل دلخواه باید از CommonDialog استفاده بشه

Rasul75
یک شنبه 02 شهریور 1393, 22:22 عصر
Dim strFilter As StringDim strFileName As String
strFilter = "Bitmaps(*.jpg)|*.jpg"
CommonDialog1
.Filter = strFilter
CommonDialog1
.ShowSave
If
CommonDialog1
.FileName <> "" Then
strFileName =
CommonDialog1
.FileName
SavePicture Picture1.Picture, strFileName
MsgBox strFileName & " saved."
End If