Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
 Аватар для Веди
18 / 13 / 1
Регистрация: 04.07.2012
Сообщений: 523

Сохранение картинок

04.05.2023, 19:40. Показов 772. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет друзья!
как сохранить картинку mycar.png в settings.settings что бы потом добавить её в:
C#
1
BackgroundImage = Resources.mycar,
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.05.2023, 19:40
Ответы с готовыми решениями:

Сохранение текста, картинок и listbox
Всем привет, намучался с этим сохранением постоянно выходит за пределы индекса (по кол-ву списка, хотя сохраняю все строго). И так нужно...

Сохранение картинки с сайта генерации картинок
Здравствуйте, подсобите пожалуйста советом или кодом. Только начал изучать C#, синтаксис языка знаю, но всех тонкостей разумеется нет, так...

перелистывание картинок (при неограниченном кол-ве картинок), используя пикчербоксы на C#
Здравствуйте. Как перелистывать картинки (при неограниченном кол-ве картинок), используя пикчербоксы на языке C#(желательно пример с кодом)?

14
 Аватар для roach1967
983 / 463 / 233
Регистрация: 27.06.2014
Сообщений: 1,033
04.05.2023, 20:09
Веди, для начала скопировать в папку проекта Resources скопировать нужную картинку (не обязательно, но желательно). Затем открываем файл ресурсов:

в файл ресурсов добавляем нужную картинку:

Теперь картинку можно использовать так:
C#
1
                    BackgroundImage = Properties.Resources.mycar;
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18295 / 14219 / 5368
Регистрация: 17.03.2014
Сообщений: 28,896
Записей в блоге: 1
04.05.2023, 20:28
Веди, можно сохранить в виде массива байтов по идее или в виде base64 строки, но я бы сохранил путь к картинке. Потому что если сохранить изображение в настройки, то это может заметно замедлить чтение и запись настроек. С путем такого не будет. Далее из пути несложно создать изображение.
C#
1
2
3
4
5
6
7
8
9
10
11
12
static Image LoadImage(string path)
{
    try
    {
        using var stream = File.OpenRead(path);
        return Image.FromStream(stream);
    }
    catch (FileNotFoundException)
    {
        return null;
    }
}
0
 Аватар для Веди
18 / 13 / 1
Регистрация: 04.07.2012
Сообщений: 523
05.05.2023, 06:01  [ТС]
roach1967, OwenGlendower,
вы оба не поняли
картинка у меня уже в ресурсах
мне надо добавить её вот сюда (миниатюра)
что бы после вызывать в нужном месте
ссылка значит ссылка но как её впихнуть в табличку не понятно
Миниатюры
Сохранение картинок  
0
sleep
 Аватар для I can
4935 / 4615 / 841
Регистрация: 13.04.2015
Сообщений: 9,790
05.05.2023, 06:58
Цитата Сообщение от Веди Посмотреть сообщение
вы оба не поняли
картинка у меня уже в ресурсах
Ты сам не понял. Если она уже в ресурсах, то её не надо сохранять, "что бы после вызывать в нужном месте".
0
 Аватар для Веди
18 / 13 / 1
Регистрация: 04.07.2012
Сообщений: 523
05.05.2023, 07:21  [ТС]
I can, спасибо добрый человек
вправил мозги
но всё же надо мне в настройках сохранять
ибо после перегрузки приложения всё на свои места вертается
C#
1
Settings.Default.Save();
это не кто не отменял


мне надо что=то в этом виде:
C#
1
Settings.Default.Picture = mycar;
что бы после вызвать:
C#
1
BackgroundImage = Resources.mycar,
0
sleep
 Аватар для I can
4935 / 4615 / 841
Регистрация: 13.04.2015
Сообщений: 9,790
05.05.2023, 07:33
Цитата Сообщение от Веди Посмотреть сообщение
но всё же надо мне в настройках сохранять
А как ты эту картинку используешь? Показал бы код, что ли..
0
 Аватар для Веди
18 / 13 / 1
Регистрация: 04.07.2012
Сообщений: 523
05.05.2023, 07:38  [ТС]
I can, это надо для сохранения данных что бы менять "Темы приложения "

C#
1
2
3
4
5
6
7
8
            myCar = new PictureBox(){
                BackgroundImage = Resources.mycar,
                BackgroundImageLayout = ImageLayout.Stretch,
                Location = new Point(centermycar-20, clientHeight-100),
                Size = new Size(40, 80),
                Visible = false,
            }; panel.Controls.Add(myCar);
            myCar.BringToFront();
