最近做 Windows 上的項目,客戶要求要做的“炫”一點,所以,動態的窗口背景永遠是必不可少的內容(比如手機qq的登錄界面對吧?
我本以為這是一個很容易實現的功能於是就滿口答應下來……是的,在 winform 裡,並不是那麼容易就能達到你想要的效果的。
理所當然,我們想到如果要播放視頻,那麼就用系統自帶的 media player,只要添加一個控件就可以搞定——結果就是播放的視頻要么[……]
最近做 Windows 上的項目,客戶要求要做的“炫”一點,所以,動態的窗口背景永遠是必不可少的內容(比如手機qq的登錄界面對吧?
我本以為這是一個很容易實現的功能於是就滿口答應下來……是的,在 winform 裡,並不是那麼容易就能達到你想要的效果的。
理所當然,我們想到如果要播放視頻,那麼就用系統自帶的 media player,只要添加一個控件就可以搞定——結果就是播放的視頻要么[……]
更新:升級 Ubuntu的 20.04 LTS 後,csf 無法正常工作了,提示找不到 iptables:
1 |
Testing ip_tables/iptable_filter...open3: exec of /sbin/iptables -I OUTPUT -p tcp --dport 9999 -j ACCEPT failed: No such file or directory at /usr/local/csf/bin/csftest.pl line 144. |
這是由於 Ubuntu的 20.04 LTS 更改了 iptables的 相關命令位置導致的,csf 的腳本並沒有及時更新。
1 |
/sbin/iptables → /usr/sbin/iptables |
要解決這個問題,我們可以到[CR[……]
在開發落格輸入法 macOS 版本的時候,我遇到了這麼一個難題,那就是窗口優先級的問題。在之前 如何讓 NSWindow 顯示在不同的 Space 或者 Screen 中 這篇文章中我提到了自己實現了落格輸入法的候選欄,其實是用一個 NSWindow 實現的。那麼既然是一個普通(經過魔改)的 [crayon-6769a6cf4849803810[……]
關於移動手機的開發,目前網絡上主要流行兩種開發軟件,一個是眾所周知的unity(畢竟當年4399小遊戲上面的網絡版Minecraft由它開發,3d引擎沒有任何軟件能夠超越它),另一個是比較小眾化的cocos。cocos佔據著2d遊戲的主要位置,而unity卻佔據著3d遊戲的主要位置。而我們講的coronasdk與cocos一樣為2d遊戲引擎(coronasdk不被人所知主要是因為2010年以前收費[……]
優秀的輸入法,來到了另一個優秀的平台!
雖然它還欠缺很多功能,但我還是迫不及待地分享這美好的東西給你們,落格輸入法終於走上了 MACOS,多年以來,在 macOS 上輸入雙拼是一個噩夢,現在,這個噩夢可以終結了。
除了殘缺棄坑不知道什麼時候就不能用了的手心輸入法 Mac 版、基本上非專業人員不能配的 Rime 輸入法外,你又多了一個選擇,落格輸入法 macOS 版。
前前後後半年的時[……]
前段時間我說過我攢了一台高配的黑蘋果,當時用的是一台普通的 1080p 顯示器,我的 21:9 給同事用去了。
現在,我還是受不了這個16:9,於是我和他換了下,我又用回了我的 21:9,結果沒想到……尼瑪竟然不支持!
聽說是 hd530 核顯驅動不太行導致識別不了……
總之,咱還是有辦法搞定的,經歷了大半夜的奮鬥,得到結果,首先是啟動畫面,如下圖所示,把屏幕雷索[……]
安息
這裡記錄一下我是如何做到讓博客一下子變成黑白的,去逐個的修改主題和替換圖片元素肯定是個要命的辦法,我用的當然是全局的css風格文件了,利用css本身的功能即可實現黑白灰度渲染。
在 Wordpress 主題內置的額外css中加入如下代碼保存即可生效,如果你是靜態網站,那麼就把這句加到你網站風格的最開頭即可。
1 2 3 4 5 6 7 8 9 10 |
html { filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: url(desaturate.svg#grayscale); filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); -webkit-filter: grayscale(1); } |
[……]
在開發落格輸入法的時候,我遇到了這麼一件事情,就是作為候選欄的窗口會在屏幕邊緣的時候超出屏幕去!所以,在顯示窗口的時候我根據坐標做了額外的檢查:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
if visiableCandidateCells.isEmpty { if let screenframe = NSScreen.main?.visibleFrame { if screenframe.width < location.x + size.width { location.x -= location.x + size.width - screenframe.width } } } else { if let screenframe = NSScreen.main?.visibleFrame { if screenframe.width < location.x + self.window!.frame.size.width { location.x -= location.x + self.window!.frame.size.width - screenframe.width } } } if location.y < 50 { location.y += 35 + 35 } |
總之,就是說如果坐標算上自己的寬度超過了屏幕的寬度,就把它挪回來。
但是,這樣處理不能在多顯示器下工作良好,這時由於多顯示器坐標導致的:
[……]