試試這個 - 調整的lineWidth要求:
function drawWave(amp:int, freq:int):void
{
var lineWidth:Number = 10;
var shape:Shape = new Shape();
var g:Graphics = shape.graphics;
g.lineStyle(lineWidth, 0xFF0000);
for (var i:int = 0; i < stage.stageWidth; i++)
{
var ang:Number = 2 * Math.PI * freq * i/stage.stageWidth;
var ypos:Number = yaxis - amp * Math.sin(ang);
if (i==0)
g.moveTo(i, ypos);
else
g.lineTo(i, ypos);
}
bmd.draw(shape);
}
繪製圖形的形狀對象,而不是一個BitmapData - 這樣你就可以走的優勢抗鋸齒提供。然後將整個事件複製到BitmapData。
上的調整線的外觀更多的選擇見docs for lineStyle(..)
編輯:
如果你堅持只使用的BitmapData,你可以試試這個:
bmd.drawRect(new Rectangle(i-WIDTH*0.5, yaxis-amp*Math.sin(ang)-HEIGHT*0.5, WIDTH, HEIGHT), 0xff0000);
根據需要更換寬度和高度,它會繪製矩形而不是單個像素 - 給出更粗的線條,但不是很漂亮我想像
使用graphics.lineTo等(用您選擇的寬度)將線繪製到Shape對象中。然後通過使用bitmapData.draw(形狀)複製整個圖形 – 2013-04-10 12:53:24