fichier image bitmap verrouillé
Bonsoir à tous,
j'ai un fichier "preview.jpg" verrouillé, alors que il me semble avoir fait ce qu'il fallait dans mon code.
Auriez vous une idée s'il vous plait, car je sèche complètement.
Le code est un tantinet compliqué mais ça permet d'afficher un logo en Overlay.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| Private Sub AfficheSkinAndLogo(Folder As String, SkinName As String)
Dim PathBackImage As String = Folder & "\skins\" & SkinName & "\preview.jpg"
Dim PathOverlayImage As String = Folder & "\ui\" & "badge.png"
'Dim g As Graphics = Graphics.FromHwnd(pbCar2.Handle)
'g.DrawImage(img, pbCar2.ClientRectangle)
Dim BackImage As Bitmap = Nothing
Dim OverLayImage As Bitmap = Nothing
Try
BackImage = New Bitmap(PathBackImage, True)
Catch ex As Exception
End Try
Try
OverLayImage = New Bitmap(PathOverlayImage, True)
Catch ex As Exception
End Try
Dim BadgeSize As Single = 0.25
Dim BadgePosX As Single = 0.05
Dim BadgePosY As Single = 0.1
If OverLayImage IsNot Nothing AndAlso BackImage IsNot Nothing Then
Dim RatioImg As Single = CSng(OverLayImage.Width / OverLayImage.Height)
Dim g As Graphics = Graphics.FromImage(BackImage)
Dim Larg As Integer = BackImage.Width
Dim Haut As Integer = CInt(Larg / RatioImg)
If Haut > BackImage.Height Then
Haut = CInt(BackImage.Height * BadgeSize)
Larg = CInt(Haut * RatioImg)
Else
Larg = CInt(BackImage.Width * BadgeSize)
Haut = CInt(Larg / RatioImg)
End If
Dim PosX As Integer = CInt((BackImage.Width - Larg) * BadgePosX)
Dim PosY As Integer = CInt((BackImage.Height - Haut) * BadgePosY)
g.DrawImage(OverLayImage, PosX, PosY, Larg, Haut)
End If
If BackImage IsNot Nothing Then
Dim BackImageCache As New Bitmap(BackImage)
BackImage.Dispose()
BackImage = Nothing
pbCar.Image = BackImageCache
Else
pbCar.Image = My.Resources.splash
End If
If OverLayImage IsNot Nothing Then
OverLayImage.Dispose()
OverLayImage = Nothing
End If
End Sub |