Asp.net 中旋轉圖片的幾種方式

來源:互聯網
上載者:User

在Asp.Net裡將圖片旋轉的方式大概有4種(個人意見)。

1、通過css的濾鏡效果

      FlipV,FlipH 可以通過google找出很多,但是這種方式只能是選擇固定的角度 90,180,270

 

2、通過javascript

      找了很久沒有找到好的js code,這個 http://www.walterzorn.com/rotate_img/rotate_img.htm 效果還算不錯,

      但是圖片稍微大點就會有失真的感覺,而且會造成頁面運行緩慢。所以小圖片還可以接受(QQ的表情icon那麼大)

      可以旋轉任意角度。

 

3、通過vml旋轉圖片

      這個方式是比較好的方式,關於vml的資料google下很多,這裡利用的是vml裡的Rotation,效果很好,即便是大圖片

      也不會失真,可以是任意角度,而且不需要寫codebind。

 

4、通過GDI+旋轉圖片

      這個方式也不錯,在對vml不熟悉的話,GDI+也是很好的選擇。GDI+是.Net Fromework 內建的類庫裡。這種的好處

      是利用大家的都熟悉的codebind進行編碼旋轉圖片並輸出到Response,然後將Image的src 指向這個寫好功能url地址。

      這種方式也可以是任意角度。

 

我採用的是第3中方式,下面附第3中方式的簡單實現(摘自高人手筆)

 

<html xmlns:v="urn:chemas-microsoft-com:vml" xmlns ="urn:chemas-microsoft-com ffice ffice">
<head>
<title>Untitled Page</title>
<style type="text/css">v/: * { behavior:url(#default#VML); display:inline-block }</style>
</head>

<body style="background-color:#000000">
<script type="text/javascript" language="javascript">
//本函數為所有使用旋轉功能的物件更新視圖
function window.onload()
{
 try{
  for(i=0;i<xuanzhuan.length;i++)
   xuanzhuan[i].Rotation=xuanzhuan[i].xuanzhuanstr;
   xuanzhuan.Rotation=xuanzhuan.xuanzhuanstr
   }
 catch(e)
 {}
}
</script>

<table>
 <tr>
  <td>
   <div>
       <v:Image id=xuanzhuan style="Z-INDEX: 1001; LEFT: 290px; WIDTH: 157px; POSITION: absolute; TOP: 123px; HEIGHT: 105px" xuanzhuanstr="100" src = "C:/Documents and Settings/paulhuang/My Documents/My Pictures/1.jpg" coordsize = "21600,21600"></v:Image>
   </div>
  </td>
  <td>
      <div>
          <v:Image id=xuanzhuan style="Z-INDEX: 1001; LEFT: 435px; WIDTH: 157px; POSITION: absolute; TOP: 244px; HEIGHT: 105px" xuanzhuanstr="300" src = "C:/Documents and Settings/paulhuang/My Documents/My Pictures/2.jpg" coordsize = "21600,21600"></v:Image>
      </div>
  </td>

 </tr>
</table>

</body>
</html>

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.