Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
4 / 4 / 0
Регистрация: 24.02.2016
Сообщений: 229

Наложение нескольких изображений. Сохранение полученного изображения

24.11.2018, 19:21. Показов 2920. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, коллеги.

В проекте есть ряд изображений, которые накладываются друг на друга в зависимости от хода выполнения программы. В результате получается итоговое изображение из наложенных друг на друга изображений. Далее поле=ученный результат надо сохранить в виде JPG файла.
Прошу Вас подсказать, как можно получить необходимый результат. Что мне нужно изучить. Работа с PictureBox? Или изучать Graphics? В какую сторону расширять свои знания?

Заранее признателен за советы и участие.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.11.2018, 19:21
Ответы с готовыми решениями:

Наложение изображений, запись изображения в файл
Добрый день! Помогите разобраться пожалуйста, необходимо наложить в маткаде одно изображение на другое. Пока не получается. Что я...

Наложение нескольких изображений друг на друга с их выбором
Приветствую всех. На одной из страниц сайта хочу сделать выбор из двух форм ввода input типа radio. В одном столбике 5 кнопок и в...

Наложение изображений с ореолом вокруг накладываемого изображения
Приветствую всех! Прошу помочь новичку. Необходимо наложить зелёный круг (в общем случае изображение любой конфигурации) на красный...

9
169 / 99 / 25
Регистрация: 07.08.2016
Сообщений: 382
Записей в блоге: 1
24.11.2018, 19:59
Ну во первых следует разобраться - каким образом вы собираетесь накладывать изображения одно на другое.
Если просто первое снизу ,а последнее сверху то без проблем - просто рисуете одно на другом
Если же вы хотите использовать прозрачность, то это другая история.
А кодирования в jpg в VB Net я не знаю.
Если оно есть кто нибудь подскажет
И да. Для наложения используйте Graphics.
0
4 / 4 / 0
Регистрация: 24.02.2016
Сообщений: 229
24.11.2018, 20:06  [ТС]
bbbw, не обязательно в JPG, можно в любой известный формат изображений. Подойдет и PNG. И BMP на крайний случай.
Наложение будет через изменение видимости.
Подскажите, в чем кардинальная разница Graphics и Bitmap?
0
169 / 99 / 25
Регистрация: 07.08.2016
Сообщений: 382
Записей в блоге: 1
24.11.2018, 20:27
при наложении используя Bitmap
можно поместить его на другой Bitmap методом Graphics
короче говоря - Graphics метод
Bitmap - объект
0
4 / 4 / 0
Регистрация: 24.02.2016
Сообщений: 229
24.11.2018, 20:58  [ТС]
bbbw, а где можно подробнее почитать про класс Graphics и Bitmap?
Описание свойств, методов.
Изображение добавлять в Graphics через Bitmap я научился. Надо двигаться дальше. Поворачивать, масштабировать, менять видимость и прозрачность...
Может посоветуете источник знаний по этой теме?
0
169 / 99 / 25
Регистрация: 07.08.2016
Сообщений: 382
Записей в блоге: 1
24.11.2018, 21:07
Не могу вам советовать - сам учусь
Единственное, что могу сказать со 100% долей вероятности , так то, что графика VB NET не подходит для динамических ее отображений
Если скажете конкретную задачу - с радостью вам помогу в пределах своих знаний.
0
4 / 4 / 0
Регистрация: 24.02.2016
Сообщений: 229
24.11.2018, 22:08  [ТС]
bbbw, у меня в зависимости от выбранных параметров строится габаритный чертеж узла. Предположим есть автомобиль. Указали в форме "Литые диски" - поставилась картинка с литыми дисками. Указали "Штампованные диски" - значит показалась картинка со штампованными дисками. Вот и вся задача.
А после выбора всех параметров итоговое полученное изображение нужно сохранить в виде файла.
0
129 / 108 / 24
Регистрация: 11.07.2017
Сообщений: 274
24.11.2018, 22:43
на всякий случай оставлю ссылку. Вдруг что полезное найдете
https://docs.microsoft.com/ru-... work-4.7.2

