日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳解VisualStudio2010增加背景圖片的擴展

前些日子心血來潮去Visual Studio擴展庫上淘了一圈,發(fā)現(xiàn)了這樣一個擴展:http://visualstudiogallery.msdn.microsoft.com/zh-cn/0e6f9037-b753-469e-86d4-bfba78c74cf6

創(chuàng)新互聯(lián)建站專注于烏拉特后企業(yè)網(wǎng)站建設,響應式網(wǎng)站開發(fā),商城網(wǎng)站制作。烏拉特后網(wǎng)站建設公司,為烏拉特后等地區(qū)提供建站服務。全流程按需設計,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務

但是這個擴展用起來還有一些不方便的地方,例如會鎖定背景圖片文件、縮放編輯器的時候背景圖片會因為滾動條的定位而飄到上方、透明度和背景圖像的位置不能改變等等。

而這個擴展***一次更新是5月5日,到現(xiàn)在已經(jīng)過了五個月了。所以我決定仿照它的原理自己寫一個。

使用起來效果大概是這樣:

其實這個東西也是比較容易做的,只要安裝了Visual Studio 2010 SDK就可以創(chuàng)建Editor Viewport Adornment項目,在新建的項目的基礎上很容易搭建出像這樣的擴展。

這個擴展要通過一個XML文件來進行設置,這個XML文件會在安裝擴展以后***次啟動Visual Studio 2010的時候自動建立在“我的文檔”中,文件名為“ItaBackgroundKyuu.config”。

其中使用的參數(shù)都是WPF和BCL中的常見數(shù)據(jù)類型:

 
 
 
 
  1. public AlignmentX AlignXpublic AlignmentY AlignYpublic Stretch StretchModepublic TileMode TileMode  
  2. public StretchDirection ScaleDir;public Stretch ScaleMode;public HorizontalAlignment HAlign;public VerticalAlignment VAlign; 

在我的機器上(也就是上面的效果圖的來源)是這樣設置的:

 
 
 
 
  1.    
  2.    
  3.      
  4.      D:\Files\Yuki\Pictures\haoren65.png   
  5.      Center   
  6.      Center   
  7.      Fill   
  8.      Tile   
  9.       
  10.       
  11.      D:\Files\Yuki\Documents\aizawa-hikaru.png   
  12.      Both   
  13.      Uniform   
  14.      Right   
  15.      Bottom   
  16.       
  17.       
  18.             
  19.    
  20.       
  21.    

在我的實現(xiàn)中使用了兩種方式來繪制背景:一種為了兼容之前日本人寫的ItaBackgroundImage而使用Image控件;另一種則使用了ImageBrush,可以選擇使用圖素(Tile)與否。

這里需要說明一下,由于我對圖片的單位換算還不熟,所以如果在啟用了圖素模式的條件下選用了和屏幕的DPI不同的圖片(例如我用的haoren65.png——這是我?guī)啄昵盀槟硞€娛樂用途制作的背景圖像),就有可能會出現(xiàn)圖像被縮小或拉伸之類的現(xiàn)象。

由于我也是剛開始接觸Visual Studio 2010擴展開發(fā),所以對于對話框之類的東西暫時也是沒辦法。配置文件也是使用的XML序列化而非正統(tǒng)的ConfigurationSection+ConfigurationManager模式(在下一個版本中我會把它改好的——如果還有下一個版本的話)。

這里提一下:

 
 
 
 
  1. var xs = new XmlSerializer(typeof(ItaConfig2), new XmlRootAttribute("ItaBackgroundConfig2"));
  2.  // 這里使用XmlRootAttribute可以改變序列化時根節(jié)點的名稱
  3. var voidNamespaceMapping = new XmlSerializerNamespaces();
  4. voidNamespaceMapping.Add("", "");xs.Serialize(sw, config, voidNamespaceMapping); 
  5. //在這里使用一個“幾乎”為空的XmlSerializerNamespaces可以清除掉序列化時產(chǎn)生的不必要的namespace。 

好了,說了這么多,想下載這個擴展玩一玩的話可以點擊這個鏈接。

特別強調一下:這不是一個完全的、穩(wěn)定的產(chǎn)物,可能存在這樣那樣的缺陷。


本文標題:詳解VisualStudio2010增加背景圖片的擴展
URL分享:http://www.5511xx.com/article/coopjdc.html