![]() |
一個簡單到只要隨便"估狗"都可以免費下載的程式
我想應該沒有人會這麼閒吧
一個可以從網路隨便下載的免費軟體 甚至功力強一點的,找個試用版的,然後再找啟用碼把它變成完整版 就是這麼簡單,但有人就偏偏喜歡自己寫一個 而到底是怎樣的程式 "螢幕畫面擷取程式",就是把目前螢幕的畫面存程圖片檔 最簡單的方式就是按"PrtScr鍵,然後到小畫家貼上就行了 就是這麼簡單,雖然有一些小小的缺憾,就是沒有游標 但很多免費的小工具,也都具備這樣的功能 其實小王子也有從網路上找到一個叫做HyperSnap的截圖工具 只是小王子只是想要簡單的功能,而HyperSnap功能太過於強大,強大到小王子有股衝動想要設計一個類似的操作介面,但就只有截圖功能的程式 會程式設計的人都會有這種毛病嗎?還是說程式設計只是用在工作上 想當初DOS時代,會學BASIC的人,大部分都是把程式設計當玩具玩的,至少小王子是這樣 自從上次Basic設計完後,小王子最近又閒到想設計一個"螢幕畫面擷取"的小工具 而會想設計是因為上次再寫工作操作說明手冊時,為了截取螢幕操作畫面,所以用的HyperSnap 結果覺得這軟體非常好用,但有很多操作的動作,讓小王子覺得礙手礙腳的,而想要自己設計一個... |
以前在WinXP+VB6 時有接觸過螢幕截圖
找了一下還蠻單純的 使用三個 WinAPI Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long Private Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hDC As Long) As Long 程式碼: PHP 語法:
只要看得懂要翻譯成C/C++應該很簡單 HyperSnap 除了截圖 就是喜好他的畫箭頭與文字框 拿來製作簡單的說明用圖解很好用 不過覺得要用向量製圖還是首推 Corel Draw 或 Adobe Illustrator 只是屬於大型套裝軟體開啟速度不如HyperSnap 所以目前還是偏好HyperSnap |
有這麼好用的語法喔:on_16::on_16::on_16:
這是用vb 2008完全不用引用API PHP 語法:
PHP 語法:
PHP 語法:
|
這是BCB用API的程式碼而且還利用GetCursorInfo()取得游標資訊,加入游標,這部分在.NET還找不到程式碼
PHP 語法:
|
抓游標?
取得游標的座標後 再把 游標的圖 事後合成上去就可以了 (應該是這樣...?) |
迪西都用 FSCapture 免費版的說 ...,該有的功能都有 ...
DOS 時代則是用遊戲修改工具內附的抓圖工具 ... |
引用:
然後監視剪貼簿,只要有人按下PrtScr鍵,程式就會將資料取出,加入游標,顯示出來 或將自己隱藏,重新擷取畫面,加入游標 因為程式是"執行中",所以不需要將資料再存回剪貼簿 |
想請問可有簡單的網頁版通訊錄管理
|
引用:
安卓手機 換機換號 不用煩惱,直接從 Gmail 通訊錄下載聯絡人即可。 |
我都用PicPick來截圖...可以設定截取游標
|
引用:
好幾種相比,FastStone Capture 免費版的程式容量不大 ... 像是股溝軟體的還有結合「雲端」... 抓玩直接上傳 ... 而外附帶相片管理 另外有幾家的是,抓成動畫檔兼錄音加字幕 ... 格式有 AVI 或是 SWF 或是 GIF 格式 ... 哪種好用 ... 能達到目的解決問題的就是好用 ... |
如果將BitBlt 改成 StretchBlt
就可以翻轉 與 縮放 Declare Function StretchBlt Lib "gdi32" Alias "StretchBlt" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long 以下是將WinAPI與.NET的畫布概念之混和修改 PHP 語法:
|
引用:
|
引用:
|
引用:
|
引用:
|
程式已經"粗略"寫好了,有人有興趣測試看看嗎
不過剛剛測試了一下還有一些問題,就是再簡易編輯時,因為掃描剪貼簿沒關掉 導致剪下或複製的資料會被清除,所以簡易編輯時,要把掃描剪貼簿關掉 還有就是記憶體分配問題沒考慮進去,所以造成圖片閃爍嚴重 https://mega.nz/#!2M5znZpQ!GSY_y3Ibk..._XzuL9rX9qgCtk |
引用:
來找我重灌電腦...說給你重灌電腦不錯喔...重灌一次可以兩三年重灌一次 我對她說...你只有重灌才會出現在我家 結果她回...我們不是朋友嗎 兩三年才見一次...重灌完就拿回家看韓劇...那次重灌後...我就叫她別來找我了 |
引用:
|
引用:
|
引用:
不要放在 MOUSEMOVE裡會比較好 因為一來MOUSEMOVE觸發時間間隔是不穩的 二來過於平凡的大面積記憶體空間 宣告又回收 感覺是很費工的(可以改放在抓圖後與程式結束) 最後 總覺得會閃爍 最大問題是出在 Refresh 放在 MOUSEMOVE裡 如何解決 因為沒有編譯器也沒法驗證 |
引用:
|
引用:
|
好像是使用多重視窗造成的
晚上小弟再分享第一次設計的程式,完全就沒有閃爍的狀況 |
引用:
早抱孫了...... 不過我也好不到哪去~~~我一灌用6年....機器都淘汰了還不壞:on_36: |
|
引用:
不過程式裡有很多效果都是手動的,所以很怕這樣改會影響到程式的一些功能 |
引用:
|
https://mega.nz/#!6VA2DIAZ!5kBOQTEl1...MxbPOz3UQk-Gvc
好了,這大概是小王子最滿意的成品吧 不過仍有一些Bug在,目前知道的就是如果圖是在1:1的狀態下修改,顯示會亂掉,不過小王子有想到原因,可惜想到時已經下班了,來不及修改 原因是程式為了處理再縮圖時也能繪圖,所以用了兩個圖片庫,一個是存放正常大小的圖,一個是縮小或放大的圖,縮小圖會顯示在畫面,當使用者在上面做圖時,就會對應到正常圖上,但如果是1:1,那就不需要縮小圖,但上一個縮小圖的資料還在,所以就會出問題 另外一個是在剪裁時,會出現問題,原因還沒想到 不可思議的題外話 老實說會寫成這個程式有點不可思議,因為小王子在完成這個程式之前,已經寫過快十個失敗的程式(其實是不滿意),每次只要不滿意,小王子就會放棄,然後重開一個新的Project重寫,其實現在小王子寫程式都養成這個壞習慣(含程式命名) 然而在開始寫這個程式的前一天晚上,小王子練習了一個小魔術,結果隔天,小王子很輕鬆的就解決在縮圖繪圖的程式碼邏輯 或許是胡思亂想吧,但小王子覺得"長輩"一直再督促小王子學魔術,這段時間一直寫不出好程式,可能也是受到影響吧(以練習魔術來說,只要中間過程有一點小疏忽,就要重新來過的道理一樣的) 有了這樣的想法,自己反而覺得開心,自從知道這件秘密後,就一直希望能夠接受"長輩"教導,可惜已經沒機會了,但現在有這樣的感覺,也是很開心的 |
那個時鐘旁的 [ab]鈕是甚麼作用?
窗體不見了要用工作管理員才能終結... 以前寫程式都要用英文取 變數/物件Name (英文詞窮有時寫完還真的會不知是啥作用~) 後來.NET可以用中文 覺得這一點蠻方便的 個人寫程式就與魔王不同 捨棄的程式碼大多只會註解掉(留做一個經驗) 還有 畢竟要重開一個專案重新規劃窗體太費工夫了 以前學校是教畫功能圖 但自己幾乎從沒這樣照本宣科過 一切是以實現 窗體的表面功能為開始 覺得寫程式最常遇到最花腦的地方就是 如何利用簡單的數學計算實現功能 時常差這麼個 1 就會不對位 其實只要筆寫在紙上應該就能好過些 但就是習慣都在腦裡想... |
引用:
第一個按鈕打算設計成"常駐"式,然後一直監控剪貼簿,並再trayicon放一個圖示來控制程式 其實我也是很常用remark,但多了會影響到思索邏輯 有時新的邏輯靈感來時常常會被原有的程式碼導亂或誤導影響邏輯,所以不如重新來過 這些問題下禮拜整個程式都寫好後,會再加入提示訊息的 |
|
尺寸縮減 看起來怪怪的
|
引用:
|
發現「調整尺寸」不可思議的bug,已經改好了,晚上再放上來,不知是否還有其他bug
|
https://mega.nz/#!WIJVnL6A!H3qdr9k8z...K55xP06jG2X4_8
尺寸縮小部分有修改了,由於並未加入尺寸是否超出視窗範圍進行Fit或顯示原尺寸的判斷 所以縮小後,若尺寸小於顯示視窗,程式就會將圖片放大(看起來就會怪怪的) 另外新加入的旋轉及翻轉功能,是抄襲書籍的,而書籍出版的年代是windows 98,所以在解析度上會失真,這只是跟大家說一下,有這種技術 |
https://mega.nz/#!iZYDzTzY!0wbXvvH6x...bcH5Ttz_Q4gRow
為了解決自動調整圖片檢視尺寸的問題小王子再度將程式重新設計,這也是小王子設計程式的習慣之一 當程式碼越來越複雜時,只好另起新專案將程式重寫,或將新構想在新專案上設計好後再寫回原程式 而小王子會選擇重寫的原因是圖片檢視大小的程式碼仍有很大的問題,利用重寫將程式碼再重新思考,另外定時擷取只能使用一次的問題下禮拜改進 程式重寫後,大部分功能仍沿用原來的程式碼,只是其他功能是否完整,就不得而知,這次改寫還有一個地方本來也要改進的就是自動偵測圖片高度及寬度(檢視百分比旁的兩個按鈕),可惜這幾天太忙了,來不及完成,只好等待下禮拜 這個程式算是小王子離開程式設計領域的"告別作",所以希望力求完美,而且裡面有很多都是自己這段時間所學到的技術,也順便分享給大家 |
https://mega.nz/#!rBhRlKJC!p_4wgogKa...2R9ggGcdTxpMg8
這應該是最後的版本了 不過小王子又額外加了三個功能 第一個是基本的開啟圖檔本來試不打算加入這個功能的因為這是一個螢幕畫面擷取程式,加了開啟的功能怕會變成袖珍版的小畫家 第二個是拖曳的功能,就是可以將圖檔從檔案總管或桌面托到程式視窗上(程式必須在執行中),程式就會開啟檔案(而且可以多個檔案) 第三個是將選擇的圖檔會到剪貼簿上這在小王子的工作上相當常用,往往需要將照好的照片貼到Wrod編輯,這時就必須要開啟小畫家,而且若圖檔解析度高,還必須將圖檔縮小在圈選複製到剪貼簿這功能可以讓你直接選擇圖檔,然後就傳到剪貼簿裡 目前這個程式大概就這樣啦,設計有點粗枝大葉的如果你喜歡這個構想,或裡面某段程式碼,歡迎你將它重新設計,變成你自己的工具 也許未來小王子可能又會再重新設計一個新的(因為太過於粗枝大葉了),相信那時還是會分享給大家的 |
| 所有時間均為台北時間。現在的時間是 11:32 PM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *