vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Problem beim C# Pointer ins VB Übersetzung 
Autor: henrikl2000
Datum: 04.10.15 20:41

Hallo,
Ich möchte was C# Code in VB konvertieren und habe es mit Telerik Code Converter versucht.
Leider kann Telerik dies hier byte* row = (byte*)bmd.Scan0; nicht richtig übersetzen.
Kann jemand von euch mir hier helfen? Danke.

Den Code zu übersetzen
    class ThumbElement
    {
        static public int m_ThumbSize=200;
 
        public Bitmap m_bmpOriginal = null;
 
        public Bitmap m_bmpMain= null;
        public Bitmap m_bmpShadow = null;
 
        public double m_dAngleOriginal = 0;
        public double m_dAngleActual = 0;
 
        public double m_dDistanceFromScreen = 0;
 
        public Rectangle m_Rect = new Rectangle();
        public Rectangle m_RectShadow = new Rectangle();
 
        public ThumbElement(String strFileName)
        {
            m_bmpOriginal = new Bitmap(strFileName);
 
            int nWidth=m_ThumbSize;
            int nHeight=m_bmpOriginal.Height*m_ThumbSize/m_bmpOriginal.Width;
 
            if (nHeight>m_ThumbSize)
            {
                nHeight=m_ThumbSize;
                nWidth=m_bmpOriginal.Width*m_ThumbSize/m_bmpOriginal.Height;
            }
 
            m_bmpMain=new Bitmap(nWidth,nHeight);
 
            Graphics g=Graphics.FromImage(m_bmpMain);
 
            g.DrawImage(m_bmpOriginal, 0, 0, nWidth, nHeight);
 
            m_bmpShadow = new Bitmap(m_bmpMain);
 
            unsafe
            {
                m_bmpShadow.RotateFlip(RotateFlipType.RotateNoneFlipY);
 
                System.Drawing.Imaging.BitmapData bmd = m_bmpShadow.LockBits( _
                  new Rectangle(0, 0, m_bmpShadow.Width, m_bmpShadow.Height),
                    System.Drawing.Imaging.ImageLockMode.ReadWrite,
                    m_bmpShadow.PixelFormat);
 
                int PixelSize = 4;
 
                byte* row = (byte*)bmd.Scan0;
 
                for (int y = 0; y < bmd.Height; y++)
                {
                    byte trasp = (byte)(100 * ((m_bmpMain.Height - y)) / _
                      m_bmpMain.Height);
 
                    int xx = 3;
 
                    for (int x = 0; x < bmd.Width; x++)
                    {
                        row[xx] = trasp;
 
                        xx += PixelSize;
                    }
 
                    row += bmd.Stride;
                }
                m_bmpShadow.UnlockBits(bmd);
            }
        }
    }
Telerik hat den Code so übersetzt
        Public Sub New(strFileName As [String])
            m_bmpOriginal = New Bitmap(strFileName)
 
            Dim nWidth As Integer = m_ThumbSize
            Dim nHeight As Integer = m_bmpOriginal.Height * m_ThumbSize / _
              m_bmpOriginal.Width
 
            If nHeight > m_ThumbSize Then
                nHeight = m_ThumbSize
                nWidth = m_bmpOriginal.Width * m_ThumbSize / _
                  m_bmpOriginal.Height
            End If
 
            m_bmpMain = New Bitmap(nWidth, nHeight)
 
            Dim g As Graphics = Graphics.FromImage(m_bmpMain)
            g.DrawImage(m_bmpOriginal, 0, 0, nWidth, nHeight)
            m_bmpShadow = New Bitmap(m_bmpMain)
            m_bmpShadow.RotateFlip(RotateFlipType.RotateNoneFlipY)
 
            Dim bmd As System.Drawing.Imaging.BitmapData = m_bmpShadow.LockBits( _
              New Rectangle(0, 0, m_bmpShadow.Width, m_bmpShadow.Height), _
              System.Drawing.Imaging.ImageLockMode.ReadWrite, _
              m_bmpShadow.PixelFormat)
            Dim PixelSize As Integer = 4
 
            Dim row As Pointer(Of Byte) = CType(bmd.Scan0, Pointer(Of Byte))
 
            For y As Integer = 0 To bmd.Height - 1
                Dim trasp As Byte = CByte(100 * ((m_bmpMain.Height - y)) / _
                  m_bmpMain.Height)
 
                Dim xx As Integer = 3
 
                For x As Integer = 0 To bmd.Width - 1
                    row(xx) = trasp
 
                    xx += PixelSize
                Next
 
                row += bmd.Stride
            Next
 
            m_bmpShadow.UnlockBits(bmd)
        End Sub
0
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Problem beim C# Pointer ins VB Übersetzung1.667henrikl200004.10.15 20:41
Re: Problem beim C# Pointer ins VB Übersetzung893Manfred X05.10.15 08:08
Re: Problem beim C# Pointer ins VB Übersetzung836henrikl200005.10.15 13:46
Re: Problem beim C# Pointer ins VB Übersetzung900Olaf Reiter18.11.15 18:57
Re: Problem beim C# Pointer ins VB Übersetzung755Manfred X18.11.15 19:44
Re: Problem beim C# Pointer ins VB Übersetzung745Olaf Reiter18.11.15 21:37
Re: Problem beim C# Pointer ins VB Übersetzung784Manfred X18.11.15 22:30
Re: Problem beim C# Pointer ins VB Übersetzung796Olaf Reiter19.11.15 12:26
Re: Problem beim C# Pointer ins VB Übersetzung784Manfred X19.11.15 13:00

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel