임은 이미지 편집기에 대한 CTRL + Z undo
기능을 생성 동일한 이미지를 반환, 화면에 클릭 할 때마다이 코드와 이미지를 저장합니다저장 비트 맵은 항상
Private Sub SaveMap(ByVal sender As Object, ByVal e As EventArgs) Handles PictureBox1.Click
Dim asd As New Bitmap(Form6.PictureBox1.Image)
GlobalVariables.BackUp.Add(Form6.PictureBox1.Image)
asd.Dispose()
End Sub
하고 매번 사용자 프레스 CTRL + Z
이 코드는
Private Sub Picturebox1_KeyPress(ByVal sender As Object, ByVal e As KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Z And e.Control Then
GlobalVariables.BackUp.RemoveAt(GlobalVariables.BackUp.Count - 1)
Form6.PictureBox1.Image = New Bitmap(GlobalVariables.BackUp.Last)
Form6.PictureBox1.Refresh()
End If
End Sub
을 실행하지만, 모든 비트 맵은
Public Shared BackUp As New List(Of Bitmap)
가 동일한에 저장 메신저 것을 seens됩니다.
GlobalVariables.BackUp.Item()
으로 어떤 색인을 반환하든 관계없이 모두 동일한 이미지를 반환합니다.
왜 목록의 비트 맵이 바뀌면서 차례로 추가되지 않습니까?
목록에는 비트 맵을 저장하지 않고 그림 상자 이미지는 참조로 저장합니다. 그 이미지가 바뀌면 단순한 참조이므로 저장 한 내용도 마찬가지입니다. – Plutonix