Помогите с Image...

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

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

Technar
Обычный пользователь
Обычный пользователь
 
Сообщения: 54
Зарегистрирован: 31.07.2008 (Чт) 19:15

Помогите с Image...

Сообщение Technar » 29.08.2008 (Пт) 18:43

Помогите пожалуйста как зделать так чтобы когда человек выбрал в OpenFileDialog любое изображение и это изображение
после нажатия на кнопку Открыть показывалось в AxImage1 я знаю как это делать только c FileDialog а в OpenFileDialogнезнаю!
как включается OpenFileDialog я знаю а это нет!
наверно должно начинатся так:
Код: Выделить всё
AxImage1.Picture = ...
я незнаю что надо написать после Picture!

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Помогите с Image...

Сообщение Williams » 29.08.2008 (Пт) 18:57

Если я тебя правильно понял, то надо
= Image.FromFile(OpenFileDialog1.FileName)
И вы думаете, что вас оставят в живых после прочтения этого поста?

Technar
Обычный пользователь
Обычный пользователь
 
Сообщения: 54
Зарегистрирован: 31.07.2008 (Чт) 19:15

Re: Помогите с Image...

Сообщение Technar » 29.08.2008 (Пт) 19:01

Williams писал(а):Если я тебя правильно понял, то надо
= Image.FromFile(OpenFileDialog1.FileName)

Спасибо большое!
Но у меня почему то только 1 раз можно загрузить изображение а когда 2 раз хочешь другое изображение загрузить ни чего ни происходить а остаётся изображение которое человек загрузил до этого!
кстати а как закрыть форму?

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Помогите с Image...

Сообщение Williams » 29.08.2008 (Пт) 19:23

Technar писал(а):
Williams писал(а):Если я тебя правильно понял, то надо
= Image.FromFile(OpenFileDialog1.FileName)

Спасибо большое!
Но у меня почему то только 1 раз можно загрузить изображение а когда 2 раз хочешь другое изображение загрузить ни чего ни происходить а остаётся изображение которое человек загрузил до этого!
кстати а как закрыть форму?


Может быть перед загрузкой нового изображения нужно ощищать существующее или обновлять. Посмотри методы и свойства этого контрола в ObjectBrowser'е

Смотря какую форму. Стандартно - Form.Close (если код в ней, то Me.Close)
И вы думаете, что вас оставят в живых после прочтения этого поста?

Technar
Обычный пользователь
Обычный пользователь
 
Сообщения: 54
Зарегистрирован: 31.07.2008 (Чт) 19:15

Re: Помогите с Image...

Сообщение Technar » 29.08.2008 (Пт) 19:31

Williams писал(а):
Technar писал(а):
Williams писал(а):Если я тебя правильно понял, то надо
= Image.FromFile(OpenFileDialog1.FileName)

Спасибо большое!
Но у меня почему то только 1 раз можно загрузить изображение а когда 2 раз хочешь другое изображение загрузить ни чего ни происходить а остаётся изображение которое человек загрузил до этого!
кстати а как закрыть форму?


Может быть перед загрузкой нового изображения нужно ощищать существующее или обновлять. Посмотри методы и свойства этого контрола в ObjectBrowser'е

Смотря какую форму. Стандартно - Form.Close (если код в ней, то Me.Close)

А как обновить или очистить?
и я не понял какой контрол надо искать?

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Помогите с Image...

Сообщение dr.MIG » 29.08.2008 (Пт) 19:44

Для начала открой ObjectBrowser, найди в списке AxImage, выбери его, справа отобразится список свойств и методов этого класса. Просмотри и подумай, исходя из их названия и описания, какой из методов может очистить или обновить твой AxImage. Затем проверь свою догадку, вставив вызов этого метода перед загрузкой изображения.
Salus populi suprema lex

Technar
Обычный пользователь
Обычный пользователь
 
Сообщения: 54
Зарегистрирован: 31.07.2008 (Чт) 19:15

Re: Помогите с Image...

Сообщение Technar » 29.08.2008 (Пт) 19:52

dr.MIG писал(а):Для начала открой ObjectBrowser, найди в списке AxImage, выбери его, справа отобразится список свойств и методов этого класса. Просмотри и подумай, исходя из их названия и описания, какой из методов может очистить или обновить твой AxImage. Затем проверь свою догадку, вставив вызов этого метода перед загрузкой изображения.

Нашел!
да кстати у меня почему то в OpenFileDialog1 не показываются изображения формата jpeg хотя я зделал фильтор!
вот код фильтра:
Код: Выделить всё
OpenFileDialog1.Filter = ("Изображения gif|*.gif|Изображения jpeg|*.jpeg")

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Помогите с Image...

Сообщение Nord777 » 29.08.2008 (Пт) 22:01

Код: Выделить всё
"Изображения gif|*.gif|Изображения jpeg|*.jpg;*.jpeg"
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Technar
Обычный пользователь
Обычный пользователь
 
