fix: apply suggestions
This commit is contained in:
@@ -3,8 +3,6 @@
|
|||||||
|
|
||||||
'事件
|
'事件
|
||||||
|
|
||||||
Public Uuid As Integer = GetUuid()
|
|
||||||
|
|
||||||
Private _SourceData As String = ""
|
Private _SourceData As String = ""
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
@@ -15,20 +13,17 @@
|
|||||||
Return _SourceData
|
Return _SourceData
|
||||||
End Get
|
End Get
|
||||||
Set(value As String)
|
Set(value As String)
|
||||||
SetImage(value)
|
If String.IsNullOrEmpty(value) Then Exit Property
|
||||||
|
_SourceData = value
|
||||||
|
MyBase.Source = New MyBitmap(_SourceData)
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
Public Shared Shadows ReadOnly SourceProperty As DependencyProperty = DependencyProperty.Register("Source", GetType(String), GetType(MyImage), New PropertyMetadata(New PropertyChangedCallback(
|
Public Shared Shadows ReadOnly SourceProperty As DependencyProperty = DependencyProperty.Register("Source", GetType(String), GetType(MyImage), New PropertyMetadata(New PropertyChangedCallback(
|
||||||
Sub(sender As DependencyObject, e As DependencyPropertyChangedEventArgs)
|
Sub(sender As DependencyObject, e As DependencyPropertyChangedEventArgs)
|
||||||
If Not IsNothing(sender) Then
|
If Not IsNothing(sender) Then
|
||||||
CType(sender, MyImage).SetImage(e.NewValue)
|
If String.IsNullOrEmpty(e.NewValue.ToString()) Then Exit Sub
|
||||||
|
CType(sender, MyImage).Source = e.NewValue.ToString()
|
||||||
End If
|
End If
|
||||||
End Sub)))
|
End Sub)))
|
||||||
|
|
||||||
Private Sub SetImage(source As String)
|
|
||||||
If Me Is Nothing Then Exit Sub
|
|
||||||
If String.IsNullOrEmpty(source) Then Exit Sub
|
|
||||||
_SourceData = source
|
|
||||||
MyBase.Source = New MyBitmap(_SourceData)
|
|
||||||
End Sub
|
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -68,13 +68,6 @@ Public Class MyBitmap
|
|||||||
Dim tempFile = PathTemp & "Cache\MyImage\" & GetHash(FilePathOrResourceName)
|
Dim tempFile = PathTemp & "Cache\MyImage\" & GetHash(FilePathOrResourceName)
|
||||||
NetDownload(FilePathOrResourceName, tempFile, True)
|
NetDownload(FilePathOrResourceName, tempFile, True)
|
||||||
FilePathOrResourceName = tempFile
|
FilePathOrResourceName = tempFile
|
||||||
ElseIf FilePathOrResourceName.StartsWithF("data:image/png;base64,") Then 'base64 图片
|
|
||||||
Dim base64Data = FilePathOrResourceName.Split(",")(1)
|
|
||||||
Dim imageData = Convert.FromBase64String(base64Data)
|
|
||||||
Using ms = New MemoryStream(imageData)
|
|
||||||
Pic = New System.Drawing.Bitmap(ms)
|
|
||||||
End Using
|
|
||||||
Return
|
|
||||||
End If
|
End If
|
||||||
'使用这种自己接管 FileStream 的方法加载才能解除文件占用
|
'使用这种自己接管 FileStream 的方法加载才能解除文件占用
|
||||||
Using InputStream As New FileStream(FilePathOrResourceName, FileMode.Open)
|
Using InputStream As New FileStream(FilePathOrResourceName, FileMode.Open)
|
||||||
|
|||||||
Reference in New Issue
Block a user