ActionScript Выравнивание штрихов в стиле графических линий?

можно ли выровнять обводку графики с помощью actionscript? например, следующий код создает черный закругленный прямоугольник с серой обводкой, которая автоматически выравнивается по центру.

var t:Sprite = new Sprite();
t.graphics.lineStyle(5, 0x555555);
t.graphics.beginFill(0, 1);
t.graphics.drawRoundRect(25, 25, 200, 75, 25, 25);
t.graphics.endFill();

функция lineStyle, похоже, не предлагает никаких встроенных функций для выравнивания штриха. в Adobe Illustrator можно выровнять обводку по центру (наполовину внутри/наполовину вне заливки), внутри (на границе с заливкой) или снаружи. (окаймление снаружи заливки).


person Chunky Chunk    schedule 13.06.2010    source источник


Ответы (1)


Это не поддерживается во Flash (даже в графическом интерфейсе). Вам придется изменить параметры drawRoundRect, чтобы имитировать этот эффект.

var strokeWidth:Number = 5;
var strokeAlign:String = 'outer';
var t:Sprite = new Sprite();
t.graphics.lineStyle(strokeWidth, 0x555555);
t.graphics.beginFill(0, 1);
if (strokeAlign == 'outer') {
    t.graphics.drawRoundRect(25 - strokeWidth / 2, 25 - strokeWidth / 2, 200 + strokeWidth, 75 + strokeWidth, 25 + strokeWidth / 2, 25 + strokeWidth / 2);
} else if (strokeAlign == 'inner') {
    t.graphics.drawRoundRect(25 + strokeWidth / 2, 25 + strokeWidth / 2, 200 - strokeWidth, 75 - strokeWidth, 25 - strokeWidth / 2, 25 - strokeWidth / 2);
} else {
    t.graphics.drawRoundRect(25, 25, 200, 75, 25, 25);
}
t.graphics.endFill();
person timrwood    schedule 15.06.2010