Re: [問題] 惱人的Matrix問題?
廢話不多說,直接提供範例:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="horizontal" width="800" height="600">
<mx:Script>
<![CDATA[
import mx.core.UIComponent;
private const HH:int = 4;
private const VV:int = 3;
private const H_GAP:int = 5;
private const V_GAP:int = 5;
protected function image1_completeHandler(event:Event):void
{
var img:Image = event.currentTarget as Image;
var content:DisplayObject = img.content;
var m_width:Number = content.width / HH;
var m_height:Number = content.height / VV;
var bd:BitmapData;
var bmp:Bitmap;
var matrix:Matrix;
for(var v:int=0; v<VV; v++){
for(var h:int=0; h<HH; h++){
matrix = new Matrix();
matrix.translate(-m_width * h, -m_height * v);
bd = new BitmapData(m_width, m_height);
bd.draw(content, matrix);
bmp = new Bitmap(bd);
bmp.x = (m_width + H_GAP) * h;
bmp.y = (m_height + V_GAP) * v;
imgContainer.addChild(bmp);
}
}
}
]]>
</mx:Script>
<mx:Image id="img"
source="http://blog.liuhongwei.cn/wp-content/uploads/2009/08/java-duke-guitar.png"
complete="image1_completeHandler(event)"/>
<mx:UIComponent id="imgContainer" width="{img.width}" height="{img.height}"
/>
</mx:Application>
※ 引述《larcenciel12 (頭哥)》之銘言:
: 廢話不多說直接切入問題><
: 小弟突發奇想想利用一張大圖以 bitmap類別 + Matrix類別 切割成9宮格狀
: ●●●
: ●●● <<--大概是這樣子的感覺
: ●●●
: 目的是為了方便對個別的切割做多張圖片的過場動畫
: 程式碼如下
: 邏輯:
: 以迴圈重複九次便利用矩陣排列公式移動Translate的位置擷取後再排列成一排供測試。
: for (var i:int = 0; i < 9;i++){
: var ori:OrigamiMurexBmp = new OrigamiMurexBmp;//此行為自訂圖片
: var myBitmapData:BitmapData=new BitmapData(ori.width/3, ori.height/3) ;
: var mat:Matrix=new Matrix();
: mat.translate( (i % 3 )* ori.width/3 , Math.floor(i / 3) * ori.height/3);
: myBitmapData.draw(ori, mat);
: var clip2_mc:Bitmap = new Bitmap(myBitmapData);
: clip2_mc.x = i * 73;//排列切出來的圖片
: addChild( clip2_mc);
: };
: 但執行的結果只會出現一張圖片(但試著把mat.translate這行改成自訂的數字
: 例如
: mat.translate(10,10) 卻會出現9張的結果
: 但只要一透過迴圈來定義便會出問題..(只有一張)
: 翻了官方的文件及GOOGLE大家似乎也沒出現類似問題..實在令人惱火..><
: 請問各位高手們小弟的邏輯哪裡出了問題呢><?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.147.239.66
推
09/09 19:56, , 1F
09/09 19:56, 1F
→
09/09 19:57, , 2F
09/09 19:57, 2F
→
09/09 19:58, , 3F
09/09 19:58, 3F
推
09/09 23:38, , 4F
09/09 23:38, 4F
推
09/10 03:13, , 5F
09/10 03:13, 5F
→
09/10 03:14, , 6F
09/10 03:14, 6F
→
09/10 04:39, , 7F
09/10 04:39, 7F
推
09/10 05:24, , 8F
09/10 05:24, 8F
→
09/13 11:53, , 9F
09/13 11:53, 9F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):