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

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «VB 6 Довести до конца код выделения изображения»

textual
Листинг программы
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

ИИ поможет Вам:


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

Оцени полезность:

7   голосов , оценка 3.857 из 5