Сообщения: 54
Зарегистрирован: 31.07.2008 (Чт) 19:15

Re: Помогите с Image...

Сообщение Technar » 30.08.2008 (Сб) 11:40

Nord777 писал(а):
Код: Выделить всё
"Изображения gif|*.gif|Изображения jpeg|*.jpg;*.jpeg"

Спасибо большое!
а как узнать ширину и высоту изображения!

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Помогите с Image...

Сообщение Williams » 30.08.2008 (Сб) 12:24

Technar писал(а):Спасибо большое!
а как узнать ширину и высоту изображения!


Image.PhysicalDimension или Image.Height/Width
И вы думаете, что вас оставят в живых после прочтения этого поста?

Technar
Обычный пользователь
Обычный пользователь
 
Сообщения: 54
Зарегистрирован: 31.07.2008 (Чт) 19:15

Re: Помогите с Image...

Сообщение Technar » 30.08.2008 (Сб) 12:28

Williams писал(а):
Technar писал(а):Спасибо большое!
а как узнать ширину и высоту изображения!


Image.PhysicalDimension или Image.Height/Width

А как надо написать:
что если ширина и высота больше чем ...ширина и высота... то надо уменьшить размер изображения!
Я знаю что надо использовать if но я не знаю как все надо написать!

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Помогите с Image...

Сообщение Williams » 30.08.2008 (Сб) 12:41

Technar писал(а):
Williams писал(а):
Technar писал(а):Спасибо большое!
а как узнать ширину и высоту изображения!


Image.PhysicalDimension или Image.Height/Width

А как надо написать:
что если ширина и высота больше чем ...ширина и высота... то надо уменьшить размер изображения!
Я знаю что надо использовать if но я не знаю как все надо написать!


Здесь много примеров

А по логике так:
Код: Выделить всё
      If img.Width > myWidth AndAlso img.Height > myHeight Then

            '//Resize Image here

        End If
И вы думаете, что вас оставят в живых после прочтения этого поста?

Technar
Обычный пользователь
Обычный пользователь
 
Сообщения: 54
Зарегистрирован: 31.07.2008 (Чт) 19:15

Re: Помогите с Image...

Сообщение Technar » 30.08.2008 (Сб) 13:08

Здесь много примеров

А по логике так:
Код: Выделить всё
      If img.Width > myWidth AndAlso img.Height > myHeight Then

            '//Resize Image here

        End If

Чего то я не могу разобратся!

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

Re: Помогите с Image...

Сообщение Viper » 01.09.2008 (Пн) 7:03

Technar писал(а):
Здесь много примеров

А по логике так:
Код: Выделить всё
      If img.Width > myWidth AndAlso img.Height > myHeight Then

            '//Resize Image here

        End If

Чего то я не могу разобратся!
С чем?
Весь мир матрица, а мы в нем потоки байтов!

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Помогите с Image...

Сообщение Sebas » 02.09.2008 (Вт) 8:26

Technar писал(а):Чего то я не могу разобратся!


Молодой человек, включите голову. Ещё НИ В ОДНОМ ВАШЕ ПОСТЕ не было намёка на ВАШИ ЛИЧНЫЕ ИССЛЕДОВАНИЯ.
Перестаньте ТУПО КОПИРОВАТЬ КОД ИЗ ФОРУМА В ВАШИ ПРОЕКТЫ.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Razr
Новичок
Новичок
Аватара пользователя
 
Сообщения: 37
Зарегистрирован: 24.08.2008 (Вс) 20:22
Откуда: Брянская обл, Клинцы

Re: Помогите с Image...

Сообщение Razr » 16.09.2008 (Вт) 19:23

Люди... хи хи.. по поводу размеров высоты и ширины больше/меньше. Есть такая штука как BackgroundImageLayout - поставь zoom и наслаждайся! только код открытия будет немного другим:

Код: Выделить всё
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        If (OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK) Then
            PictureBox1.BackgroundImage = Image.FromFile(OpenFileDialog1.FileName)
            BackgroundImageLayout = ImageLayout.Zoom 'Выбери по усмотрению
        End If
    End Sub

Technar
Обычный пользователь
Обычный пользователь
 
Сообщения: 54
Зарегистрирован: 31.07.2008 (Чт) 19:15

Re: Помогите с Image...

Сообщение Technar » 16.09.2008 (Вт) 19:32

Razr писал(а):Люди... хи хи.. по поводу размеров высоты и ширины больше/меньше. Есть такая штука как BackgroundImageLayout - поставь zoom и наслаждайся! только код открытия будет немного другим:

Код: Выделить всё
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        If (OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK) Then
            PictureBox1.BackgroundImage = Image.FromFile(OpenFileDialog1.FileName)
            BackgroundImageLayout = ImageLayout.Zoom 'Выбери по усмотрению
        End If
    End Sub

Спасибо за код!
но мне нужно написать:
что если ширина и высота больше чем ...ширина и высота... то надо уменьшить размер изображения!

Razr
Новичок
Новичок
Аватара пользователя
 
Сообщения: 37
Зарегистрирован: 24.08.2008 (Вс) 20:22
Откуда: Брянская обл, Клинцы

Re: Помогите с Image...

Сообщение Razr » 16.09.2008 (Вт) 19:40

Чувак не волнуйся:-) Я сейчас напишу и выложу проект сегодня или завтра.

Razr
Новичок
Новичок
Аватара пользователя
 
Сообщения: 37
Зарегистрирован: 24.08.2008 (Вс) 20:22
Откуда: Брянская обл, Клинцы

Re: Помогите с Image...

Сообщение Razr » 16.09.2008 (Вт) 19:52

Попробуй это:
Код: Выделить всё
Public Class Form1
    Dim height_his, width_his As Integer ' Стандартная высота и ширина
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        height_his = 300
        width_his = 300
        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            PictureBox1.BackgroundImage = Image.FromFile(OpenFileDialog1.FileName)
            PictureBox1.BackgroundImageLayout = ImageLayout.Stretch
            If (Str(Val(PictureBox1.Height.ToString)) > height_his) Or (Str(Val(PictureBox1.Width.ToString)) > width_his) Then
                PictureBox1.Height = height_his
                PictureBox1.Width = width_his
            Else
            End If
        End If
    End Sub
End Class


У меня все работает на ура:-)

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Помогите с Image...

Сообщение Nord777 » 17.09.2008 (Ср) 7:52

Razr писал(а):
Код: Выделить всё
If (Str(Val(PictureBox1.Height.ToString)) > height_his) Or (Str(Val(PictureBox1.Width.ToString)) > width_his) Then

Сильно :mrgreen:
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Razr
Новичок
Новичок
Аватара пользователя
 
Сообщения: 37
Зарегистрирован: 24.08.2008 (Вс) 20:22
Откуда: Брянская обл, Клинцы

Re: Помогите с Image...

Сообщение Razr » 17.09.2008 (Ср) 12:13

Nord777 писал(а):
Razr писал(а):
Код: Выделить всё
If (Str(Val(PictureBox1.Height.ToString)) > height_his) Or (Str(Val(PictureBox1.Width.ToString)) > width_his) Then

Сильно :mrgreen:

Зато работает:-). Но это все же пример, а не исходник программы :D

Razr
Новичок
Новичок
Аватара пользователя
 
Сообщения: 37
Зарегистрирован: 24.08.2008 (Вс) 20:22
Откуда: Брянская обл, Клинцы

Re: Помогите с Image...

Сообщение Razr » 17.09.2008 (Ср) 18:19

Technar писал(а):
Здесь много примеров

А по логике так:
Код: Выделить всё
      If img.Width > myWidth AndAlso img.Height > myHeight Then

            '//Resize Image here

        End If

Чего то я не могу разобратся!

Код: Выделить всё
Dim mywidth As Integer = 300
    Dim myheight As Integer = 300
    Dim newheight As Integer = 100
    Dim newwidth As Integer = 100
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            PictureBox1.BackgroundImage = Image.FromFile(OpenFileDialog1.FileName)
            PictureBox1.BackgroundImageLayout = ImageLayout.Stretch
            If (PictureBox1.Width > mywidth) Or (PictureBox1.Height > myheight) Then
                PictureBox1.Width = PictureBox1.Width - newwidth
                PictureBox1.Height = PictureBox1.Height - newheight
            End If
        End If
    End Sub


Именно для твоего случая.

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

Re: Помогите с Image...

Сообщение Viper » 18.09.2008 (Чт) 7:36

Razr писал(а):
Nord777 писал(а):
Razr писал(а):
Код: Выделить всё
If (Str(Val(PictureBox1.Height.ToString)) > height_his) Or (Str(Val(PictureBox1.Width.ToString)) > width_his) Then

Сильно :mrgreen:

Зато работает:-). Но это все же пример, а не исходник программы :D
Фтопку такие примеры. :twisted:
Весь мир матрица, а мы в нем потоки байтов!

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Помогите с Image...

Сообщение Joo » 18.09.2008 (Чт) 8:59

Razr писал(а):Попробуй это:
Код: Выделить всё
If (Str(Val(PictureBox1.Height.ToString)) > height_his) Or (Str(Val(PictureBox1.Width.ToString)) > width_his) Then...



ппц код. Перевести число в строку, потом в число, потом в строку и сравнить с числом :shock:
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

Razr
Новичок
Новичок
Аватара пользователя
 
Сообщения: 37
Зарегистрирован: 24.08.2008 (Вс) 20:22
Откуда: Брянская обл, Клинцы

Re: Помогите с Image...

Сообщение Razr » 18.09.2008 (Чт) 16:06

Я теперь понял... извиняюсь... затупил :roll:


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

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

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

    TopList  
cron