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

VB 6 Довести до конца код выделения изображения

28.05.2014, 23:25. Показов 1384. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем вот код который выделяет изображение в Picturebox левой кнопкой мыши и записывает координаты в соответствующие текстовые поля так вот как теперь программно эту часть которую я выделил сохранить в файл ? Можно код как использовать эти координаты которые я получил чтобы сохранить эту область которую я выделил в файл ? Не знаю что использовать Picture1.scalewidth или picture1.width в общем не врублюсь как по координатам X и Y которые я получил сохранить именно эту область потому ч спасибо надесь за помощь спаибо
Пытался ТАК НО НЕ ТО ВЫДЕЛЯЕТ КОТОРОЕ Я ВЫДЕЛИЛ
Picture1.Width = 6225
Picture1.Height = 1560
Picture1.AutoRedraw = True


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
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.DrawMode = 6
'Draw style to dots
Picture1.DrawStyle = 2
'Check if a Select Box is already drawn
If X2 > 0 Then Picture1.Line (X1, Y1)-(X2, Y2), , B
'Reset all the values to the current point
X1 = X
Y1 = Y
X2 = X
Y2 = Y
x1pos.Text = X1
x2pos.Text = X2
y1pos.Text = Y1
y2pos.Text = Y2
End Sub
 
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Ïðîâåðèòü, íàæàòà ëè ëåâàÿ êíîïêà ìûøè
If Button = 1 Then
Picture1.Line (X1, Y1)-(X2, Y2), , B
X2 = X
Y2 = Y
Text2.Text = X
Text3.Text = Y
Picture1.Line (X1, Y1)-(X, Y), , B
End If
End Sub
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.05.2014, 23:25
Ответы с готовыми решениями:

jTable - не могу довести задачу до конца
Здравствуйте. Прошу помочь довести задачу до ума. Задача следующая: нужно создать таблицу с полями: "Наименование" (строка),...

Не могу до конца довести меню на CSS3
_http://soundhedge.com/drupal/ пункты меню получается, что смещены влево, а справа после НАШИ ПАРТНЕРЫ пустой пункт. Убирается он...

Довести код до рабочего состояния
Нашел видео в интернете. Делал по нему, но у меня не работает, а как сделать не знаю. Сам не напишу. class BmpTime { public: ...

5
Модератор
10052 / 3897 / 884
Регистрация: 22.02.2013
Сообщений: 5,850
Записей в блоге: 79
29.05.2014, 00:11
Вот пример родными средствами VB
Вложения
Тип файла: rar SavePicPart.rar (79.8 Кб, 23 просмотров)
0
-18 / 3 / 0
Регистрация: 12.01.2014
Сообщений: 210
29.05.2014, 02:10  [ТС]
Спасибо большое а координаты выделенного изображения в каких переменных хранятся ? Чтобы потом можно было потом программно сохранять уже по заданныем координатам а не выделять визуально я выделил визуально потом записал координаты и уже суда вставил сразу координаты
можешь помочь с этим ? вместо каких переменных надо числа вставлять почему их так много (((

Мне надо чтобы при выделение координаты сохранялись в textбоксах а затем уже оттуда считывались в этом коде для сохранения


Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Dim lw As Long, lh As Long
    If w = 0 Or h = 0 Then Exit Sub
    pic.Visible = False
    SelDraw w, h
    lw = pic.Width: lh = pic.Height
    pic.Width = ncw + w: pic.Height = nch + h: pic.Cls
    pic.PaintPicture pic.Picture, 0, 0, w, h, sx, sy, w, h
    SavePicture pic.Image, "C:\test.bmp"
    pic.Width = lw: pic.Height = lh
    pic.Cls: SelDraw w, h
    pic.Visible = True
0
Модератор
10052 / 3897 / 884
Регистрация: 22.02.2013
Сообщений: 5,850
Записей в блоге: 79
29.05.2014, 02:12
Лучший ответ Сообщение было отмечено Rad0n как решение

Решение

Цитата Сообщение от Rad0n Посмотреть сообщение
Спасибо большое а координаты выделенного изображения в каких переменных хранятся ?
sx,sy - координаты, w,h - размеры.
0
-18 / 3 / 0
Регистрация: 12.01.2014
Сообщений: 210
29.05.2014, 02:26  [ТС]
Слушай ты бы не мог подкорректировать этот исходник
Чтобы бы выделении в Textbox записывались координаты а когда нажимаешь сохранить выделенное изображении сохранялось с этих четырех текстбоксов
Буду очень признателен а то я с этим кодом пока разберусь а тебе как мостаку не займет и более 3х минут
0
-18 / 3 / 0
Регистрация: 12.01.2014
Сообщений: 210
30.05.2014, 17:47  [ТС]
THE TRICK ВЫРУЧАЙ!!!!!!!!!!!
Почему В ЭТОМ КОДЕ ДВА РАЗА w,h не пойму

pic.PaintPicture pic.Picture, 0, 0, w, h, sx, sy, w, h

Добавлено через 17 минут
Помоги ПОЖАЛУЙСТА СОХРАНЯЕТ КОРЯВО С TEXTБОКСОВ КАКИЕ ТО КООРДИНАТЫ УПУСТИЛ ИСПРАВЬ ПОЖАЛУЙСТА!

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Option Explicit
 
Dim sx As Long, sy As Long, w As Long, h As Long, ncw As Long, nch As Long, b As Boolean
 
Private Sub cmdSave_Click()
    Dim lw As Long, lh As Long
    If w = 0 Or h = 0 Then Exit Sub
    pic.Visible = False
    SelDraw w, h
    lw = pic.Width: lh = pic.Height
    pic.Width = ncw + w: pic.Height = nch + h: pic.Cls
    pic.PaintPicture pic.Picture, 0, 0, widthbox.Text, heightbox.Text, sxbox.Text, sybox.Text, widthbox.Text, heightbox.Text
    SavePicture pic.Image, "C:\golum\test.bmp"
    pic.Width = lw: pic.Height = lh
    pic.Cls: SelDraw widthbox.Text, heightbox.Text
    pic.Visible = True
End Sub
 
Private Sub Form_Load()
    ncw = pic.Width - pic.ScaleWidth: nch = pic.Height - pic.ScaleHeight
End Sub
Private Sub pic_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If w > 0 And h > 0 Then SelDraw w, h
    sx = X: sy = Y: w = 0: h = 0: b = True
    widthbox.Text = w
        heightbox.Text = h
        sxbox.Text = sx
        sybox.Text = sy
End Sub
Private Sub pic_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If b Then
        Dim dw As Long, dh As Long
        dw = X - sx: dh = Y - sy
        If dw = w And dh = h Then Exit Sub
        SelDraw dw, dh
        SelDraw w, h
        w = dw: h = dh
        widthbox.Text = w
        heightbox.Text = h
        sxbox.Text = sx
        sybox.Text = sy
    End If
End Sub
Private Sub pic_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    b = False
    If w < 0 Then w = -w: sx = sx - w
    If h < 0 Then h = -h: sy = sy - h
End Sub
Private Sub SelDraw(ByVal dw As Long, ByVal dh As Long)
    pic.DrawMode = vbXorPen
    pic.Line (sx, sy)-Step(dw, dh), , B
    pic.DrawMode = vbCopyPen
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.05.2014, 17:47
Помогаю со студенческими работами здесь

Не плохо бы довести до ума код
Добрый день.Вообщем я начал учить c# 2 месяца назад и уже понимаю что,и как.Но вот в чём проблема, у меня есть вот такой код: using...

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

покажите как правильно довести до ума код
Помогите разобраться в коде, должен переводить в любую систему счисления, не знаю как правильно обьявить num,fromnum,tonum. Помогите...

Функции для фильтрации изображения, а также выделения контуров по методу Собеля
Надо создать модуль, в котором описаны функции для фильтрации изображения.а также выделения контуров по методу Собеля. Создать программу...

Как в css сделать repeat от конца изображения?
Как в css сделать repeat от конца изображения?


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
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