【问题标题】:flex bitmapData draw - how the set where to drawflex bitmapData draw - 如何设置在哪里绘制
【发布时间】:2010-12-16 07:38:40
【问题描述】:

我有一个类,它使用合并 2 个 IBitmapDrawable 的 bitmapData 创建一个类。 其中一个是 24*20,另一个是 16*16。 我想先在其宽度和高度为 24*20 的 bitmapData 对象中绘制较小的 但我想把它画在大边界的中心。

有人知道怎么做吗? 谢谢...

if (baseIcon) {
    var result:BitmapData = new BitmapData(baseIconWidth,baseIconHeigt,true, 0x00FFFFFF);
    result.draw(baseIcon,new Matrix(1, 0, 0, 1, 0, 0));
    if (indicatorIcon) {
       result.draw(indicatorIcon,new Matrix(1, 0, 0, 1, 0, 0));
    }
    bitmapData = result;
    baseIcon = null;            
}

【问题讨论】:

    标签: apache-flex draw bitmapdata


    【解决方案1】:

    试试这个:

    if (baseIcon) {
        var result:BitmapData = new BitmapData(baseIconWidth,baseIconHeigt,true, 0x00FFFFFF);
        var m:Matrix = new Matrix();
        m.translate(baseIconWidth/2 - baseIcon.width/2,baseIconHeight/2 - baseIcon.height/2);
        result.draw(baseIcon,m);
        if (indicatorIcon) {
           result.draw(indicatorIcon,new Matrix(1, 0, 0, 1, 0, 0));
        }
        bitmapData = result;
        baseIcon = null;            
    }
    

    【讨论】:

      【解决方案2】:

      查看BitmapData.draw中的matrix参数,使用平移矩阵。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-24
        相关资源
        最近更新 更多