Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379

Сохранение картинки без вызова диалогового окна

11.02.2016, 21:47. Показов 2161. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите как сохранить измененную картинку?
при всех попытках вызывается диалоговое окно, где нужно указать путь, имя и формат
а нужно чтобы все эти параметры остались прежними но изменения в картинки отразились
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.02.2016, 21:47
Ответы с готовыми решениями:

Как загрузить картинку на сервер без открытия диалогового окна?
как загрузить картинку на сервер без открытия диалогового окна? страница сайта автоматически загружает картинку после выбора.

Как сохранить созданный файл Word без появления диалогового окна
При сохранении документа вылезает окно выбора названия и места сохранения файла. Можно ли сделать так, чтобы оно не появлялось? В интернете...

Печать фотографии без диалогового окна
Здравствуйте, подскажите возможно ли напечатать фотографию/документ без диалогового окна? и как это сделать? просто задача стоит на...

7
94 / 94 / 36
Регистрация: 01.10.2014
Сообщений: 229
11.02.2016, 22:03
а пример кода? очень мало информации. Вы видимо к кнопке, которая сохраняет привязали SaveDialog - поэтому оно и открывается...
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
11.02.2016, 22:09  [ТС]
точно, вызов убрала теперь другая ошибка
это в главном окне
C#
1
2
3
4
5
private void сохранитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
             fImage f = (fImage)ActiveMdiChild;
             f.SaveImage(FD.FileName);
        }
это в дочернем
C#
1
2
3
4
 public void SaveImage(string strPath)
        {
            mainPicture.Image.Save(strPath);
        }
здесь появляется окно
Миниатюры
Сохранение картинки без вызова диалогового окна  
0
94 / 94 / 36
Регистрация: 01.10.2014
Сообщений: 229
11.02.2016, 22:13
все равно мало информации... Может вы этот файл используете, поэтому нельзя сохранить. Можете кинуть проект?
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
11.02.2016, 22:45  [ТС]
вот кода на главной
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
namespace fMain
{
    public partial class fMain : Form
    {
        public fMain()
        {
            InitializeComponent();
        }
 
        private void fMain_Load(object sender, EventArgs e)
        {
 
        }
 
        private void открытьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if(FD.ShowDialog() == DialogResult.OK)
            {
                fImage f = new fImage();
                f.LoadImage(FD.FileName);
                f.MdiParent = this;
                f.Show();
            } 
        }
 
        private void сохранитьКакToolStripMenuItem_Click(object sender, EventArgs e)
        {
           if(FS.ShowDialog() == DialogResult.OK) 
           {
               fImage f = (fImage)ActiveMdiChild; 
               f.SaveImage(FS.FileName); 
           } 
        }
 
        private void файлToolStripMenuItem_DropDownOpening(object sender, EventArgs e)
        {
            сохранитьКакToolStripMenuItem.Enabled = (ActiveMdiChild != null); 
            сохранитьToolStripMenuItem.Enabled = (ActiveMdiChild != null); 
        }
 
        private void выходToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }
 
        private void сохранитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
             fImage f = (fImage)ActiveMdiChild;
             f.SaveImage(FD.FileName);
        }
    }
}
и дочерней
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
namespace fMain
{
    public partial class fImage : Form
    {
        public fImage()
        {
            InitializeComponent();
        }
        private Graphics gr;  
 
        private bool bCanDraw = false; 
        private int lastX; 
        private int lastY; 
 
        public void LoadImage(string strPath) 
        { 
            Text = System.IO.Path.GetFileName(strPath); 
            mainPicture.Image = new Bitmap (strPath);
            gr = Graphics.FromImage(mainPicture.Image);
        }
        public void SaveImage(string strPath)
        {
            mainPicture.Image.Save(strPath);
        }
 
        private void mainPicture_MouseMove(object sender, MouseEventArgs e)
        {
            if (bCanDraw)
            {
                if (e.Button == MouseButtons.Left)
                {
                    gr.DrawLine(Pens.Black, lastX, lastY, e.X, e.Y);
                    lastX = e.X;
                    lastY = e.Y;
                    mainPicture.Refresh();
                }
                else
                {
                    bCanDraw = false;
                }
            } 
        }
 
        private void mainPicture_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                bCanDraw = true;
                lastX = e.X;
                lastY = e.Y;
            } 
        } 
    }
}
Миниатюры
Сохранение картинки без вызова диалогового окна   Сохранение картинки без вызова диалогового окна  
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
11.02.2016, 22:55  [ТС]
Проблема с сохранением файла
0
94 / 94 / 36
Регистрация: 01.10.2014
Сообщений: 229
12.02.2016, 18:24
можно просто проект скинуть. Запущу и найду ошибку
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
12.02.2016, 18:52
Эмили,
Если открывать изображение просто как new Bitmap (strPath), то файл будет открыт и вы не сможете в него ничего записывать. Поэтому нужно либо клонировать bitmap после открытия (а исходный - диспозить), либо открывать через FileStream:
C#
1
2
            using (var fs = new FileStream(strPath, FileMode.Open))
                bmp = (Bitmap) Image.FromStream(fs);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.02.2016, 18:52
Помогаю со студенческими работами здесь

Сохранение/чтение/работа с файлами Excel без вызова СОМ (альтернативные методы)
Добрый день, коллеги! Столкнулся с такой проблемой: в проекте Windows Forms реализовал сохранение в Excel файл (в два формата) таким...

Поиск диалогового окна
Открываю WinRAR. Пробую разархивировать. Появляется окно "Ввод пароля". Теперь объясняю. Хочу написать брут. Окно это открывается не...

Закрытие диалогового окна
Добрый день всем! Как закрыть диалоговое окно при открытии файла и загрузки содержимого в RichTextBox? private void...

Запрет закрытия диалогового окна
Здравствуйте, как сделать чтобы форма не закрывалась при возникновении исключения в блоке try catch( например неправильный ввод)? Форму...

Как сделать паузу без подвисания и без вызова Sleep?
Здравствуйте, как можно сделать паузу без "второго" потока и вешания программы посредством System.Threading.Thread.Sleep? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru