SimpsoN_Bart Posted June 25, 2012 Share Posted June 25, 2012 (edited) [font="Tahoma"]Bu projeyi uzun zaman önce hazırlamıştım o zaman kimsenin böyle bir çalışması yoktu.Şimdilerde modası geçti ama ufak birkaç düzenleme ile yayınlamaya karar verdim.Umarım yararlı olur.[/font] [font="Tahoma"][color="#ff0000"]Nedir Tnc Screen Capture v1.0 ?[/color][/font] [font="Tahoma"]Bu program hızlı bir şekilde ekran görüntüsü almaya ve anında kaydetme özelliğine sahiptir.[/font] [font="Tahoma"][color="#ff0000"]Gerekli Açıklamalar:[/color][/font] [font="Tahoma"]Programın isteğiniz gibi ayarlarını yapıp kaydedebilirsiniz.Yaptığını ayarlar .ini dosyasında kaydedilir.[/font] [font="Tahoma"]Kullanımı Basittir ve Günlük Hayatınızda Çok işinize Yarar.[/font] [font="Tahoma"]Basit bir arayüze sahiptir ve kullanıcı dostudur.[/font] [font="Tahoma"]Portabledir.Kurulum yapmanıza gerek yoktur.[/font] [font="Tahoma"]Program Autoit v3.3.6.1 Script ile hazırlanmıştır.[/font] [font="Tahoma"]Boyutu yaklaşık olarak 439 KB'dir.[/font] [font="Tahoma"]Program Tnctr kullanıcıları için hazırlanmıştır.[/font] [font="Tahoma"]Yeni başlayanlar için kaynak kodları da koydum ama (ç)alıntı yapmazsanız sevinirim.[/font] [font="Tahoma"]GUI Design ve Programming SimpsoN_Bart[/font] [font="Tahoma"][color="#ff0000"]Tnc Screen Capture v1.0 Sürüm Notları ve Özellikler:[/color][/font] [font="Tahoma"]1- İlk sürüm çıkarıldı.[/font] [font="Tahoma"]2 - Kapanış Efekti[/font] [font="Tahoma"]3 - Seçenekler bölümünde Resimlerin Kayıt yeri , Kayıt biçimi ve diğer önemli ayarlar.Ayrıca bkz.[/font] [font="Tahoma"]4 - Yapılan bu ayarların .ini dosyasında kaydedilmesi.[/font] [font="Tahoma"]5 - Ana pencerede görünen pencere adları ve handle değerleri.[/font] [font="Tahoma"]6 - Seçilen pencereye hızlı bir şekilde ekran görüntüsü alma.([/font][font="Tahoma"]Gizli pencerelere de buna dahil[/font][font="Tahoma"])[/font] [font="Tahoma"]7 - Çekilen resimlerde adlandırmaların pencere adı ve yıl, ay, gün, saat, dakika, zaman ile olması.[/font] [font="Tahoma"]8 - [/font][font="Tahoma"]ESC Tuşu ile kolayca programı kapatma[/font][font="Tahoma"] .[/font] [font="Tahoma"]9 - [/font][font="Tahoma"]XP,VISTA,WIN7 platforumlarında çalışabilme gibi işlevleri bulunmaktadır.[/font] [font="Tahoma"]JPG Kalitesi konusunda uğraşan dostum MostWanted'a ve Büyük Üstad Blue_life Teşekkür Ederim. [/font] [font="Tahoma"][color="#ff0000"]Programdan Görüntüler:[/color][/font] [color="#445563"][font="Tahoma"][img]http://i.imgur.com/b6j5V.png[/img][/font][/color] [color="#445563"] [font="Tahoma"][img]http://i.imgur.com/8p9C0.png[/img][/font][/color] [color="#445563"] [font="Tahoma"][img]http://i.imgur.com/KOUoM.png[/img][/font][/color] [color="#445563"][font="Tahoma"]İndirme Linki[/font][/color] [color="#445563"][font="Tahoma"][code]https://www.box.com/s/8a83f68ce117f4a85c1f[/code][/font][/color] [color="#445563"] [font="Tahoma"][img]http://i.imgur.com/v7AIV.png[/img] [/font][/color] Edited June 25, 2012 by SimpsoN_Bart Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted June 25, 2012 Share Posted June 25, 2012 [color="#8B0000"][font="Lucida Sans Unicode"]Geliştirirsen güzel birşey çıkar. Bunu beraber geliştirelim. Ama senin gibi bi grafikere böyle GUI yakışmıyor Daha güzel bi arayüz bekliyoruz senden.[/font][/color] Quote Link to comment Share on other sites More sharing options...
SimpsoN_Bart Posted June 25, 2012 Author Share Posted June 25, 2012 [font="Tahoma"]Bununla çok zaman kaybettim zaten bayağı geliştirmeyi düşünüyordum ama demode oldu artık diğer çalışmalara da zaman ayırmalıyım.GUI Konusunda evet basit oldu bende farkındayım ama dediğim gibi sürüm çıkarmayacağım kaynak kodları pakette mevcut senin gibi işin mantığını çözen adamlar gelişttirsin artık [/font] Quote Link to comment Share on other sites More sharing options...
Editor MOTUN Posted June 25, 2012 Editor Share Posted June 25, 2012 ayarlamayı yapıp kaydettiğim halde; masaüstünde oluşturduğum klasör yerine direk masaüstüne kaydediyor.. nerede hata yapıyorum ? Quote Link to comment Share on other sites More sharing options...
SimpsoN_Bart Posted June 25, 2012 Author Share Posted June 25, 2012 [font="Tahoma"]MOTUN Hocam evet bende farkettim öyle bir hata mevcut, ilk sürüm hatalar var zaten böyle dandik hataların farkında olduğum için projeyi bu şekilde yarıda bırakarak paylaştım.Eğer rağbet ve gerçekten ihtiyaç olursa ilerki zamanlarda vaktim olduğunca hataları gidermeye çalışırım.Ama şuan gerçekten bu proje için yapacağım bişe yok gibi [/font] [font="Tahoma"]Not : Bu hatayı akşam işlerimi halledince adüzeltirim.[/font] Quote Link to comment Share on other sites More sharing options...
Editor MOTUN Posted June 25, 2012 Editor Share Posted June 25, 2012 bu hali ilede işimi görür, ellerine sağlık foto. mak. sesinide sevdim Quote Link to comment Share on other sites More sharing options...
SimpsoN_Bart Posted June 25, 2012 Author Share Posted June 25, 2012 [font="Tahoma"]Teşekkürler Hocam şimdi farkettim önce isteğiniz yere klasör oluşturun sonra .ini dosyasından oluşturduğunuz yolun sonuna \ koyun sorun kalkıyor.[/font] [font="Tahoma"]Misal Directory=C:\Users\ASUS\Desktop\sdadadasd\ klasörünün içine atıyor görüntüleri hallederiz onu ufak bir sorun. [/font] Quote Link to comment Share on other sites More sharing options...
Editor MOTUN Posted June 25, 2012 Editor Share Posted June 25, 2012 eyvallah, mesele halloldu hayrına birde tuş atasan da simge konumuna aldığımızda tek tuşla çekim yapabilsek çok şey mi istedim ne Quote Link to comment Share on other sites More sharing options...
SimpsoN_Bart Posted June 25, 2012 Author Share Posted June 25, 2012 [font="Tahoma"]Aklımda olan fikirlerdi bunlar ama dediğim gibi çok zaman ayırdım buna pek üzerine gitmem diye düşünüyorum.Ona bakarsan ben çekilen resmi birkaç sunucuya upload da yaptıracaktım ama hikaye oldu [/font] Quote Link to comment Share on other sites More sharing options...
hatmeto Posted March 18, 2013 Share Posted March 18, 2013 Arkadaşlar konu devam ediyor mu? Mesela resim almak istediğimiz programın koordinatlarını girsek. ve o koordinatları alsa olmaz mı? Quote Link to comment Share on other sites More sharing options...
Cyph3r Posted March 18, 2013 Share Posted March 18, 2013 Arkadaşlar konu devam ediyor mu? Mesela resim almak istediğimiz programın koordinatlarını girsek. ve o koordinatları alsa olmaz mı? Aga naaptın yaa? :blink: program sanki pasifik okyanusunda da koordinat girip ekran görüntüsünü alacan :D açık olan program pencerelerini tanıyormuş zaten program ona göre ekran görüntüsünü verir. Koordinat ve elle seçme derdi yok. Umarım yanlış anlamadım demek istediğini.... Quote Link to comment Share on other sites More sharing options...
SimpsoN_Bart Posted March 19, 2013 Author Share Posted March 19, 2013 (edited) Arkadaşlar konu devam ediyor mu? Mesela resim almak istediğimiz programın koordinatlarını girsek. ve o koordinatları alsa olmaz mı? O dediğin özellik bu programda yok gülüm ya :D Program sadece windows pencerelerin görüntüsünü alıp kaydediyor. Senin dediğin olay sanırım elle seçim şeklinde yani mouse wrap onu da belirli alanları kendin seciyorsun sonra kaydediyor.Bu özelliği programa koymadım ama kodlamada birine yardım ettiğimi hatırlıyorum.Kadim dostum DivaneTR nin konularına bakarsan isteğin özellikli programı bulabilirsin. Edit : Program ismi Ekran Alıntı aracı gibi bişey olması lazımdı. Aga naaptın yaa? :blink: program sanki pasifik okyanusunda da koordinat girip ekran görüntüsünü alacan :D açık olan program pencerelerini tanıyormuş zaten program ona göre ekran görüntüsünü verir. Koordinat ve elle seçme derdi yok. Umarım yanlış anlamadım demek istediğini.... Yalnız pasifik okyanusu iyiydi :D Edited March 19, 2013 by SimpsoN_Bart Quote Link to comment Share on other sites More sharing options...
canavar123 Posted July 15, 2014 Share Posted July 15, 2014 Şu an bile gördüğüm en iyi program Quote Link to comment Share on other sites More sharing options...
mesale0077 Posted August 14, 2014 Share Posted August 14, 2014 (edited) Tnc screen capture güzel düşünülmüş bir çalışma olmuş . belirli alanın resmini almaya yarayan örnek bir kod. prtsc tuşu ile ekran görüntüsünü alıyorsunuz seçim alanı kendinize göre ayarlayabiliyorsunuz. [spoiler] #include <WindowsConstants.au3> #include <Misc.au3> #include <WinAPI.au3> #include <ScreenCapture.au3> #include <ClipBoard.au3> #include <ColorConstants.au3> #include <Constants.au3> ; Settings Global $_fShowMousePos = True, $_fShowRectSize = True, $_fHideDesktop = False, $_fHideTaskBar = False If HotKeySet("{PRINTSCREEN}", "resimal") = 0 Then MsgBox($MB_SYSTEMMODAL, "", "kısayol anahtarı kullanılmadı!") Exit 1 EndIf HotKeySet("^+{3}", "resimal") ;PrintScreen While 1 Sleep(10000) ;10 sec WEnd Func resimal() Local $iX1 = 0, $iY1 = 0, $iX2 = 0, $iY2 = 0 Local $hGUICapture = 0 Mark_Rect($hGUICapture, $iX1, $iY1, $iX2, $iY2) Local $hBitmap = _ScreenCapture_CaptureWnd(@YEAR&@MIN&@SEC&".jpg", $hGUICapture, $iX1, $iY1, $iX2, $iY2, False) GUIDelete($hGUICapture) Local $fOpenCb = _ClipBoard_Open(0) If Not $fOpenCb Then MsgBox($MB_SYSTEMMODAL, "", "Kopyalama panosuna eklenmedi !") Return False EndIf _ClipBoard_Empty() Local $hBitmap3 = _WinAPI_CopyImage($hBitmap, 0, 0, 0, BitOR($LR_COPYDELETEORG, $LR_COPYRETURNORG)) _WinAPI_DeleteObject($hBitmap) _ClipBoard_SetDataEx($hBitmap3, $CF_BITMAP) _ClipBoard_Close() _WinAPI_DeleteObject($hBitmap3) EndFunc ;==>Example Func Mark_Rect(ByRef $hGUICapture, ByRef $iX1, ByRef $iY1, ByRef $iX2, ByRef $iY2) Local $iX_Pos = 0, $iY_Pos = 0, $iTemp = 0, $iWidth = 0, $iHeight = 0 Local $hMask_1 = 0 Local $hWnd = WinGetHandle("[TITLE:Program Manager;CLASS:Progman]") Local $aWgp = WinGetPos($hWnd) If $_fHideDesktop Then ControlHide($hWnd, "", "[CLASS:SysListView32; INSTANCE:1]") EndIf If $_fHideTaskBar Then WinSetState("[CLASS:Shell_TrayWnd]", "", @SW_HIDE) WinSetState("[CLASS:Button]", "", @SW_HIDE) EndIf Local $hBitmap = _ScreenCapture_Capture("", $aWgp[0], $aWgp[1], $aWgp[2], $aWgp[3]) Local $aSize[2] = [$aWgp[2], $aWgp[3]] $aWgp = 0 $hGUICapture = GUICreate("", $aSize[0], $aSize[1], 0, 0, $WS_POPUP, BitOR($WS_EX_TOOLWINDOW, $WS_EX_APPWINDOW, $WS_EX_TOPMOST)) GUISetCursor($IDC_CROSS, 1, $hGUICapture) If $__g_iGDIPRef = 0 Then _GDIPlus_Startup() EndIf Local $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUICapture) Local $hImage = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap) _WinAPI_DeleteObject($hBitmap) WinSetTrans($hGUICapture, "", 0) GUISetState(@SW_SHOWNOACTIVATE, $hGUICapture) _GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0) _GDIPlus_GraphicsDispose($hGraphic) _GDIPlus_ImageDispose($hImage) If $__g_iGDIPRef > 1 Then _GDIPlus_Shutdown() EndIf WinSetTrans($hGUICapture, "", 255) If $_fHideTaskBar Then WinSetState("[CLASS:Button]", "", @SW_SHOWNOACTIVATE) WinSetState("[CLASS:Shell_TrayWnd]", "", @SW_SHOWNOACTIVATE) EndIf If $_fHideDesktop Then ControlShow($hWnd, "", "[CLASS:SysListView32; INSTANCE:1]") EndIf Local $hGUIRect = GUICreate("", $aSize[0], $aSize[1], 0, 0, $WS_POPUP, BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST)) GUISetBkColor($COLOR_BLACK) GUISetCursor($IDC_CROSS, 1, $hGUIRect) _GUICreateInvRect($hGUIRect, $aSize, $hMask_1, 0, 0, 1, 1) WinSetTrans($hGUIRect, "", 75) GUISetState(@SW_SHOWNOACTIVATE, $hGUIRect) Local $hUserDLL = DllOpen("user32.dll") Local $aMgp = 0 Local $fExitLoop = False ; Wait until mouse button pressed While Not _IsPressed("01", $hUserDLL) And Not $fExitLoop If $_fShowMousePos Then $aMgp = MouseGetPos() ToolTip("x: " & $aMgp[0] & ", y: " & $aMgp[1], _ $aMgp[0] + ($aMgp[0] > 100 ? -95 : 10), _ $aMgp[1] + ($aMgp[1] > 50 ? -35 : 10)) EndIf Sleep(10) If _IsPressed("1B", $hUserDLL) Then $fExitLoop = True WEnd If $_fShowMousePos Then ToolTip("") EndIf ; Get first mouse position $aMgp = MouseGetPos() $iX1 = $aMgp[0] $iY1 = $aMgp[1] ; Draw rectangle while mouse button pressed While _IsPressed("01", $hUserDLL) And Not $fExitLoop $aMgp = MouseGetPos() ; Set in correct order if required If $aMgp[0] < $iX1 Then $iX_Pos = $aMgp[0] $iWidth = $iX1 - $aMgp[0] Else $iX_Pos = $iX1 $iWidth = $aMgp[0] - $iX1 EndIf If $aMgp[1] < $iY1 Then $iY_Pos = $aMgp[1] $iHeight = $iY1 - $aMgp[1] Else $iY_Pos = $iY1 $iHeight = $aMgp[1] - $iY1 EndIf _GUICreateInvRect($hGUIRect, $aSize, $hMask_1, $iX_Pos, $iY_Pos, $iWidth, $iHeight) If $_fShowRectSize Then ToolTip("w: " & Abs($aMgp[0] - $iX1) & ", h: " & Abs($aMgp[1] - $iY1), _ $aMgp[0] + ((($aMgp[0] > $aSize[0] - 100 Or ($aMgp[0] - $iX1 < 0 And $aMgp[1] - $iY1 < 0)) And $aMgp[0] > 100) ? -95 : 10), _ $aMgp[1] + ((($aMgp[1] > $aSize[1] - 40 Or ($aMgp[0] - $iX1 < 0 And $aMgp[1] - $iY1 < 0)) And $aMgp[1] > 40) ? -35 : 10)) EndIf Sleep(10) If _IsPressed("1B", $hUserDLL) Then $fExitLoop = True WEnd If $_fShowRectSize Then ToolTip("") EndIf _WinAPI_DeleteObject($hMask_1) ; Get second mouse position $iX2 = $aMgp[0] $iY2 = $aMgp[1] ; Set in correct order if required If $iX2 < $iX1 Then $iTemp = $iX1 $iX1 = $iX2 $iX2 = $iTemp EndIf If $iY2 < $iY1 Then $iTemp = $iY1 $iY1 = $iY2 $iY2 = $iTemp EndIf GUIDelete($hGUIRect) DllClose($hUserDLL) EndFunc ;==>Mark_Rect Func _GUICreateInvRect($hWnd, $aSize, ByRef $hMask_1, $iX, $iY, $iW, $iH) Local $hMask_2 = 0, $hMask_3 = 0, $hMask_4 = 0 $hMask_1 = _WinAPI_CreateRectRgn(0, 0, $aSize[0], $iY) $hMask_2 = _WinAPI_CreateRectRgn(0, 0, $iX, $aSize[1]) $hMask_3 = _WinAPI_CreateRectRgn($iX + $iW, 0, $aSize[0], $aSize[1]) $hMask_4 = _WinAPI_CreateRectRgn(0, $iY + $iH, $aSize[0], $aSize[1]) _WinAPI_CombineRgn($hMask_1, $hMask_1, $hMask_2, 2) _WinAPI_CombineRgn($hMask_1, $hMask_1, $hMask_3, 2) _WinAPI_CombineRgn($hMask_1, $hMask_1, $hMask_4, 2) _WinAPI_DeleteObject($hMask_2) _WinAPI_DeleteObject($hMask_3) _WinAPI_DeleteObject($hMask_4) _WinAPI_SetWindowRgn($hWnd, $hMask_1, 1) EndFunc ;==>_GUICreateInvRect [/spoiler] Edited August 14, 2014 by mesale0077 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.