Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 9

Клонирование существующего изображения (массива изображений)

01.08.2014, 13:33. Показов 1671. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Как по клику на кнопку сделать копию уже существующего изобраения (массив изображений)?

Заранее благодарен...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.08.2014, 13:33
Ответы с готовыми решениями:

Клонирование части изображений
Всем здравствуйте. Существует ли в Builder6 функции клонирования части изображений или пользуемся BitBlt?

Создание безразмерного массива. Изменение границ уже существующего
Всем привет. Такая задачка. Есть текстовый файл. Считываю все его в массив string. string str = File.ReadAllLines(path); Затем мне...

Сравнить область изображения с массивом изображений
Здравствуйте. Помогите реализовать. 1. Нужно создать масив bitmap ов из ~100 фалов изображений. 2. Сравнить выбранную область...

13
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
01.08.2014, 13:38
Если это массив изображений и находятся они в объекте Image
то так:

Visual Basic
1
2
Load Image1(1)
Image1(1).Picture=Image1(0).Picture
Если картинка в файле то примерно так:
Visual Basic
1
Image1(1).Picture = LoadPicture("Файл")
1
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 9
01.08.2014, 13:40  [ТС]
Господи иисусе. Спасибо! Как все просто... а я мудрил. Простите, просто ранее работал и работаю с PHP, тут пришлось сделать небольшое извращение на VB, а он в этом плане отличный!
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
01.08.2014, 13:43
Так-же можно создать динамически:

Visual Basic
1
2
3
4
5
6
7
Private Sub Form_Load()
        With Controls.Add("vb.Image", "Image1")
        .Stretch = 1 'Автоматический размер
        .Picture = LoadPicture("Ваш файл")
        .Visible = 1
    End With
End Sub
1
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 9
01.08.2014, 13:45  [ТС]
Антихакер32, прошу прощения... еще небольшой вопросик...

Поясню зачем мне надо данная реализация...

У меня происходит загрузка картинок из файла (уже есть), и создание массива картинок с расположением их в столбик.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
For Check_img_count = 1 To Img_count_x
Load Img(Check_img_count)
With Img(Check_img_count)
.Picture = LoadPicture(App.Path & "\data\img\components\" & Img_url_mass(Check_img_count - 1))
.Left = 700
.Top = (Check_img_count - 1) * Img(Check_img_count - 1).Height * 1.2
.Visible = True
.ToolTipText = Img_url_mass(Check_img_count - 1)
Frame_external.Height = Frame_external.Height + Img(Check_img_count - 1).Height * 1.2
End With
Next Check_img_count
И надо, как оказалось, не просто по клику, а DragDrop. К примеру беру первую по индексу картинку, перетягиваю ее в любую точку формы, отпускаю и она остается на том месте где я ее дропнул (положил), НО самое важное, что она не должна убираться также со старого места, по сути я создаю клон той картинки из индекса которую выбираю... может поможете, пожалуйста?
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
01.08.2014, 13:57
Для этого у многих объектов (не только у Image1)
есть события DragDrop
примеры:
Visual Basic
1
2
3
4
5
6
7
Private Sub Image1_DragDrop(Source As Control, X As Single, Y As Single)
 
End Sub
 
Private Sub Image1_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
 
End Sub
Source, это перетаскиваемый объект

Добавлено через 4 минуты
Свойство у объекта DragMode должно быть =1 (Automatic)

Добавлено через 1 минуту
Если интересно, я выложу готовый проект, с двумя картинками
для того чтоб увидеть что и как...
1
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 9
01.08.2014, 13:59  [ТС]
Эххх... что то не выходит с моим кодом именно при работе с массивом картинок (((

Добавлено через 1 минуту
Если можно, выложите, пожалуйста... Блин с массивом не могу определить каокй обьект я пикнул (тяну)...
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
01.08.2014, 14:05
Цитата Сообщение от VakaVaka Посмотреть сообщение
Эххх... что то не выходит
Ok через час выложу
для примера скачаю свой замечательный аватар для упражнений
0
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 9
01.08.2014, 14:09  [ТС]
Делаю так:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Img_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
 
For i = 0 To Img_count_x
 
If Index = i Then
 
Load Img(Check_img_count + 1)
With Img(Check_img_count + 1)
.Picture = Img(i).Picture
.Left = X - Image1.Width / 2
.Top = X - Image1.Width / 2
.Visible = True
End With
 
End If
 
Next i
 
End Sub
И... кидает ошибку при компиле:
Миниатюры
Клонирование существующего изображения (массива изображений)  
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
01.08.2014, 14:26
Лучший ответ Сообщение было отмечено Dragokas как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Option Explicit
 
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
    Dim p As PictureBox
    Load pic(pic.UBound + 1)
    Set p = pic(pic.UBound)
    Set p.Picture = Source.Picture
    Set p.DragIcon = Source.DragIcon
    p.Move X, Y
    p.Visible = True
End Sub
На форме массив контролов pic. DragMode = Automatic
Вложения
Тип файла: rar DragDrop.rar (165.4 Кб, 25 просмотров)
2
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
01.08.2014, 14:39
Лучший ответ Сообщение было отмечено VakaVaka как решение

Решение

Вот
Вложения
Тип файла: rar Перетаскивание.rar (3.9 Кб, 18 просмотров)
1
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 9
01.08.2014, 14:42  [ТС]
Спасибо огромное!
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
01.08.2014, 14:45
Я хотел в течении часа еще чудес с картинками добавить..
но так как меня стали опережать успел сделать только это...

Кликните здесь для просмотра всего текста
Visual Basic
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
Option Explicit
Const rct = 1000
Dim ind&
 
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
    Debug.Print "Form_DragOver"
    Load Image1(ind)
    With Image1(ind)
        .Stretch = 1
        .Picture = Source.Picture
        .Move X, Y, Source.Width, Source.Height
        .DragMode = 1
        .Visible = 1
    End With
    ind = ind + 1
End Sub
 
 
Private Sub Form_Load()
    On Error Resume Next
    ChDir App.Path
    For ind = 0 To 3
        Load Image1(ind)
        With Image1(ind)
            .Stretch = 1
            .Picture = LoadPicture("avatar445967_15.gif")
            .Move 0, ind * rct, rct, rct
            .DragMode = 1
            .Visible = 1
        End With
    Next
End Sub
1
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 9
01.08.2014, 14:49  [ТС]
Все просто идеально! Спасибо Вам огромное за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.08.2014, 14:49
Помогаю со студенческими работами здесь

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

Генерация изображения из других изображений и текста
Здравствуйте. Подскажите, пожалуйста, куда копать или, может, есть готовые библиотеки для решения следующей задачи: Делаю вывод...

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

Написать функцию дополнения уже существующего массива структур новыми структурами
нужно написать функцию дополнения уже существующего массива структур новыми структурами! нашел на форуме, что это можно реализовать с...

Поиск шаблонных изображений внутри другого изображения
Вообщем программа делает скриншот другой программы и ищет на скрине заранее созданные мелкие изображения, результат работы, ответ найден...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru