九宮縮放scale9Grid

2021-08-30 16:27:05 字數 1646 閱讀 1404

一、api中關於九宮縮放scale9grid的介紹

1、當定義flash.display.displayobject的scale9grid:rectangle屬性時,該顯示物件被分割到以scale9grid矩形為基礎的具有九個區域的網格中。網格的其它八個區域如下:矩形外的左上角、矩形上方的區域、矩形外的右上角、矩形左側的區域、矩形右側的區域、矩形外的左下角、矩形下方的區域、矩形外的右下角,可以認為中心區域(由矩形定義)之外的八個區域類似於在縮放時已應用特殊規則的幀。

2、在設定scale9grid 屬性並縮放顯示物件後,會正常縮放所有文字和漸變;但是,對於物件的其它型別,將應用以下規則:

正常縮放中心區域中的內容。

不縮放轉角中的內容。

僅水平縮放頂部和底部區域中的內容。僅垂直縮放左側和右側區域中的內容。

如果旋轉顯示物件,則所有後續縮放都是正常的(並會忽略scale9grid 屬性)。

設定scale9grid 的常見用法是設定用作元件的顯示物件,當縮放該元件時,其中的邊緣區域保持相同的寬度。

3、api中的例子原始碼scale9gridexample.as

import flash.display.shape;

import flash.display.gradienttype;

import flash.display.spreadmethod;

import flash.display.sprite;

import flash.display.interpolationmethod;

import flash.geom.matrix;

import flash.geom.rectangle;

import flash.utils.timer;

import flash.events.timerevent;

public class scale9gridexample extends sprite

private function initsquare():void

private function scale(event:timerevent):void

if (square.scalex < 1.0) }

}二、哪些時候會無效

2、對shape物件使用scale9grid,有效。但是如果用shape.graphics.beginbitmapfill (new bitmapdata());//僅用了乙個bitmapdata物件填充shape物件後,無效!

3、對sprite物件使用scale9grid:

(1)僅對sprite物件下的「圖形元件」和「直接繪製的形狀」有效。

(2)對sprite物件下的sprite物件,無效!

(3)對sprite物件下的「圖形元件」,如果該「圖形元件」內僅包含另個sprite物件,依然無效。

4、參考部落格:scale9grid – when it works and when it does not

三、flex中使用embed標籤

embed(source="track.png",scalegridtop="20",scalegridleft="7",scalegridright="9",scalegridbottom="80");

四、建立乙個具有九宮格功能的bitmap

五、推薦

(第三個頁面打不開,鬱悶)

九宮格布局

2009 08 25 15 15 27 九宮格是一種比較古老的設計,它最基本的表現其實就像是乙個三行三列的 其實它最初是在window的c s結構中用得比較多,比如我們經常看 到軟體中的乙個窗體,其實就是乙個九宮格的典型應用,因為窗體需要在八個方向拉伸,所以在c s軟體中大量採用這種技術來布局設計。...

九宮格問題

include include stl 雙端佇列容器 include include pos.h using namespace std ofstream fout sudoku.txt deque d int lay deque d int checkout pos p,int n int sud...

九宮格排布

在我們設定ui時,肯定會遇到設定九宮格的效果 如上圖所示,我們如何讓展示出來哪?首先我們會發現 每行的的 y 值是一樣的 行數決定 y 值 每列的的 x 值是一樣的 列數決定 x 值 綜上所述 我們只要知道每張的 行數 和 列數 那麼,它的座標自然就肯定了 我們怎樣確定 行數 和 列數那?我們發現 ...