"The combination of FSO operating write a Class"

it is in perfect, basic function have.
as a beginner's tutorial

  The program code
<%
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *   The CDS system   FSO action class   Beta1   * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
method is called:   Set  Obj=New  FSOControl
all paths must be an absolute path, please use for Server MapPath method conversion path and then define variables
-- -- -- -- -- -   FileRun  -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

will choose parameters:
FilePath  -- -- -- -- -- -   Handle file path

optional parameters:
FileAllowType  -- -- -- -- -- -   Allow the type of document processing, defining methods:   GIF | JPG | PNG | TXT
FileNewDir  -- -- -- -- -- -   File processing saved in the directory
FileNewName  -- -- -- -- -- -   New filename prefix, please don't add a suffix,   Example:   Sample. Txt  It is   The sample
CoverPr  -- -- -- -- -- -   Whether to overwrite the existing file   0 no   1 as   The default is 1
deletePr  -- -- -- -- -- -   Whether delete the original file   0 no   1 as   The default is 1
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

-- -- -- -- -- -   UpDir (path)   Take the path of the parent directory
the path for the file, or a directory

-- -- -- -- -- -   GetPrefixName (path)   Take the filename prefix
the path must be a file, for the full path, but also a separate file name

-- -- -- -- -- -   GetFileName (path)   Take file name
the path must be a file, for the full path, but also a separate file name

-- -- -- -- -- -   GetExtensionName (path)   Take filename suffix, does not contain.
the path must be a file, for the full path, but also a separate file name

-- -- -- -- -- -   FileIs (path)   The path to a file
such as, return   True  Otherwise returns   False
-- -- -- -- -- -   FolderCreat (Path)
-- -- -- -- -- -   Folderdelete (Path, FileIF)
-- -- -- -- -- -   FileCopy (Path_From Path_To, CoverIF)
-- -- -- -- -- -   FileMove (Path_From Path_To, CoverIF)
-- -- -- -- -- -   Filedelete (Path)
-- -- -- -- -- -   Filerename (OldName, NewName, CoverIf)

Class  FSOControl

Dim  FSO
Private  File_Path File_AllowType, File_NewFolder_Path File_NewName, File_CoverIf, File_deleteIf
Public  Property  Let  FilePath (StrType)
File_Path=StrType
End  The Property
Public  Property  Let  FileAllowType (StrType)
File_AllowType=StrType
End  The Property
Public  Property  Let  FileNewDir (StrType)
File_NewFolder_Path=StrType
End  The Property
Public  Property  Let  FileNewName (StrType)
File_NewName=StrType
End  The Property
Public  Property  Let  CoverPr (LngSize)
If  IsNumeric (LngSize)   Then the
File_CoverIf=Clng (LngSize)
End  If
End  The Property
Public  Property  Let  DeletePr (LngSize)
If  IsNumeric (LngSize)   Then the
File_deleteIf=Clng (LngSize)
End  If
End  The Property

Private  Sub  Class_Initialize ()
Set  FSO=createObject (Scripting. FileSystemObject)  
File_Path=
File_AllowType=| GIF JPG | PNG | TXT
File_NewFolder_Path=
File_NewName=
File_CoverIf=1
File_deleteIf=0
End  Sub 
Private  Sub  Class_Terminate ()
Err. Clear
Set  FSO=Nothing
End  Sub

Public  Function  UpDir (ByVal  D)
If  Len (D)  =  0   Then the
UpDir=
the Else
UpDir=Left (D, InStrRev (D, \) - 1)
End  If
End  The Function
Public  Function  GetPrefixName (ByVal  D)
If  Len (D)  =  0   Then the
GetPrefixName=
the Else
FileName=GetFileName (D)
GetPrefixName=Left (FileName, InStrRev (FileName,.) - 1)
End  If
End  The Function
Public  Function  GetFileName (name)
FileName=Split (name, \)
GetFileName=FileName (Ubound (FileName))
End  The Function
Public  Function  GetExtensionName (name)
FileName=Split (name,.)
GetExtensionName=FileName (Ubound (FileName))
End  The Function
Public  Function  FileIs (Path)
If  Fso. FileExists (Path)   Then the
FileIs=true
the Else
FileIs=false
End  If
End  The Function

