Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VB.NET] Generatore di immagini

    Salve! Premetto che la discussione non si incentra su un problema ma su un consiglio, più che altro...

    Come da titolo, sto creando un generatore di immagini, più precisamente un generatore di classi per COD Black Ops che dà come output un'immagine come questa:



    Si sceglie l'arma principale, secondaria e via discorrendo tramite dei ComboBoxes. Arrivati all'immagine finale, dovrei salvarla in formato .png ... Potrei farla catturando la zona di Form che interessa quell'immagine, ma come fare? Non chiedo direttamente come (quindi codici), magari quale namespace studiare ... consigli in pratica. Grazie in anticipo!

  2. #2
    Ok, ho adesso le idee un po' più chiare ...

    Il Form è così strutturato (metto sotto URL): click.

    Alla pressione del Button1 viene catturata l'area dello schermo relativa alla PictureBox che come sfondo ha quel punto interrogativo per poi essere salvata su disco. In teoria però Riesco a farlo, ma il problema sta nella "parte di schermo" da catturare. Mi spiego meglio. Uso questo codice che alla pressione del Button1 cattura una porzione di schermo e la mostra in una PictureBox:

    codice:
    Private Function cattura() As System.Drawing.Bitmap
            ' Creo un oggetto bitmap di dimensioni uguali allo schermo
            Dim b As Bitmap = New Bitmap(400, 150)
            ' Creo l'oggetto graphics
            Dim g As Graphics = Graphics.FromImage(b)
            ' Definisco un oggetto Size con le dimensioni dello schermo
            Dim sz As Size = New Size(400, 150)
            ' Catturo la parte di schermo definita in basso e la mostro in una PictureBox
            Dim x As New Point(3, 80)
            x = x + Me.Location
            g.CopyFromScreen(x, New Point(0, 0), New Size(400, 150))
            ' Restituisco l'oggetto bitmap
            Return b
        End Function
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            PictureBox2.Image = cattura()
        End Sub
    In questa parte di codice:

    codice:
    Dim x As New Point(3, 80)
            x = x + Me.Location
    tento invano di sommare quattro punti: la posizione attuale del Form più la posizione, all'interno del Form (correggetemi se sbaglio: così facendo si otterrà la stessa immagine ad ogni risoluzione), della parte da catturare. In teoria, dovrebbe risolvere la questione...

    Infatti, risolta Essendo la PictureBox all'interno di un Panel, mi veniva data la posizione di questa stessa in relazione al Panel e non a tutto il Form Grazie comunque!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.