Ridimensionare file .prm

In questa zona vengono raccolte le discussioni che riguardano lo sviluppo di nuovi progetti per ARM e per Re-Volt

Moderatore: Michelangelo

Rispondi
Maximvs
Messaggi: 402
Iscritto il: sab 14 giu 2008, 11:27

Ridimensionare file .prm

Messaggio da Maximvs » mer 24 lug 2013, 14:55

Se qualche utente di ARM volesse sapere come con quale principio si ridimensiona un oggetto contenuto in un file .prm o .m che dovrebbero avere la medesia forma può utilizzare questo pezzo di codice l'ho scritto in .net quindi è facile anche convertirlo in C# o C++ (Forse questo pezzo di codice non serve per chi li sa manipolare)

Codice: Seleziona tutto

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim RicercaConclusa As Boolean = False
        Dim i As Integer
        Dim ApriFile As New OpenFileDialog()
        ApriFile.Filter = "Mesh Re-Volt(*.prm)|*.prm"
        If ApriFile.ShowDialog() = DialogResult.Cancel Then
            MsgBox("Non hai selezionato nessun file", vbExclamation, "Messaggio")
            Exit Sub
        End If

        Dim FileArray() As Byte = My.Computer.FileSystem.ReadAllBytes(ApriFile.FileName)
        Dim Start As Integer = (BitConverter.ToInt16(FileArray, 0)) * 60 + 4
        For x = Start + 1 To FileArray.Length - 1 Step 24
            For k = 0 To 8 Step 4
                Dim Cordina As Single = (BitConverter.ToSingle(FileArray, x + k)) * Val(TextBox1.Text)
                Dim ArrayCordinata() As Byte = (BitConverter.GetBytes(Cordina))
                FileArray(x + k) = ArrayCordinata(0)
                FileArray(x + k + 1) = ArrayCordinata(1)
                FileArray(x + k + 2) = ArrayCordinata(2)
                FileArray(x + k + 3) = ArrayCordinata(3)
            Next k
        Next x
        My.Computer.FileSystem.WriteAllBytes(ApriFile.FileName, FileArray, False)
        MsgBox("File scritto con successo", vbInformation, "Scrittura")
    End Sub

    Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
        If e.KeyCode = 188 Then TextBox1.Clear()
    End Sub
End Class
la casella di Testo TextBox1 contiene il fattore della scala
Ultima modifica di Maximvs il gio 25 lug 2013, 17:29, modificato 2 volte in totale.

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti