C# WIN7電腦雙屏設定不同內容的案頭

來源:互聯網
上載者:User

標籤:rom   http   圖片   畫圖工具   bit   不同   win   合成   primary   

WIN7電腦串連雙屏時,設定壁紙會有兩個比較麻煩的問題:

1.  如果兩個螢幕的解析度不同,在設定案頭時會導致左右螢幕顯示效果不一樣。

2.  無法將左右兩個螢幕的壁紙設定為不同的圖片。

 

解決辦法是:將兩張圖片合成為一張新的圖片,再將這張新的圖片設定為壁紙即可。

假設螢幕關係

 

步驟如下:

1. 建立一張圖片,寬度是 螢幕1的寬度加上螢幕2的寬度,高度是較高的那個螢幕的高度。

2. 圖片1縮放為螢幕1的大小,左側放到最左,頂部放置到最上

3. 圖片2縮放為螢幕2的大小,左側放到螢幕1的最右側位置,頂部放置到最上

 

理論上使用windows內建的畫圖工具也可以做出,新圖片的實際效果如下:

左下角的黑色部分在設定壁紙後並不會顯示,不會影響顯示效果。

圖片1和圖片2可以使用同一張圖片。

 

上面是原理,以下是代碼,可以自動根據螢幕解析度合成適合的壁紙。

   int width1 = Screen.PrimaryScreen.Bounds.Width;   int height1 = Screen.PrimaryScreen.Bounds.Height;   int width2 = Screen.AllScreens[1].Bounds.Width;   int height2 = Screen.AllScreens[1].Bounds.Height;   using (Bitmap leftfileImage = new Bitmap(leftFile), rightfileImage = new Bitmap(rightFile), newimage = new Bitmap(width1 + width2, height1 > height2 ? height1 : height2))   {     using (Graphics newimagegp = Graphics.FromImage(newimage))     {        newimagegp.DrawImage(leftfileImage, new RectangleF(0, 0, width1, height1), new RectangleF(0, 0, leftfileImage.Width, leftfileImage.Height), GraphicsUnit.Pixel);        newimagegp.DrawImage(rightfileImage, new RectangleF(width1, 0, width2, height2), new RectangleF(0, 0, rightfileImage.Width, rightfileImage.Height), GraphicsUnit.Pixel);        newimage.Save("新圖片.jpg", ImageFormat.Jpeg);     }   }               

leftFile和rightFile是圖片地址,分別用於左邊螢幕及右邊螢幕。

 

配合上一篇文章的設定案頭的方法,再加上定時器,即可實現雙屏壁紙隨機產生定時更換的功能。

 

C# WIN7電腦雙屏設定不同內容的案頭

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.