Public  Function  FileOpen (Path, NewFile, ReadAction LineCount)
If  FileIs (Path)=False  Then the
If  NewFile<>1   Then the
FileOpen=False
ElseIf  FolderIs (UpDir (Path))=False  Then the
FileOpen=False
Exit  The Function
the Else.
fso OpenTextFile  Path, 1, True,
FileOpen=
End  If
Exit  The Function
End  If
Set  FileOption=fso. GetFile (Path)
If  FileOption. Size=0   Then the
Set  FileOption=Nothing
FileOpen=
Exit  The Function
End  If
Set  FileOption=Nothing
Set  FileText=fso. OpenTextFile (Path, 1)
If  IsNumeric (ReadAction)   Then the
FileOpen=FileText. Read (ReadAction)
ElseIf  Ucase (ReadAction)=ALL  Then the
FileOpen=FileText. ReadAll ()
ElseIf  Ucase (ReadAction)=LINE  Then the
If  Not (IsNumeric (LineCount))   Or  LineCount=0   Then the
FileOpen=False
Set  FileText=Nothing
Exit  The Function
the Else

I=0 Do  While  Not  FileText. AtEndOfStream
FileOpen=FileOpen&FileText. ReadLine
I=I + 1
If  I=LineCount  Then  Exit  Do
Loop
End  If
End  If
Set  FileText=Nothing 
End  The Function

Public  Function  FileWrite (Path, WriteStr NewFile)
If  FolderIs (UpDir (Path))=False  Then the
FileWrite=False
Exit  The Function
ElseIf  FileIs (Path)=False  And  NewFile<>1   Then the
FileWrite=False
Exit  The Function
End  If
Set  FileText=fso. OpenTextFile (Path, 2, True)
FileText. Write  WriteStr
Set  FileText=Nothing
FileWrite=True
End  The Function

Public  Function  FolderIs (Path)
If  Fso. FolderExists (Path)   Then the
FolderIs=true
the Else
FolderIs=false
End  If
End  The Function
Public  Function  FolderCreat (Path)
If  Fso. FolderExists (Path)   Then the
FolderCreat=to create the directory already exists
Exit  The Function
ElseIf  Not (fso) FolderExists (UpDir (Path)))   Then the
FolderCreat=to create the specified directory path error
Exit  The Function
End  If
fso. CreateFolder (Path)
FolderCreat=True
End  The Function
Public  Function  Folderdelete (Path, FileIF)
If  Not (fso) FolderExists (Path))   Then the
Folderdelete=want to delete the directory does not exist
Exit  The Function
End  If
If  FileIF=1   Then the
Set  FsoFile =  Fso. GetFolder (Path)
If (FsoFile. SubFolders. Count> 0   or  FsoFile. Files. Count> 0)   Then the
Set  FsoFile=Nothing
Folderdelete=as long as you want to delete the directory contains files or subdirectories, is not allowed to delete the
Exit  The Function
End  If
Set  FsoFile=Nothing
End  If
Fso. DeleteFolder (Path)
Folderdelete=True
End  The Function
Public  Function  FileCopy (Path_From Path_To, CoverIF)
If  Not (fso) FileExists (Path_From))   Then
FileCopy=specified to copy the file does not exist
Exit  The Function
ElseIf  Not (fso) FolderExists (UpDir (Path_To)))   Then
FileCopy=specified is copied to the directory does not exist for
Exit  The Function
End  If
If  CoverIF=0   And  Fso. FileExists (Path_To)   Then the
FileCopy=designated to copy to the directory already exists the same name file, are not allowed to cover the
Exit  The Function
End  If
fso. CopyFile  Path_From, Path_To
FileCopy=True
End  The Function
Public  Function  FileMove (Path_From Path_To, CoverIF)
If  Not (fso) FileExists (Path_From))   Then the
FileMove=specified file does not exist to move
Exit  The Function
ElseIf  Not (fso) FolderExists (UpDir (Path_To)))   Then the
FileMove=to move to the specified directory does not exist
Exit  The Function
End  If
If  Fso. FileExists (Path_To)   Then the
If  CoverIF=0   Then
FileMove=to move to the specified directory already exists in the same file name, are not allowed to cover the
Exit  The Function
the Else
Call  Filedelete (Path_To)
End  If
End  If
fso. MoveFile  Path_From, Path_To
FileMove=True
End  The Function
Public  Function  Filedelete (Path)
If  Not (fso) FileExists (Path))   Then the
Filedelete=want to delete the specified file does not exist
Exit  The Function
End  If
Fso. DeleteFile  The Path
Filedelete=True
End  The Function
Public  Function  Filerename (OldName, NewName, CoverIf)
NewName=NewName &. &GetExtensionName (OldName)
If  GetFileName (OldName)=NewName  Then the
Filerename=change in front of the file and change the file name after the same
Exit  The Function
ElseIf  Not (fso) FileExists (OldName))   Then the
Filerename=change the name of the specified file does not exist
Exit  The Function
ElseIf  Fso. FileExists (UpDir (OldName) &\ &NewName)   Then the
If  CoverIf=0   Then
Filerename=directory already exists with the changed files with the same name, are not allowed to cover the
Exit  The Function
the Else
Call  Filedelete (UpDir (OldName) &\ &NewName)
End  If
End  If
Set  FsoFile=fso. GetFile (OldName)
FsoFile. Name=NewName
Set  FsoFile=Nothing
Filerename=True
End  The Function

Public  Function  FileRun ()
If  File_NewFolder_Path=  And  File_NewName=  Then
FileRun=didn't produce changes to the specified file after the operation, the system automatically suspend
Exit  The Function
ElseIf  File_Path=  Or  Not (fso) FileExists (File_Path))   Then the
FileRun=must carry on the operation of the file does not exist
Exit  The Function
ElseIf  Instr (File_AllowType, GetExtensionName (File_Path))=0   Then the
FileRun=to operate documents were rejected by system, allows the format for:   &Replace (File_AllowType, |, &NBSP;)
Exit  The Function
End  If

If  File_NewFolder_Path=  Then the
File_NewFolder_Path=UpDir (File_Path)
ElseIf  Not (fso) FolderExists (File_NewFolder_Path))   Then the
FileRun=to move to the specified directory does not exist
Exit  The Function
End  If
If  Right (File_NewFolder_Path, 1) <>\   Then  File_NewFolder_Path=File_NewFolder_Path &\
If  File_NewName=  Then the
File_NewPath=File_NewFolder_Path &GetFileName (File_Path)
the Else
File_NewPath=File_NewFolder_Path &File_NewName &. &GetExtensionName (File_Path)
End  If
If  File_Path=File_NewPath   Then
FileRun=didn't produce changes to the specified file after the operation, the system automatically suspend
Exit  The Function
ElseIf  UpDir (File_Path) <>UpDir (File_NewPath)   Then the
If  File_deleteIf=1   Then the
Call  FileMove (File_Path File_NewPath, File_CoverIf)
the Else
Call  FileCopy (File_Path File_NewPath, File_CoverIf)
End  If
FileRun=True
the Else
If  File_deleteIf=1   Then the
Call  Filerename (File_Path, GetPrefixName (File_NewPath), File_CoverIf)
the Else
  Call  FileCopy (File_Path File_NewPath, File_CoverIf)
End  If
FileRun=True
End  If
End  The Function
End  Class
% > 

"ASPJPEG integrated operation CLASS"
>>>-- -- -- -- -- -- -- -- -- I want to page! - such a long article, here to a page! Haha -- -- -- -- -- -- -- -- -- -- <<<
"ASPJPEG integrated operation CLASS"
basically can achieve the function of ASPJPEG all
code has detailed notes, also don't understand, please give us

have Suggestions and offer more features, please put forward the

thank you

  The program code
<%
ASPJPEG comprehensive operation CLASS
the Authour:   Tony  05/09/05
Class  AspJpeg
Dim  AspJpeg_Obj, obj
Private  Img_MathPath_From Img_MathPath_To, Img_Reduce_Size, CoverIf
Private  Img_Frame_Size Img_Frame_Color, Img_Frame_Solid Img_Frame_Width, Img_Frame_Height
Private  Img_Font_Content Img_Font_Family, Img_Font_Color Img_Font_Quality, Img_Font_Size, Img_Font_Bold, Img_Font_X, Img_Font_Y
Private  Img_PicIn_Path Img_PicIn_X, Img_PicIn_Y
-- -- -- -- -- -- -- -- -- -- -- -- -- -- take the original file path
Public  Property  Let  MathPathFrom (StrType)
Img_MathPath_From=StrType
End  Property

