Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Image Добавлено: 21.07.04 10:30  

Автор вопроса:  Ujif | Web-сайт: - | ICQ:
Хочу нарисовать картинку на форме:
  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-сайт: www.vbnet.ru
 Профиль | | #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-сайт: www.vbnet.ru
 Профиль | | #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 ШевТ: это медлино и мегает!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам