public Color lerpColor( int pixel, float amount, Frame nextFrame ) { Color mine = pixels[pixel]; Color next = nextFrame.pixels[pixel]; double h1, s1, v1, h2, s2, v2; ColorToHSV( mine, out h1, out s1, out v1 ); ColorToHSV( next, out h2, out s2, out v2 ); return ColorFromHSV( lerp( h1, h2, amount ), lerp( s1, s2, amount ), lerp( v1, v2, amount ) ); }
private void openFile() { frames.Clear(); Stream ins = openFileDialog.OpenFile(); while( ins.Length - ins.Position >= 192 ) { Frame f = new Frame(); f.readFrame( ins ); frames.Add( f ); } ins.Close(); ins.Dispose(); saveFileDialog.FileName = openFileDialog.FileName; framePicker.Maximum = frames.Count - 1; jumpToFrame( 0 ); }
public Frame( Frame f ) { pixels = new Color[64]; for (int i = 0; i < 64; ++i) pixels[i] = f.pixels[i]; }