VB.NET
<LispFunction("FIMGOLE")> _
Public Function FIMGOLE(ByVal rbfArgs As ResultBuffer) As ResultBuffer
'
'>>>ARGUMENTOS DE ENTRADA
Dim arInputArgs As Array
arInputArgs = rbfArgs.AsArray
Dim MYIMG As String = CStr(CType(arInputArgs.GetValue(0), TypedValue).Value)
Dim MYANG As Single = CSng(CType(arInputArgs.GetValue(1), TypedValue).Value)
'
Dim IMGTMP As String = Path.GetDirectoryName(MYIMG) & "\myimg.jpg"
Dim IMG As System.Drawing.Image = New Bitmap(MYIMG)
Dim DW, DH As Integer
If MYANG = 0 Then
DW = 0
DH = 0
Else
DW = 5
DH = 5
End If
Dim retBMP As New Bitmap(IMG.Width + DW, IMG.Height + DH)
retBMP.SetResolution(IMG.HorizontalResolution, IMG.VerticalResolution)
Using g = Graphics.FromImage(retBMP)
g.Clear(Drawing.Color.White)
g.TranslateTransform(0, IMG.Height)
g.RotateTransform(MYANG)
g.TranslateTransform(0, -IMG.Height)
g.DrawImage(IMG, New PointF(0, 0))
End Using
retBMP.Save(IMGTMP, ImageFormat.Jpeg)
'
Dim imge As Drawing.Image = Bitmap.FromFile(IMGTMP)
Dim mem As New IO.MemoryStream
imge.Save(mem, Imaging.ImageFormat.Jpeg)
imge.Dispose()
mem.Position = 0
imge = Drawing.Image.FromStream(mem)
Clipboard.SetImage(imge)
'
'<<<ARGUMENTOS DE SAIDA
'Use RTREAL (5001) for doubles
'Use RTSHORT (5003) for integers
'Use RTSTR (5005) for strings
Dim rbfResult As ResultBuffer
rbfResult = New ResultBuffer( _
New TypedValue(CInt(5005), MYIMG))
Return rbfResult
End Function
<LispFunction("FIMGIMP")> _
Public Function FIMGIMP(ByVal rbfArgs As ResultBuffer) As ResultBuffer
'
'>>>ARGUMENTOS DE ENTRADA
Dim arInputArgs As Array
arInputArgs = rbfArgs.AsArray
Dim MYSTR As String = CStr(CType(arInputArgs.GetValue(0), TypedValue).Value)
Dim MYIMG As String = CStr(CType(arInputArgs.GetValue(1), TypedValue).Value)
'
Try
Dim client As New WebClient()
'By default, the google static map api returns a png file
client.DownloadFile(MYSTR, MYIMG)
Catch
End Try
'
'<<<ARGUMENTOS DE SAIDA
'Use RTREAL (5001) for doubles
'Use RTSHORT (5003) for integers
'Use RTSTR (5005) for strings
Dim rbfResult As ResultBuffer
rbfResult = New ResultBuffer( _
New TypedValue(CInt(5005), MYIMG))
Return rbfResult
End Function