Страница: 1 |
Страница: 1 |
Вопрос: Image
Добавлено: 21.07.04 10:30
Автор вопроса: Ujif | Web-сайт:
Хочу нарисовать картинку на форме:
Dim a As System.Drawing.Graphics, im As System.Drawing.Bitmap, p As System.Drawing.PointF
p.X = 0
p.Y = 0
a = Panel1.CreateGraphics
im.FromFile("d:\1.bmp")
a.DrawImage(im, p)
Выделяе последнюю строчу?! И вроде в im нет картинки?!
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #1
Добавлено: 21.07.04 10:44
Не знаю как в NET, а в VB6 можно так
Form1.Picture = LoadPicture("d:\1.bmp", попробуй может получится. Потом Form1.CurrentX = ... , Form1.CurrentY = ...
Номер ответа: 2
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #2
Добавлено: 21.07.04 14:00
У меня эта строчка вызывает подозрение:
> im.FromFile("d:\1.bmp")
Если я не ошибаюсь, FromFile - это Shared-функция, поэтому нужно
вызывать так:
Im = Image.FromFile("D:\a.bmp")
А ты просто вызываешь функцию и ее результат нигде не используешь.
Номер ответа: 3
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #3
Добавлено: 21.07.04 14:41
Насколько я помню, FromFile - Shared метод. Надо вот так:
Dim a As System.Drawing.Graphics, im As System.Drawing.Bitmap, p As System.Drawing.PointF
p.X = 0
p.Y = 0
a = Panel1.CreateGraphics
im = Image.FromFile("d:\1.bmp")
a.DrawImage(im, p)
Номер ответа: 4
Автор ответа:
Ujif
ICQ: -
Вопросов: 52
Ответов: 76
Web-сайт:
Профиль | | #4
Добавлено: 23.07.04 15:04
Вот в VB.6 у формы было свойство AutoRedraw а в Net есть такое свойство. ?(Можеть вопрос покажется странный но я только учюсь)
Номер ответа: 5
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #5
Добавлено: 23.07.04 17:09
В .Net аналога AutoRedraw нет.
Профессионалы советуют перерисовывать содержимое окна в обработчике
события Paint.
Но если это делать лень, то можно использовать класс Bitmap. Я
придумал себе вот такую нехитрую функцию для получения объекта
Graphics для PictureBox с соданием Bitmap. Все рисуемое на таком
Graphics не будет стираться при перекрывании PictureBox другими
окнами.
Public Function GetGraphicsObject(ByVal pic As PictureBox) As Graphics
Dim bmp As Bitmap
bmp = New Bitmap(pic.Width, pic.Height)
pic.Image = bmp
Dim G As Graphics
G = Graphics.FromImage(bmp)
Return G
End Function
Номер ответа: 6
Автор ответа:
ШевТ
ICQ: 165728420
Вопросов: 1
Ответов: 96
Профиль | | #6
Добавлено: 28.07.04 02:05
А лучше набить массив или коллекцию объектами на осове собственных классов и отрисовывать их в Paint.
Номер ответа: 7
Автор ответа:
Ujif
ICQ: -
Вопросов: 52
Ответов: 76
Web-сайт:
Профиль | | #7
Добавлено: 28.07.04 11:38
2 ШевТ: это медлино и мегает!