Как сохранить изображение, нарисованное в графическом редакторе - VB

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

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

Пожалуйста помогите! Создаю графический редактор. Я не могу сделать кнопку сохранить,она никак не хочет работать!
Листинг программы
  1. Private Type POINTAPI
  2. X As Integer
  3. Y As Integer
  4. End Type
  5. Private Poly() As POINTAPI
  6. Dim DblClick
  7. Sub Form_Load()
  8. Lft = Picture1.Left
  9. Picture1.Top = Lft
  10. Text1.Top = Lft
  11. Text1.Left = Lft
  12. Text1.FontBold = False
  13. Picture1.DrawWidth = 5
  14. Picture1.BackColor = QBColor(15)
  15. Text1.Visible = False
  16. End Sub
  17. Sub form_resize()
  18. On Error Resume Next
  19. Lft = Picture1.Left
  20. Command1.Top = ScaleHeight - Lft - Command1.Height
  21. Command1.Left = (ScaleWidth - Command1.Width) / 2
  22. Text1.Width = ScaleWidth - 2 * Lft
  23. Picture1.Width = Text1.Width
  24. Text1.Height = Command1.Top - 2 * Lft
  25. Picture1.Height = Text1.Height
  26. End Sub
  27. Sub form_KeyDown(KeyCode As Integer, Shift As Integer)
  28. If KeyCode = 112 Then
  29. Text1.Visible = Not Text1.Visible
  30. Picture1.Visible = Not Text1.Visible
  31. End If
  32. End Sub
  33. Private Sub Open_Click()
  34. CommonDialog1.InitDir = "D:\"
  35. CommonDialog1.CancelError = True
  36. On Error Resume Next
  37. CommonDialog1.ShowOpen
  38. If Err Then Exit Sub
  39. Picture1.Picture = LoadPicture(CommonDialog1.FileName)
  40. End Sub
  41. Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  42. Static FarbNr
  43. If DblClick Then
  44. Exit Sub
  45. End If
  46. FarbNr = FarbNr + 1
  47. If FarbNr = 1 Then FarbNr = 7
  48. If FarbNr > 15 Then FarbNr = 0
  49. If Picture1.BackColor = QBColor(FarbNr) Then FarbNr = FarbNr + 1
  50. If FarbNr > 15 Then FarbNr = 0
  51. If Picture1.BackColor = QBColor(FarbNr) Then FarbNr = FarbNr + 1
  52. Picture1.ForeColor = QBColor(FarbNr)
  53. ReDim Poly(0)
  54. Poly(0).X = X
  55. Poly(0).Y = Y
  56. End Sub
  57. Sub picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  58. If DblClick Then Exit Sub
  59. If Button > 0 Then
  60. CreatePolyLine Picture1, X, Y
  61. End If
  62. End Sub
  63. Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  64. If DblClick Then
  65. DblClick = False
  66. Exit Sub
  67. End If
  68. Select Case Button
  69. Case 1
  70. polylinezeichnen Picture1
  71. Case 2
  72. PolyGonZeichnen Picture1
  73. End Select
  74. End Sub
  75. Sub Picture1_DblClick()
  76. DblClick = True
  77. Picture1.Cls
  78. End Sub
  79. Sub CreatePolyLine(Obj As PictureBox, X, Y)
  80. UB = UBound(Poly)
  81. ReDim Preserve Poly(UB + 1)
  82. UB = UBound(Poly)
  83. Poly(UB).X = X
  84. Poly(UB).Y = Y
  85. Obj.PSet (X, Y)
  86. End Sub
  87. Private Sub PolyGonZeichnen(Obj As PictureBox)
  88. polylinezeichnen Picture1
  89. Obj.Line -(Poly(0).X, Poly(0).Y)
  90. End Sub
  91. Private Sub polylinezeichnen(Obj As PictureBox)
  92. Obj.PSet (Poly(0).X, Poly(0).Y)
  93. For m = 1 To UBound(Poly)
  94. Obj.Line -(Poly(m).X, Poly(m).Y)
  95. Next
  96. End Sub
  97. Private Sub Command1_Clik()
  98. PrintPicture Printer, Picture1.image
  99. End Sub
  100. Private Sub Picture9_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  101. x0 = X
  102. y0 = Y
  103. If Button = 2 Then PopupMenu edit
  104. End Sub
  105. Private Sub new_Click()
  106. Picture1.Cls
  107. End Sub
  108. Private Sub Save_Click()
  109. CommonDialog1.InitDir = "D:\"
  110. CommonDialog1.CancelError = True
  111. CommonDialog1.Filter = "*.bmp|*.bmp"
  112. On Error Resume Next
  113. CommonDialog1.ShowSave
  114. If Err Then Exit Sub
  115. If CommonDialog1.FileName <> "" Then
  116. SavePicture Picture1.image, CommonDialog1.FileName
  117. End If
  118. End Sub
  119. Private Sub size_Click()
  120. Form2.Text1.Text = Picture1.Width
  121. Form2.Text2.Text = Picture1.Height
  122. Form2.Show vbModal
  123. End Sub

Решение задачи: «Как сохранить изображение, нарисованное в графическом редакторе»

textual
Листинг программы
  1. Private Sub Save_Click()
  2. CommonDialog1.InitDir = "D:\"
  3. CommonDialog1.CancelError = True
  4. CommonDialog1.Filter = "*.bmp|*.bmp"
  5. On Error Resume Next
  6. CommonDialog1.ShowSave
  7. SavePicture Picture1.Image, CommonDialog1.FileName
  8. End Sub

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


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

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

12   голосов , оценка 4.417 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы