Я использую richtextbox в качестве полей примечаний, которые позволяют пользователю добавлять изображение
Теперь я получаю ошибку вне памяти при сохранении полей, когда он содержит изображение с разрешением 4800x2800, возникает ошибка
on rtfText = Me.txtNotes.Rtf, когда я отлаживаю его
«Произошло необработанное исключение типа« System.OutOfMemoryException »в mscorlib.dll»
есть ли ограничение на размер?Я планирую ограничить изображение до 1920x1080, но не знаю, как, поскольку оно возвращает ошибку OOM, прежде чем я что-то могу сделать (я думаю, что это из richtextbox.rtf)
Буду признателен, если смогу получить помощь по ограничению разрешения изображениякоторые можно добавить
Private Function ValidateRichTextImage() As Boolean
Dim rtfText As String
Dim width As Integer
Dim height As Integer
rtfText = Me.txtNotes.Rtf
Dim widthRegex As New Regex("picwgoal[\d]+")
Dim heightRegex As New Regex("pichgoal[\d]+")
Dim widthmatch = widthRegex.Match(rtfText)
If widthmatch.success Then
Dim swidth As String = widthmatch.ToString.Replace("picwgoal", "")
width = Integer.Parse(swidth) / 15
End If
Dim heightmatch = heightRegex.Match(rtfText)
If heightmatch.success Then
Dim sheight As String = heightmatch.ToString.Replace("pichgoal", "")
height = Integer.Parse(sheight) / 15
End If
If rtfText.Contains("picwgoal") AndAlso width = 0 AndAlso height = 0 Then
Me.Errors.Add("P1MMO0001", , Tb.Errors.ErrorTypeType.ErrorTypeError, , )
Return False
End If
If width >= height Then 'landscape
If width > mcImageWidth OrElse height > mcImageHeight Then
Me.Errors.Add("P1MMO0001", , Tb.Errors.ErrorTypeType.ErrorTypeError, , )
Return False
End If
Else 'portrait
If width > mcImageHeight OrElse height > mcImageWidth Then
Me.Errors.Add("P1MMO0001", , Tb.Errors.ErrorTypeType.ErrorTypeError, , )
Return False
End If
End If
Return True
End Function