Модераторы: gambit, Partizan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение размеров картинки в PictureBox 
V
    Опции темы
HelgaZaharova
Дата 22.4.2008, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



Подскажите, пожалуйста, как изменить размеры картинки, загруженной в PictureBox, и сделать полосы прокрутки. smile  
PM MAIL   Вверх
jonie
Дата 22.4.2008, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 5
Всего: 118



есть такая хрень как scrollableControl (обычно оно не вынесено в тулбокс - давите правой Choose items и добавляйте).
Далее в него пихаете pictureBox... и какго угодно размера его делаете (например при загрузке).
появятся полосы прокрутки....
ну, а уменьшить-увеличить сами найдете...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
HelgaZaharova
Дата 22.4.2008, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



cпс, я думала вручную писать))
А все-таки есть люди, которые помогут с размерами, мне эо было более принипиально)) smile 

Это сообщение отредактировал(а) HelgaZaharova - 22.4.2008, 22:40
PM MAIL   Вверх
vponomarov
Дата 22.4.2008, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 5
Всего: 12



jonie, прикольно, не знал такого
кстати, такого же эффекта можно добиться при помощи обычной панели smile чет я сразу не подумал о таком методе решения


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
jonie
Дата 22.4.2008, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 5
Всего: 118



vponomarov ну как бы панель отнаследована от ScrollableControl


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
HelgaZaharova
Дата 27.4.2008, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет




Делаю так:

 private void button7_Click(object sender, EventArgs e)
        {  
int Width, Height, Width1, Height1;
            Bitmap bm = new Bitmap(100, 200);
            Width = 100;
            Height = 200;
            Width1 = Width/20;
            Height1 = Height/20;
            Bitmap bm1 = new Bitmap(Width1, Height1);
            pictureBox1.Image = bm1;
}
Рхамеры картинки  изменяются, кажется... но эта полученная картинка не отображается.... Есть другие варианты?
PM MAIL   Вверх
vponomarov
Дата 27.4.2008, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 5
Всего: 12



HelgaZaharova, извени, а что вообще должно отображаться?
Код

            Width1 = Width/20;
            Height1 = Height/20;
            Bitmap bm1 = new Bitmap(Width1, Height1);
            pictureBox1.Image = bm1;

вот этим кодом ты создаешь пустую (скорее всего полностью черную) картинку размером 50х100 и отображаешь ее в pictureBox1
смысла в этих строчках вообще не вижу, но это такое дело:
Код

            Bitmap bm = new Bitmap(100, 200);
            Width = 100;
            Height = 200;



--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
HelgaZaharova
Дата 28.4.2008, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



vponomarov,  не поверишь, это не последний способ, кот. я пользовалась... А как правильно, скажи, пожалуйста...  smile 

Это сообщение отредактировал(а) HelgaZaharova - 28.4.2008, 10:01
PM MAIL   Вверх
vponomarov
Дата 28.4.2008, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 5
Всего: 12



HelgaZaharova, на сколько я понял задачу тебе нужно сделать че-нить типа такого:
- в дизайнере на форму положить панель, выставить ей Autoscroll=true, на панель положить пикчерБокс, которому установить SizeMode=Zoom (ну или StretchImage)
- установить в pictureBox1.Image нужную картинку (скорее всего загрузить в объект Bitmap с диска, но могут быть варианты smile )
- в коде изменять размеры пикчерБокса. полосы прокрутки будут появляться автоматически и картинка будет растягиваться до указанного размера


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
HelgaZaharova
Дата 28.4.2008, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



Только изменение размеров картинки должно происходить при нажатии кнопки.
PM MAIL   Вверх
HelgaZaharova
Дата 1.5.2008, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



А ты знаешь, как это сделать?
PM MAIL   Вверх
vponomarov
Дата 3.5.2008, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 5
Всего: 12



Цитата(HelgaZaharova @  1.5.2008,  17:23 Найти цитируемый пост)
А ты знаешь, как это сделать? 

а какие проблемы?
Код

private void button7_Click(object sender, EventArgs e)
{  
            pictureBox1.Size=new Size(100,200);
}

что еще осталось неясным? smile 


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
HelgaZaharova
Дата 3.5.2008, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



Если честно, я делала вот так:
Код

private void button7_Click(object sender, EventArgs e)
        {
            {
                if (this.pictureBox1.Image == null)
                {
                    MessageBox.Show("Choose Image");
                }
               
else
{
                Image  myBitmap = pictureBox1.Image; 
                this.pictureBox1.Size = new Size(myBitmap.Width, myBitmap.Height);                                
                Size nSize = new Size(pictureBox1.Image.Width /2, pictureBox1.Image.Height /2);
                Image gdi = new Bitmap(nSize.Width, nSize.Height);
                Graphics ZoomInGraphics = Graphics.FromImage(gdi);
                ZoomInGraphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
                ZoomInGraphics.DrawImage(pictureBox1.Image, new Rectangle(new Point(0, 0), nSize), new Rectangle(new Point(0, 0), pictureBox1.Image.Size), GraphicsUnit.Pixel);
                ZoomInGraphics.Dispose();
                pictureBox1.Image = gdi;
                pictureBox1.Size = gdi.Size;            
            }
          }
        }


Работает как надо... smile А тебе спасибо большое... smile 
PM MAIL   Вверх
shark1
Дата 4.5.2008, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 10.11.2007

Репутация: нет
Всего: нет



HelgaZaharova класный пример smile ,а как открыть например фото в новом окне используя этот пример.Спасибо.
PM MAIL   Вверх
HelgaZaharova
Дата 7.5.2008, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



shark1, не совсе мпоняла, что ты имеешь ввиду, данный код меняет размер картинки, которая находится в PictureBox...
Можно попробовать загрузить каринку из файла (OpenFile), можно задать конкретную картинку, тогда проще использовать Bitmap, а не Image. А новое окно.. в смысле дочерняя форма, или в этом же PictureBox?
PM MAIL   Вверх
shark1
Дата 9.5.2008, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 10.11.2007

Репутация: нет
Всего: нет



в смысле дочерняя форма.Spasibo
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.