Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Анимация изображения в PictureBox


Автор: Гость_Гость 9.12.2004, 18:45
Не подскажете как вставить анимированное изображение в Picturebox?

(создаю гифовский файл анимированный, вставляю его - он не двигается...)
просьба заумными терминами не бросаться ибо в языках я не силен...

заранее спасибо

Автор: -Mikle- 12.12.2004, 20:29
А ты какому свойству присваиваешь картинку? BackgroundImage или Image? Если присвоить анимированую картинку свойству BackgroundImage, то она не проигрывается, а если свойству Image, то лично у мея все нормально. Опиши подробней, как делаешь?

Автор: Гость_Гость 13.12.2004, 12:34
Код примерно следующий:

dim IM as image
IM=image.fromfile("c:\aaa.gif")
pb1.creategrafics.drawimage(IM,...где рисуется(х и у))

(pb1 - это picturebox)
при этом сама картинка нормально показывается но фрэймы не сменяются... smile


Автор: -Mikle- 13.12.2004, 20:45
Цитата
при этом сама картинка нормально показывается но фрэймы не сменяются...

Ну конечно же при таком коде они не будут меняться. Объясню.

pb1.CreateGraphics.DrawImage(IM, 0, 0)
Метод CreateGraphics создает графический контекст(Graphics) для контрола, в котором он вызывается. Проще говоря - место для рисования.
Метод DrawImage, объекта Graphics, просто рисует в контексте, в твоем случае первый кадр из гифа. Естественно без анимации.

Тебе нужно сделать хотя-бы так:
Код
pb1.Image = Image.FromFile("c:\aaa.gif")


Пиши! smile

Автор: Guest 14.12.2004, 16:16
спасибо!!! smile

а никак нельзя сделать что б несколько анимированных картинок в один picturebox было вставлено в нужных местах?
или придется для этого под каждую картинку свой бокс создавать?

Автор: -Mikle- 15.12.2004, 17:04
Придется под каждую анимированную картинку свой бокс. Но это ведь не проблема, создавай хоть сотню боксов... на сколько скорости проца хватит, на столько и тормозить не будет. Не теряйся, приходи еще smile чем сможем, тем поможем smile

PS: если не затруднит тебя, зарегся и станешь участником нашего форума smile

Автор: Cleric 16.12.2004, 19:16
уже smile

и в продолжение темы:

гифовский рисунок в оригинале частично прозрачен
если вставлять его в бокс то он там конечно двигается, но вот то что находилось под боксом не просвечивает где надо...(где у рисунка прозрачные места)

вроде как бэкграунд у picturebox прозрачным сделать нельзя


можно ли как то сделать так что из-под одного pictureboxa был виден другой picturebox smile

Автор: Exception 15.1.2005, 15:37
Бэкграунд прозрачным сделать можно через апи. Если будет время напишу, сейчас не могу. Кстати насчет гифа не уверен

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)