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

# User Rev Content
1 bournival 40 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