**:
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.text;
using system.windows.forms;
using system.drawing.imaging;
namespace zhuascreen
[system.runtime.interopservices.dllimportattribute("gdi32.dll")]
privatestatic extern bool bitblt(
intptrhdcdest, //目的dc
的控制代碼
intnxdest, //目的圖形的左上角的x座標
intnydest, //目的圖形的左上角的y座標
intnwidth, //目的圖形的矩形寬度
intnheight, //目的圖形的矩形高度
intptrhdcsrc, //源dc的控制代碼
intnxsrc, //源圖形的左上角的x座標
intnysrc, //源圖形的左上角的x座標
system.int32 dwrop //光柵操作**
); privatevoid button1_click(object sender, eventargs e)}}
居然只能把本程式自己的介面截下,我要的是把螢幕截下來,不過有總比沒有好,正好我也不知道怎麼截自己,先放著.後來又發現了乙個截圖的程式:
是在上面修改,其他不變
private voidbutton1_click(object sender, eventargs e)
可是,我多試幾下發現這個程式有點問題,只能截自己左上的開始的乙個螢幕大小的所以右下腳是黑的.我把程式form啟動的位置設在右上腳,不就可以把整個螢幕截下來嗎?暫時勉強算是解決了問題.至於**,當時的我還只能旁觀.
再後來我在一本c#例題書上又碰到回這個問題.我還沒想好怎麼解決上面的問題就眼睜睜的看著別人幫忙給搞定了.
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.text;
using system.windows.forms;
using system.drawing.imaging;
using system.runtime.interopservices;
namespace 圖形圖象
private void btn_capture_click(object sender, eventargs e)
}public class desktopcapture}}
當時發現自己能看懂它了,這也算階段性的進步吧!這個程式明顯比上面兩個更科學的完成了截圖的使命!昨天,我看見一篇文章上不用api截
雖然我最終也沒明白過來他是怎麼實現的不過喚醒了我不用api截圖的意念.早上起來搜了下screen類:
c#中對系統的桌面進行了封裝,即screen類,其中的重要屬性包括顯示的邊界bounds、系統上所有顯示器的陣列allscreens、顯示器的工作區workingarea等。.net framework 2.0中新增加了獲得windows桌面的方法:graphics.copyfromscreen。該方法已過載,有多種呼叫格式。例如:
public void copyfromscreen (
point upperleftsource, //源矩形左上角的點
point upperleftdestination, //目標矩形左上角的點
size blockregionsize) //要傳輸的區域大小
後來,就有了下面的截圖程式:
usingsystem;
using system.collections.generic;
using system.text;
using system.windows.forms;
using system.drawing;
namespace不用api截圖}}
usingsystem;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.text;
using system.windows.forms;
namespace不用api截圖
private void form1_load(object sender, eventargs e)}}
Webview截圖三種方式
第一種方式 通過呼叫webview.capturepicture 得到乙個picture物件,根據影象的寬和高建立乙個bitmap,再建立乙個canvas,繫結bitmap,最後用picture去繪製。獲取picture物件 picture picture wv capture.capturepic...
Webview截圖三種方式
通過呼叫webview.capturepicture 得到乙個picture物件,根據影象的寬和高建立乙個bitmap,再建立乙個canvas,繫結bitmap,最後用picture去繪製。獲取picture物件 picture picture wv capture.capturepicture 得...
C 中三種迴圈總結
一 迴圈語句 當程式中需要不斷的重複執行某個動作,例如 重複輸出1000行 hello,world 如果自己寫一千行cout hello,world 就算複製貼上也得一會時間,這時迴圈語句就能派上大用場了。1.for迴圈 for迴圈使用的基本形式 for 初始化表示式 條件表示式 增量表示式 語句 ...