Vml:美洲豹系列教程之九(放大縮小VML)

來源:互聯網
上載者:User
放大縮小VML
    由於VML是向量的,放大縮小變得很容易了。我們先看一個例子,看看VML能做到什麼程度。還是以前面的一個飛碟做為例子。它是用線、圓、弧等形狀拼湊起來的一個圖形。我增加了移動事件,當放大太多了,可以拖動圖片查看。

放大 1倍
放大 2倍
放大 3倍
放大 4倍
放大 5倍
放大 6倍
放大 7倍
放大 8倍
放大 9倍
放大10倍

    是否感覺出來了,放大縮小對 VML 的畫質沒有改變?因為 VML 是向量的。動態改變它的 coordsize 值就可以了,注意,減小值等於放大,增大值就等於縮小。可以參考下面的指令碼:

  var xx=6000;
  var yy=6000;
  function zoom(h)
  {
    group1.coordsize=xx/h+","+yy/h;
  }

    上面的 xx,yy 是指預設狀態下的 coordsize 值。調用這個函數的時候使用 zoom(n) 其中 n 是要放大的倍數。
    當VML中包含 文字的時候,圖形放大了,但文字不會自動放大。這樣一來就很不對稱了,有個技巧,就是文字都用一種標記包著,放大函數就需要改進一下了:  var xx=6000;
  var yy=6000;
  var fs=9;
  function zoom(h)
  {
    group1.coordsize=xx/h+","+yy/h;
    for(var i=0;i<document.all.tags("DIV").length;i++)
      document.all.tags("DIV").item(i).style.fontSize=fs*h+"pt";
  }

    fs是預設狀態下的文字大小。document.all.tags("DIV") 將返回頁面上所有DIV元素,然後把他們的文字大小都變大。實踐證明,放大後和VML的比例是不變的

聯繫我們

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