Добавлено через 27 минут
VB.NET
1
2
3
        Pic2.Image = Image.FromFile("C:\img1.png")
        Dim bmp = New Bitmap(Pic2.Image)
        bmp.Save("d:\img2.png")
Так в PictureBox можно загрузить , а потом сохранить в файл.
0
169 / 99 / 25
Регистрация: 07.08.2016
Сообщений: 382
Записей в блоге: 1
25.11.2018, 00:11
Allleksey, Создавайте поверхность Graphics
Например в PictureBox1
VB.NET
1
Dim g As Graphics = PictureBox1.CreateGraphics()
Выводите на нее изображения например так:
VB.NET
1
2
3
4
5
6
7
8
Dim a As Bitmap = New Bitmap("1.png")
....
Dim b As Bitmap = New Bitmap("10.png")
Dim p As Point 
        p.X = 10
        p.Y = 10
g.DrawImage(a, p)
g.DrawImage(b, p)
Затем сохраняйте как здесь:Сохранение изображения
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
25.11.2018, 00:31
Простой (очень) пример
Кликните здесь для просмотра всего текста
VB.NET
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
Public Class Form8
    Private p1, p2, p3, p4, bsImage, rzImage As Bitmap
    Private Sub Form8_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        bsImage = Image.FromFile("baseImg.png")
        p1 = Image.FromFile("p1.png")
        p2 = Image.FromFile("p2.png")
        p3 = Image.FromFile("p3.png")
        p4 = Image.FromFile("p4.png")
        Update_Click(Button1, Nothing)
    End Sub
    Private Sub Update_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        rzImage = New Bitmap(PictureBox1.Width, PictureBox1.Height)
        Dim gr As Graphics = Graphics.FromImage(rzImage)
        gr.DrawImage(bsImage, 0, 0, bsImage.Width, bsImage.Height)
        If CheckBox1.Checked Then gr.DrawImage(p1, CInt(TextBox1.Text), CInt(TextBox2.Text), p1.Width, p1.Height)
        If CheckBox2.Checked Then gr.DrawImage(p2, CInt(TextBox4.Text), CInt(TextBox3.Text), p2.Width, p2.Height)
        If CheckBox3.Checked Then gr.DrawImage(p3, CInt(TextBox6.Text), CInt(TextBox5.Text), p3.Width, p3.Height)
        If CheckBox4.Checked Then gr.DrawImage(p4, CInt(TextBox8.Text), CInt(TextBox7.Text), p4.Width, p4.Height)
        PictureBox1.Invalidate()
    End Sub
    Private Sub Save_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        rzImage.Save("Rezalt.png", System.Drawing.Imaging.ImageFormat.Png)
        MsgBox("Файл сохранен!")
    End Sub
    Private Sub PictureBox1_Paint(sender As System.Object, e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
        Dim g As Graphics = e.Graphics
        g.DrawImage(rzImage, 0, 0)
    End Sub
End Class
Миниатюры
Наложение нескольких изображений. Сохранение полученного изображения  
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.11.2018, 00:31
Помогаю со студенческими работами здесь

Сохранение нескольких изображений подряд
В общем помогите, чем сможете люди добрые!!!!!!!Есть такая проблема, необходимо сохранить 10 обработанных изображений подряд....как это...

Наложение изображения поверх другого изображения
Дорогие форумчане!Подскажите пожалуйста, как реализовать следующую задачу: необходимо наложить одно изображение поверх другого...

Наложение изображений
Помогите пожалуйста с кодом.. нужно создать новую картинку 300х300 с белым фоном и поместить в центр исходное изображение размером допустим...

Наложение изображений
Доброго времени суток! Столкнулся с одно проблемой и не знаю как лучше поступить. Есть PictureBox, в него я рисую картинку, она должны быть...

Наложение изображений
Как лучше всего зделать етот елемент? У меня есть елементы которые отмечены на фото, как лучше всего ето реализовать?


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru