Pretty sure you solved it allready, but here's my toughts:
use a List of MyPoint(int X, int Y, Color Color) where you want to draw the spline.
clear the screen
iterate for each item in the List, and draw the pixel onscreen.
as in:
class DrawableSpline: DrawableGameComponent {
private static Texture2D pixel;
private SpriteBatch batch;
private List<MyPoint> points = new List<MyPoint>();
private Color bg;
public DrawableSpline(Game game, Color backgroundColor): base(game) {
pixel = new Texture2D(Game.GraphicsDevice, 1, 1, 0, ResourceUsage.None, SurfaceFormat.Color, ResourceManagementMode.Automatic);
pixel.SetData<Color>(new Color[] { new Color(255, 255, 255, 255); });
batch = new SpriteBatch(Game.GraphicsDevice);
bg = backgroundColor;
}
public void AddPixel(int x, int y, Color c) {
points.Add(new MyPoint(x, y, c);
}
public override void Draw(GameTime gameTime) {
Game.GraphicsDevice.Clear(bg);
batch.Begin();
foreach(MyPoint mp in points)
batch.Draw(pixel, new Vector2(mp.X, mp.Y), mp.Color);
batch.End();
}
}