ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magicsld/BitmapHandler.vb
Revision: 40
Committed: Mon Aug 20 21:30:28 2007 UTC (17 years, 8 months ago) by bournival
File size: 2279 byte(s)
Log Message:
Projet de these de Sylvain Bournival. Attention projet VB.

File Contents

# Content
1 Imports System
2 Imports System.Collections
3 Imports System.Reflection
4 Imports System.IO
5 Imports System.Runtime.InteropServices
6 Imports System.Drawing
7 Imports System.Drawing.Imaging
8 Namespace MAGIC
9 Public Class BitmapHandler
10 Implements IDisposable
11
12 'The list of bitmap files that have been created in the Temp folder
13 Dim files As New ArrayList
14
15 Sub Dispose() Implements IDisposable.Dispose
16 CleanFiles()
17 End Sub
18
19 'Creates a file on disk from the specified bitmap resource
20 Function CreateFileFromResourceBitmap(ByVal bitmapName As String) As String
21 Dim thisAssembly As [Assembly]
22 Dim byteStream As Stream
23 Dim image As Bitmap
24 Dim filePath As String
25
26 'Initial Values
27 filePath = System.IO.Path.GetTempFileName()
28
29 'Obtain the bitmap
30 thisAssembly = System.Reflection.Assembly.GetAssembly(Me.GetType())
31 byteStream = thisAssembly.GetManifestResourceStream(bitmapName)
32 image = New Bitmap(byteStream)
33
34
35 Try
36 'Try to save the image to disk
37 image.Save(filePath)
38 CreateFileFromResourceBitmap = filePath
39 files.Add(filePath)
40 Catch e As Exception
41 'If it failed to save, return an empy path string
42 CreateFileFromResourceBitmap = ""
43 Return ""
44 Finally
45 'Clean things up
46 image.Dispose()
47 thisAssembly = Nothing
48 byteStream.Close()
49 byteStream = Nothing
50 End Try
51 End Function
52
53 'Removes the image files from your temp folder
54 Function CleanFiles() As Boolean
55 Dim curFile As String
56
57 While files.Count > 0
58 Try
59 'Try to delete the file
60 curFile = files.Item(0)
61 File.Delete(curFile)
62 files.RemoveAt(0)
63 Catch e As Exception
64 files.RemoveAt(0)
65 End Try
66 End While
67 End Function
68 End Class
69
70 End Namespace