閑談
博主使用的Markdown編輯器是 Cmd Markdown 每次粘貼截圖都是非常的麻煩:
將截圖保存到本地 --> 上傳到服務器 --> 引用鏈接
當然,也可以使用 Cmd Markdown 的服務器,不過要會員: 99/年。
作為學生的我現在是能省就省(畢竟又不是我自己的錢)
最近看到一篇文章,簡化markdown寫作中的貼圖流程,不過是 mac系統 的。其中有提到一個關鍵詞 AutoHotKey ,這是windows下使用快捷鍵的。
接下來的幾天開始研究 AutoHotKey,發現這種腳本還是比較好玩的,不但是快捷鍵、桌面繪圖和控件都有相關的庫。
現在博主主要的問題還是在如果把剪切板的截圖轉換成圖片,找了很久,還是沒有找到相關的資料,本來是想實在找不到,就自己寫一個截圖工具(從根本上截圖問題),那是還是太天真了。雖然到最后可以實現 截圖,但是不想QQ截圖那樣,在截圖的時候,桌面上多了一層圖層,在截圖的時候不會點擊到圖層下面的文件、內容的。博主的這個還是會有點擊、和拖動事件的比較麻煩。
在偶然的情況下,發現了一個非常有用的函數 <code>Gdip_CreateBitmapFromClipboard()</code>,一下了解決了問題。這下可以直接從獲取剪切板的截圖了。
代碼
倉庫:github地址
32位系統用 Gdip.ahk
64為系統用 Gdip_All.ahk
createPic(PicPath)
{
pToken := Gdip_Startup() ; Start gdi+
; pBitmapAlpha := Gdip_CreateBitmapFromFile(PicPath)
;pBitmapAlpha := Gdip_BitmapFromScreen(0, "")
;pBitmapAlpha := Gdip_BitmapFromScreen(x "|" y "|" width "|" height)
;從剪切板直接獲取位圖
pBitmapAlpha := Gdip_CreateBitmapFromClipboard()
;圖片的寬度
ImgWidth := Gdip_GetImageWidth(pBitmapAlpha) ; 獲取寬度,高度,可省略
;圖片的高度
ImgHeight := Gdip_GetImageHeight(pBitmapAlpha)
;保存圖片到指定的位置
Gdip_SaveBitmapToFile(pBitmapAlpha, PicPath,"255") ;第三個參數控制圖片質量
Gdip_DisposeImage(pBitmapAlpha)
Gdip_Shutdown(pToken) ; close gdi+
Traytip, 截圖完畢:, 寬: %ImgWidth% 高: %ImgHeight%`n保存為: %PicPath%
}
;按ctrl + F2 發布圖片
^F2::
run,cmd /c cd /D %hexoPath% & hexo g & hexo d
return
;按ctrl + F1 保存截圖,并 輸入 markdown 的圖片格式
^F1::
; 保存圖片的位置和格式
FormatTime, currentFilenameFormat, A_Now, %filenameFormat%
savePath := PicPath . currentFilenameFormat . "." . imageFormat
saveHttpPath := httpPath . currentFilenameFormat . "." . imageFormat
createPic(savePath)
clipboard := ""
send, ^v
if isPushWhenSave
send, ^n
return
演示
image