Общие вопросы по работе с графикой на VB.NET 2005

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Glyckmen
Обычный пользователь
Обычный пользователь
 
Сообщения: 72
Зарегистрирован: 30.04.2006 (Вс) 15:32
Откуда: Санкт-Петербург

Общие вопросы по работе с графикой на VB.NET 2005

Сообщение Glyckmen » 22.11.2006 (Ср) 11:48

Решил перейти на VB.NET 2005 и сталкнулся с небольшой проблемой по графике.
На форме создал PictureBox1 и загрузил в него картинку, хочу эту картинку вывести на форму из PictureBox, я написал такой код:
Код: Выделить всё
Dim Picture As Graphics ' Создание графического объекта
Dim Form1 As Graphics ' Создание графического объекта
Dim Ris As New Bitmap(PictureBox1.Image)
Picture = PictureBox1.CreateGraphics ' Привязка графического объекта к элементу управления
Form1 = Me.CreateGraphics ' Привязка графического объекта к элементу управления
Form1 = Graphics.FromImage(Ris) ' Загрузка изображения из другого объекта (файла, элемента)
Form1.Dispose() ' Вывод графики из памяти на элемент управления соответственно привязке

Подскажите в чем ошибка, при PictureBox1.Visible=False на форме ничего нет.

PS: Такой вариант я тоже пробовал:
Код: Выделить всё
Dim Form1 As Graphics ' Создание графического объекта
Form1 = Me.CreateGraphics ' Привязка графического объекта к элементу управления
Form1 = Graphics.FromImage(PictureBox1.Image) ' Загрузка изображения из другого объекта (файла, элемента)
Form1.Dispose() ' Вывод гравики из памяти на элемент управления соответственно привязке
Результат тот-же, ничего на экране нет.
Последний раз редактировалось Glyckmen 23.11.2006 (Чт) 10:58, всего редактировалось 1 раз.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 22.11.2006 (Ср) 13:45

Бред...


У класса Graphics есть метод DrawImage, у контрола PictureBox есть свойство Image, объединить их вместе думаю сумеешь...


З.Ы. Интересно, а до перехода на VB.NET как решалась подобная задача?
Весь мир матрица, а мы в нем потоки байтов!

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 22.11.2006 (Ср) 14:27

Код: Выделить всё
Me.Picture = Picture1.Picture

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 22.11.2006 (Ср) 14:31

!Viper!
Кстати только-что проверил такой вот код в Visual Basic 2005

Код: Выделить всё
Me.BackgroundImage = PictureBox1.Image

работает :roll:

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 22.11.2006 (Ср) 15:32

Работает, чего ему не работать... Когда отвечал думал, что автору непременно нужно Graphics поиспользовать по каким-то соображений... Мало ли
Весь мир матрица, а мы в нем потоки байтов!

Glyckmen
Обычный пользователь
Обычный пользователь
 
Сообщения: 72
Зарегистрирован: 30.04.2006 (Вс) 15:32
Откуда: Санкт-Петербург

Сообщение Glyckmen » 22.11.2006 (Ср) 15:58

!Viper!
Я просто в полной прострации от этих новвоведений, сижу с книгой и голова уже пухнет, так что извените если будут глупые вопросы. :oops:
Спасибо!
Сделал вот так все работает.
Код: Выделить всё
Dim form1 As Graphics
form1 = Me.CreateGraphics
form1.DrawImage(PictureBox1.Image, 0, 0)
form1.Dispose()

Glyckmen
Обычный пользователь
Обычный пользователь
 
Сообщения: 72
Зарегистрирован: 30.04.2006 (Вс) 15:32
Откуда: Санкт-Петербург

Сообщение Glyckmen » 23.11.2006 (Чт) 11:15

Столкнулся с другой проблемой:
Хочу установить цвет линии и пишу так:
Код: Выделить всё
Dim Pic As Graphics
Pic = PictureBox1.CreateGraphics
Dim st As New Pen(Color.FromArgb(107, 137, 191))
Pic.DrawLine(st, 2 + xs, 26 + ys, 25 + xs, 26 + ys)

На большом брате этот код работает и нареканий не вызывает, но при написании тако-го же кода под Smartfon 2003 вылетает ошибка во время выполнения "NotSupportedException was unhandled" на строке
Код: Выделить всё
Dim st As New Pen(Color.FromArgb(107, 137, 191))
не могу понять что ему надо, при написании кода редактор ведет себя нормально подставляя и выводя подсказки, при компиляции то-же все хорошо и ошибка возникает только во время выполнения (и на эмуляторе и на смартфоне).

PS: Решил не создавать новую тему, а эту переименовал.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 75

    TopList