Нарисуйте анимированное изображение в TextBox - PullRequest
0 голосов
/ 07 августа 2011

Я хочу нарисовать анимированное изображение в TextBox, я в Google свою проблему, но я получаю несколько примеров рисования фиксированного изображения в TextBox, например ExtRichTextBox .

1 Ответ

1 голос
/ 07 августа 2011

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

private void SomeTimer_Tick( ... )
{
    UpdateAnimation();
}

private int _frameCount;
private const int MaxFrames = //whatever, you need to determine this
private void UpdateAnimation()
{
    _frameCount = (_frameCount + 1) % MaxFrames;
    var image = GetFrame( _frameCount );
    // draw the new frame 
}

private const int FrameWidth = // again, you need to determine this
private const int FrameHeight = // again, you need to determine this
private Bitmap GetFrame( int frame )
{
    // assumes frames are lined up horizontally on a sheet
    var rect = new Rectangle( frame * FrameWidth, 0, FrameWidth, FrameHeight );

    // you could create the frames up front to avoid many calls to Clone()
    return MySpriteSheet.Clone( rect, MySpriteSheet.PixelFormat );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...