вот код где динамически добавляется бокс и туда картинку вставляю

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
        private void checked_changed(object s, EventArgs e){
            RadioButton rb = (RadioButton)s;
            int val = int.Parse(rb.Tag.ToString());
            switch (val){
                case 0:
                    Settings.Default.ColorForm = Color.DodgerBlue;
                    Settings.Default.Border = 1;
                    //здесь надо сохранить картинку пнг mycar
                    break;
                case 1:
                    Settings.Default.ColorForm = Color.Violet;
                    Settings.Default.Border = 9;
                    //здесь надо сохранить картинку пнг mycar2
                    break;
                case 2:
                    Settings.Default.ColorForm = Color.DarkSlateBlue;
                    Settings.Default.Border = 0;
                    //здесь надо сохранить картинку пнг mycar3
                    break;
                default: break;
            }
        }
0
sleep
 Аватар для I can
4935 / 4615 / 841
Регистрация: 13.04.2015
Сообщений: 9,790
05.05.2023, 07:54
Цитата Сообщение от Веди Посмотреть сообщение
что бы менять "Темы приложения "
Так тебе номер темы надо сохранять, а не картинку.
Это же касается и других параметров темы.
0
 Аватар для Веди
18 / 13 / 1
Регистрация: 04.07.2012
Сообщений: 523
05.05.2023, 08:06  [ТС]
тему создают параметры: ширина бордюра, цвет и т.д.
их и сохраняю, всё работает
нашёл в обзоре типов такое (миниатюра)
не пойму какое значение туда надо. на имя файла пнг ругается не может преобразовать
Миниатюры
Сохранение картинок  
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
05.05.2023, 08:14
Лучший ответ Сообщение было отмечено Веди как решение

Решение

Сохраняйте имя ресурса, при вычитке подставляйте. Выглядит как-то так.

P.S. Вообще смысл хранить все файлы в ресурсах? Чтобы ОЗУ у юзера не простаивало?
Вложения
Тип файла: zip PictureInSettings.zip (190.8 Кб, 7 просмотров)
1
 Аватар для Веди
18 / 13 / 1
Регистрация: 04.07.2012
Сообщений: 523
05.05.2023, 09:30  [ТС]
Wolfdp, это я и имел в виду
всё заработал
по поводу "хранить все файлы в ресурсах" не очень понял о чём это?
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
05.05.2023, 10:29
Цитата Сообщение от Веди Посмотреть сообщение
по поводу "хранить все файлы в ресурсах" не очень понял о чём это?
грубо говоря если хотя бы раз обратился к изображению в ресурсах -- оно остается в ОЗУ до скончания процесса. Если там 5 картинок по 100кб -- можно в принципе и забить. Если прям гора ресурсов на 100 МБ, из которых одномоментно используется не то чтобы много... ну, сейчас у пользователей как правило ОЗУ измеряется таки в ГигаБайтах, но все равно не красиво.
0
 Аватар для Веди
18 / 13 / 1
Регистрация: 04.07.2012
Сообщений: 523
05.05.2023, 11:51  [ТС]
Wolfdp, и что делать как освобождать ресурс?
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
05.05.2023, 19:58
Веди, сохранять путь к картинке. Формируете папку pic, в неё запихиваете ваши изображения, в настройках храните только имя файла. При подстановке где-то такой код (набираю без студии)

C#
1
2
3
pictureBox.Image?.Dispose();
var path = Settings.ImageName;
pictureBox.Image = Image.FromFile(path)
p.s. в идеале учтите этот момент Относительное зло
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.05.2023, 19:58
Помогаю со студенческими работами здесь

Сохранение файла в тот же путь, сохранение настроек блокнота
Ребята, два вопроса. Как сделать сохранение из блокнота в то же самое место, типо в тот же файл, тоесть не "сохранить как" а...

Сохранение картинок без потери качества
как сохранить качество при сохранении картинок, если при сохранении я меняю размер картинки. Например у меня имеется картинка 1024*768 с...

Сохранение файлов(картинок) HTTP запросом напрямую в pictureBox
Как можно будет сохранить картинку напрямую в форму(picturebox)? Ниже приведен пример как сохранить на хард. HttpWebRequest...

Сохранение и Чтения множество картинок в 1 файл совместно с JSON данными
Здравствуйте. Возможно не правильно назвал тему но: Есть класс с данными которые сохраняются в файл JSON через JS серелизацию Мне с...

Сохранение нескольких картинок(3000-4000 штук) в видеофайл(.mov или .avi)
Здравствуйте! Я тут решил некое количество картинок(без звука) сохранить в видеофайл! Мысль в том, чтобы получать картинку и сразу-же...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru