当前位置:编程学习 > C#/ASP.NET >>

vb转C#(大家给看看)

--------------------编程问答-------------------- 'Public Sub Savejpeg(ByVal TheImage As StdPicture, ByVal filename As String)
'    Dim m_Jpeg As New cJpeg
'    Dim m_Image As New cImage
'    'Set m_Jpeg = cJpeg  'Call this before the form loads to initialize it
'    m_Image.CopyStdPicture TheImage
'
'    m_Jpeg.SampleHDC m_Image.hDC, m_Image.Width, m_Image.Height
'    'RidFile FileName
'    m_Jpeg.SaveFile filename
'    Set m_Image = Nothing
'    Set m_Jpeg = Nothing
'End Sub


Private Type GUID
   Data1 As Long
   Data2 As Integer
   Data3 As Integer
   Data4(0 To 7) As Byte
End Type

Private Type GdiplusStartupInput
   GdiplusVersion As Long
   DebugEventCallback As Long
   SuppressBackgroundThread As Long
   SuppressExternalCodecs As Long
End Type

Private Type EncoderParameter
   GUID As GUID
   NumberOfValues As Long
   type As Long
   Value As Long
End Type

Private Type EncoderParameters
   Count As Long
   Parameter As EncoderParameter
End Type

Private Declare Function GdiplusStartup Lib "GDIPlus" (token As Long, _
   inputbuf As GdiplusStartupInput, Optional ByVal outputbuf As Long = 0) As Long

Private Declare Function GdiplusShutdown Lib "GDIPlus" (ByVal token As Long) As Long

Private Declare Function GdipCreateBitmapFromHBITMAP Lib "GDIPlus" ( _
   ByVal hbm As Long, ByVal hpal As Long, Bitmap As Long) As Long

Private Declare Function GdipDisposeImage Lib "GDIPlus" (ByVal Image As Long) As Long

Private Declare Function GdipSaveImageToFile Lib "GDIPlus" ( _
   ByVal Image As Long, ByVal filename As Long, _
   clsidEncoder As GUID, encoderParams As Any) As Long

Private Declare Function CLSIDFromString Lib "ole32" ( _
   ByVal str As Long, id As GUID) As Long

Public Sub SaveJPG(ByVal pict As StdPicture, ByVal filename As String, _
           Optional ByVal quality As Byte = 80)
   Dim tSI As GdiplusStartupInput
   Dim lRes As Long
   Dim lGDIP As Long
   Dim lBitmap As Long

   ' 初始化 GDI+
   tSI.GdiplusVersion = 1
   lRes = GdiplusStartup(lGDIP, tSI)
   
   If lRes = 0 Then
   
      ' 从句柄创建 GDI+ 图像
      lRes = GdipCreateBitmapFromHBITMAP(pict.Handle, 0, lBitmap)
   
      If lRes = 0 Then
         Dim tJpgEncoder As GUID
         Dim tParams As EncoderParameters
         
         '初始化解码器的GUID标识
         CLSIDFromString StrPtr("{557CF401-1A04-11D3-9A73-0000F81EF32E}"), _
                         tJpgEncoder
      
         ' 设置解码器参数
         tParams.Count = 1
         With tParams.Parameter ' Quality
            ' 得到Quality参数的GUID标识
            CLSIDFromString StrPtr("{1D5BE4B5-FA4A-452D-9CDD-5DB35105E7EB}"), .GUID
            .NumberOfValues = 1
            .type = 4
            .Value = VarPtr(quality)
         End With
         
         '保存图像
         lRes = GdipSaveImageToFile( _
                  lBitmap, _
                  StrPtr(filename), _
                  tJpgEncoder, _
                  tParams)
                             
         ' 销毁GDI+图像
         GdipDisposeImage lBitmap
         
      End If
      
      '销毁 GDI+
      GdiplusShutdown lGDIP

   End If
   
   If lRes Then
      Err.Raise 5, , "不能保存这个图像:" & lRes
   End If
   
End Sub --------------------编程问答-------------------- 网上有很多工具可以转呀 --------------------编程问答-------------------- --------------------编程问答-------------------- 可以反编译成C#吗?  没试过     http://download.csdn.net/detail/zhuankeshumo/4529722 --------------------编程问答-------------------- 又臭又长的代码。。。试试这个或者自己看看语法去转ba --------------------编程问答-------------------- 我晕,还不如分析下功能用C#重写。 --------------------编程问答-------------------- 这里不是MVP很多吗,怎么没人来答??

MVP能解释一下这句话Private Declare Function WinExec Lib "kernel32"——怎么转成#格式的吗?  --------------------编程问答-------------------- Private Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long

就相当于调用系统的dll来进行操作例如下面这样
[DllImport("kernel32")]
public static extern int GetPrivateProfileString(string section, string key,
string def, StringBuilder retVal,int size, string filePath);
你用
http://www.developerfusion.com/tools/convert/vb-to-csharp/?batchId=c2fdae36-9987-4e84-bfd7-40f19f242c74这个网址转换一下你的代码 --------------------编程问答-------------------- 说的如果不对别介意
补充:.NET技术 ,  非技术区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,