-- -- -- -- -- -- -- -- -- -- -- -- -- -- take file path
Public  Property  Let  MathPathTo (strType)
Img_MathPath_To=strType
End  Property

-- -- -- -- -- -- -- -- -- -- -- -- -- -- whether saving a file overwrite existing files
Public  Property  Let  CovePro (LngSize)
If  LngSize=0   Or  LngSize=1   Or  LngSize=true  Or  LngSize=false  Then the
CoverIf=LngSize
End  If
End  Property

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- take thumbnails/zoom in   The thumbnail value
Public  Property  Let  ReduceSize (LngSize)
If  IsNumeric (LngSize)   Then the
Img_Reduce_Size=LngSize
End  If
End  Property

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- take a stroke attribute

border thickness Public  Property  Let  FrameSize (LngSize)
If  IsNumeric (LngSize)   Then the
Img_Frame_Size=Clng (LngSize)
End  If
End  The Property

border width Public  Property  Let  FrameWidth (LngSize)
If  IsNumeric (LngSize)   Then the
Img_Frame_Width=Clng (LngSize)
End  If
End  Property
border height
Public  Property  Let  FrameHeight (LngSize)
If  IsNumeric (LngSize)   Then the
Img_Frame_Height=Clng (LngSize)
End  If
End  The Property

border color Public  Property  Let  FrameColor (strType)
If  StrType<>  Then the
Img_Frame_Color=strType
End  If
End  Whether Property
border bold
Public  Property  Let  FrameSolid (LngSize)
If  LngSize=1   Or  LngSize=0   Or  LngSize=true  Or  LngSize=false  Then the
Img_Frame_Solid=LngSize
End  If
End  Property

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- take insert text attribute the words insert

Public  Property  Let  The Content (strType)
If  StrType<>  Then the
Img_Font_Content=strType
End  If
End  The Property

text font Public  Property  Let  FontFamily (strType)
If  StrType<>  Then the
Img_Font_Family=strType
End  If
End  The Property

text color Public  Property  Let  FontColor (strType)
If  StrType<>  Then the
Img_Font_Color=strType
End  If
End  Property

text quality Public  Property  Let  FontQuality (LngSize)
If  IsNumeric (LngSize)   Then the
Img_Font_Quality=Clng (LngSize)
End  If
End  The Property

text size Public  Property  Let  FontSize (LngSize)
If  IsNumeric (LngSize)   Then the
Img_Font_Size=Clng (LngSize)
End  If
End  Whether Property
text bold
Public  Property  Let  FontBold (LngSize)
If  LngSize=1   Or  LngSize=0   Or  LngSize=true  Or  LngSize=false  Then the
Img_Font_Bold=LngSize
End  If
End  The X coordinate Property
enter text
Public  Property  Let  FontX (LngSize)
If  IsNumeric (LngSize)   Then the
Img_Font_X=Clng (LngSize)
End  If
End  Property
enter text Y
Public  Property  Let  FontY (LngSize)
If  IsNumeric (LngSize)   Then the
Img_Font_Y=Clng (LngSize)
End  If
End  Property

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- take insert images attribute
insert picture path
Public  Property  Let  PicInPath (strType)
Img_PicIn_Path=strType
End  The X coordinate Property
images insert
Public  Property  Let  PicInX (LngSize)
If  IsNumeric (LngSize)   Then the
Img_PicIn_X=Clng (LngSize)
End  If
End  Property
pictures inserted Y
Public  Property  Let  PicInY (LngSize)
If  IsNumeric (LngSize)   Then the
Img_PicIn_Y=Clng (LngSize)
End  If
End  The Property

Private  Sub  Class_Initialize ()
Set  AspJpeg_Obj=createObject (Persits. Jpeg)  
Img_MathPath_From=
Img_MathPath_To=
Img_Reduce_Size=150

Img_Frame_Size=1 Img_Frame_Width=0
Img_Frame_Height=0
Img_Frame_Color=&H000000

Img_Frame_Bold=false Img_Font_Content=GoldenLeaf
Img_Font_Family=Arial
Img_Font_Color=&H000000
Img_Font_Quality=3
Img_Font_Size=14

Img_Font_Bold=false Img_Font_X=10
Img_Font_Y=5
Img_PicIn_X=0
Img_PicIn_Y=0
CoverIf=1

End  Sub 
Private  Sub  Class_Terminate ()
Err. Clear
Set  AspJpeg_Obj=Nothing
End  Sub
to determine whether a file is
Private  Function  FileIs (path)
Set  Fsos=Server. CreateObject (Scripting. FileSystemObject)
FileIs=fsos. FileExists (path)
Set  Fsos=Nothing
End  Function

whether directory exists
Private  Function  FolderIs (path)
Set  Fsos=Server. CreateObject (Scripting. FileSystemObject)
FolderIs=fsos. FolderExists (path)
Set  Fsos=Nothing
End  The Function
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
the role Function: get the current file path at the next higher level
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Private  Function  UpDir (ByVal  D)
If  Len (D)  =  0   Then the
UpDir=
the Else
UpDir=Left (D, InStrRev (D, \) - 1)
End  If
End  The Function

Private  Function  Errors (Errors_id)
select  Case  Errors_id
Case  0
Errors=the specified file does not exist
Case  1
Errors=specified directory does not exist
Case 
2 Errors=existing file name
Case  3
overflow Errors=parameter
End  Select the
End  The Function

take pictures width Public  Function  ImgInfo_Width (Img_MathPath)
If  Not (FileIs (Img_MathPath))   Then the
Exit  The Function
ImgInfo_Width=Errors (0)
the Else
AspJpeg_Obj. Open  Img_MathPath
ImgInfo_Width=AspJpeg_Obj. Width
End  If
End  Function
take picture height
Public  Function  ImgInfo_Height (Img_MathPath)
If  Not (FileIs (Img_MathPath))   Then the
Exit  The Function
ImgInfo_Height=Errors (0)
the Else
AspJpeg_Obj. Open  Img_MathPath
ImgInfo_Height=AspJpeg_Obj. Height
End  If
End  Function generated thumbnail
/enlarge figure
Public  Function  Img_Reduce ()
If  Not (FileIs (Img_MathPath_From))   Then the
Img_Reduce=Errors (0)
Exit  The Function
End  If
If  Not (FolderIs (UpDir (Img_MathPath_To)))   Then the
Img_Reduce=Errors (1)
Exit  The Function
End  If
If  CoverIf=0   Or  CoverIf=False  Then the
If  FileIs (Img_MathPath_To)   Then the
Img_Reduce=Errors (2)
Exit  The Function
End  If
End  If
AspJpeg_Obj. Open  Img_MathPath_From
AspJpeg_Obj. PreserveAspectRatio =  True,
If  AspJpeg_Obj. OriginalWidth> AspJpeg_Obj. OriginalHeight  Then
AspJpeg_Obj. Width=Img_Reduce_Size
the Else
AspJpeg_Obj. Height=Img_Reduce_Size
End  If
If  AspJpeg_Obj. OriginalWidth> Img_Reduce_Size   Or  AspJpeg_Obj. OriginalHeight> Img_Reduce_Size   Then the
If  AspJpeg_Obj. Width Set  AspJpeg_Obj_New=createObject (Persits. Jpeg)
AspJpeg_Obj_New. New  Img_Reduce_Size Img_Reduce_Size, &HFFFFFF
AspJpeg_Obj_New. DrawImage  (150 - AspJpeg_Obj. Width)/2, (150 - AspJpeg_Obj. Height)/2, AspJpeg_Obj
If  Img_Frame_Size >0   Then the
Call  Img_Pen (AspJpeg_Obj_New)
End  If
If  Img_Font_Content <>  Then
Img_Font_X=AspJpeg_Obj_New. Width/2
Img_Font_Y=AspJpeg_Obj_New. Height to 15
Call  Img_Font (AspJpeg_Obj_New)
End  If
AspJpeg_Obj_New. Sharpen  1,   130
AspJpeg_Obj_New. Save  Img_MathPath_To
Set  AspJpeg_Obj_New=Nothing
the Else
If  Img_Frame_Size >0   Then the
Call  Img_Pen (AspJpeg_Obj)
End  If
If  Img_Font_Content <>  Then
Img_Font_X=AspJpeg_Obj. Width/2
Img_Font_Y=AspJpeg_Obj. Height to 15
Call  Img_Font (AspJpeg_Obj)
End  If
AspJpeg_Obj. Sharpen  1,   130
AspJpeg_Obj. Save  Img_MathPath_To
End  If
Else
If  Img_Frame_Size >0   Then the
Call  Img_Pen (AspJpeg_Obj)
End  If
If  Img_Font_Content <>  Then
Img_Font_X=AspJpeg_Obj. Width/2
Img_Font_Y=AspJpeg_Obj. Height to 15
Call  Img_Font (AspJpeg_Obj)
End  If
AspJpeg_Obj. Sharpen  1,   130
AspJpeg_Obj. Save  Img_MathPath_To
End  If
End  Function
to generate the watermark
Public  Function  Img_WaterMark ()
If  Not (FileIs (Img_MathPath_From))   Then the
Img_WaterMark=Errors (0)
Exit  The Function
End  If
If  Img_MathPath_To=  Then the
Img_MathPath_To=Img_MathPath_From
ElseIf  Not (FolderIs (UpDir (Img_MathPath_To)))   Then the
Img_WaterMark=Errors (1)
Exit  The Function
End  If
If  CoverIf=0   Or  CoverIf=false  Then the
If  Img_MathPath_To <>Img_MathPath_From   And  FileIs (Img_MathPath_To)   Then the
Img_WaterMark=Errors (2)
Exit  The Function
End  If
End  If
AspJpeg_Obj.Open Img_MathPath_From
If Img_PicIn_Path<> then
If Not(FileIs(Img_PicIn_Path)) then
Img_WaterMark=Errors(0)
Exit Function
End If
Set AspJpeg_Obj_New=createObject(Persits.Jpeg)
AspJpeg_Obj_New.Open Img_PicIn_Path
AspJpeg_Obj.PreserveAspectRatio = True
AspJpeg_Obj_New.PreserveAspectRatio = True
If AspJpeg_Obj.OriginalWidthImg_WaterMark=Errors(3)
Exit Function
End If
If AspJpeg_Obj_New.OriginalWidth>AspJpeg_Obj_New.OriginalHeight Then
AspJpeg_Obj_New.Width=Img_Reduce_Size
Else
AspJpeg_Obj_New.Height=Img_Reduce_Size
End If
If Img_PicIn_X= then Img_PicIn_X=AspJpeg_Obj.Width-AspJpeg_Obj_New.Width
If Img_PicIn_Y= then Img_PicIn_Y=AspJpeg_Obj.Height-AspJpeg_Obj_New.Height
AspJpeg_Obj.DrawImage Img_PicIn_X,Img_PicIn_Y,AspJpeg_Obj_New
Set AspJpeg_Obj_New=Nothing
End If
If Img_Frame_Size>0 then
Call Img_Pen(AspJpeg_Obj)
End If
If Img_Font_Content<> then
Call Img_Font(AspJpeg_Obj)
End If
AspJpeg_Obj.Sharpen 1, 130
AspJpeg_Obj.Save Img_MathPath_To
End Function

Private Function Img_Pen(Obj)
If Img_Frame_Width=0 then Img_Frame_Width=Obj.Width
If Img_Frame_Height=0 then Img_Frame_Height=Obj.Height
Obj.Canvas.Pen.Color = Img_Frame_Color
Obj.Canvas.Pen.Width = Img_Frame_Size
Obj.Canvas.Brush.Solid = Img_Frame_Solid
Obj.Canvas.Bar 1,1,Img_Frame_Width,Img_Frame_Height
End Function

Private Function Img_Font(Obj)
Obj.Canvas.Font.Color = Img_Font_Color 
Obj.Canvas.Font.Family = Img_Font_Family 
Obj.Canvas.Font.Quality=Img_Font_Quality
Obj.Canvas.Font.Size=Img_Font_Size
Obj.Canvas.Font.Bold = Img_Font_Bold 
Obj.Canvas.Print Img_Font_X,Img_Font_Y,Img_Font_Content
End Function
End Class

%> 


This concludes the body part