Нужна помощь. Я пытаюсь нарисовать меньшее растровое изображение в большее растровое изображение. Я пытаюсь использовать Lockbits, чтобы ускорить процесс go. Но моя функция .DrawImage не будет выполняться. Ошибка является общей ошибкой GDI + (исключение необработанного). Это мой фрагмент кода. Что я делаю неправильно? Mis c .Lockbitmap проверено на работоспособность, поэтому я не думаю, что ошибка есть, но я могу также показать этот код здесь, если это поможет.
Я должен добавить, что это часть гораздо больший код. Чтобы уточнить: я могу использовать выполнить строку с .DrawImage, если я отключить блокировку.
Dim largerFile As New Bitmap(BitMapSizeX, BitMapSizeY)
Call MiscClass.LockBitmap(largerFile, PixBytes, RowSizeBytes)
Dim GraphicsModifier As Graphics = Graphics.FromImage(largerFile)
Dim currentPic As New Bitmap(smallerFilePath.Tostring) ' & ".jpg")
GraphicsModifier.DrawImage(currentPic, picAndLoc.XLoc, picAndLoc.YLoc, ComponentSize, ComponentSize)
Public Shared m_BitmapData As BitmapData
' Lock the bitmap's data.
Public Shared Sub LockBitmap(ByRef bm As Bitmap, ByRef PixBytes() As Byte, ByRef RowSizeBytes As Integer)
Dim bounds As Rectangle = New Rectangle(0, 0, bm.Width, bm.Height)
m_BitmapData = bm.LockBits(bounds, Imaging.ImageLockMode.ReadWrite, Imaging.PixelFormat.Format24bppRgb)
RowSizeBytes = m_BitmapData.Stride
' Allocate room for the data.
Dim total_size As Integer = m_BitmapData.Stride * m_BitmapData.Height
ReDim PixBytes(total_size)
Marshal.Copy(m_BitmapData.Scan0, PixBytes, 0, total_size)
End Sub