none
Chroma key para las imagenes RRS feed

  • Pregunta

  • Buenos días a todos como están saludos antes que nada, aquí estoy de nuevo con un problema mas espero me puedan ayudar a si como le podrán servir en un momento a ustedes los lectores. a qui va mi consulta. como puedo usar el chroman key en un sistema que tengo de photo cabina o photo both como muchos lo conocen, lo que quiero haces lo siguiente es donde unos usuarios se ponen para tomar una foto para evento pero tienen un chroma key atras de ellos como color lima limon, lime antes de comensar tu seleccionas una foto al asar de hay se va a la pantalla de tomar la foto pero no parece la parte de atrás en verde si no un fondo de un paisaje o algún  imagen seleccionada pero la imagen que esta de frente los usuario cuando se toma la foto se imprime el paisaje seleccionado y los usuarios nada mas no en color verde que es el chroma key. le dejo un ejemplo del sistema que me toma la foto pero no me hace esa funcion mencionada

     Private Sub Capturar_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            WCCamara1.Start()
            WCCamara1.Start()


            Dim freader1 As New StreamReader("C:\WebCamEvent\CFGText.ini")
            Dim cont12 As New StreamReader("C:\WebCamEvent\CFGText.ini")
            Dim cont122 As New StreamReader("C:\WebCamEvent\CFGText.ini")
            Dim contenido As String
            'Dim cont122 As String


            contenido = freader1.ReadLine() 'leo primera linea

            Me.Label1.Text = contenido 'pego primera linea

            contenido = freader1.ReadLine() 'leo segunda linea

            PbTomarFoto4.Load(contenido)
            '  Me.TxtFolio.Text = contenido 'pego segunda linea
            contenido = freader1.ReadLine()

            PicLogo1.Load(contenido)

            contenido = freader1.ReadLine()
            'Leer infromacion de fotos a tomar tomadas
            ' Me.LblConFoto.Text = cont121
            Me.BackgroundImage = New System.Drawing.Bitmap(contenido) 'Application.StartupPath &

            'freader.Close()
            freader1.Close()

        End Sub

        Private Sub SFDilalog_FileOk(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SFDilalog.FileOk
            PbTomarFoto.Image.Save(SFDilalog.FileName)
        End Sub

        Private Sub OFDialogVerFoto_FileOk(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OFDialogVerFoto.FileOk
            ' PbVerFoto.ImageLocation = OFDialogVerFoto.FileName
        End Sub

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '------------------------------
            'Lee el contenido en el archivo
            Dim lineas As New ArrayList()
            Dim freader As New StreamReader("C:\WebCamEvent\CFGText.ini")
            Dim freader1 As New StreamReader("C:\WebCamEvent\CFGDLL.ini")
            Dim cont12 As New StreamReader("C:\WebCamEvent\CNTDLL.ini")
            Dim contenido As String
            Dim cont121 As String

            contenido = freader.ReadLine() 'leo primera linea

            Me.Label1.Text = contenido 'pego primera linea

            contenido = freader.ReadLine() 'leo segunda linea

            '  Me.TxtFolio.Text = contenido 'pego segunda linea
            cont121 = cont12.ReadLine()

            'Leer infromacion de fotos a tomar tomadas
            Me.LblConFoto.Text = cont121

            freader.Close()
            freader1.Close()
            cont12.Close()

            '------------------------------

            WCCamara1.Start()
            ' WCCamara1.Start()
        End Sub


        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

            'crear un contador con limitacion a 5 fotos y ademas con 3 segundos por foto

            If C = 1 Then

                Dim bounds As Rectangle
                Dim screenshot As System.Drawing.Bitmap
                Dim graph As Graphics
                bounds = Screen.PrimaryScreen.Bounds
                screenshot = New System.Drawing.Bitmap(bounds.Width, bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb)
                graph = Graphics.FromImage(screenshot)
                graph.CopyFromScreen(bounds.X, bounds.Y, 0, 0, bounds.Size, CopyPixelOperation.SourceCopy)

                PbTomarFoto.Image.Save("c:\WebCamEvent\Imagenes\imagen" & C & ".jpg") 'screenshot 'PbTomarFoto.Image      '

                If C = 1 Then
                    PbTomarFoto.Load("c:\WebCamEvent\Imagenes\imagen0.jpg")
                ElseIf C = 2 Then
                    PbTomarFoto1.Load("c:\WebCamEvent\Imagenes\imagen1.jpg")
                ElseIf C = 3 Then
                    PbTomarFoto2.Load("c:\WebCamEvent\Imagenes\imagen2.jpg")
                    '  ElseIf C = 4 Then
                    '   PbTomarFoto3.Load("c:\WebCamEvent\Imagenes\imagen3.jpg")
                    'ElseIf C = 5 Then
                    '  PbTomarFoto4.Load("c:\WebCamEvent\Imagenes\imagen4.jpg")
                End If


                C = C + 1

            ElseIf C = 2 Then


                Dim bounds As Rectangle
                Dim screenshot As System.Drawing.Bitmap
                Dim graph As Graphics
                bounds = Screen.PrimaryScreen.Bounds
                screenshot = New System.Drawing.Bitmap(bounds.Width, bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb)
                graph = Graphics.FromImage(screenshot)
                graph.CopyFromScreen(bounds.X, bounds.Y, 0, 0, bounds.Size, CopyPixelOperation.SourceCopy)

                PbTomarFoto.Image.Save("c:\WebCamEvent\Imagenes\imagen" & C & ".jpg") 'screenshot 'PbTomarFoto.Image      '

                If C = 0 Then
                    PbTomarFoto.Load("c:\WebCamEvent\Imagenes\imagen1.jpg")
                ElseIf C = 2 Then
                    PbTomarFoto1.Load("c:\WebCamEvent\Imagenes\imagen2.jpg")
                ElseIf C = 3 Then
                    PbTomarFoto2.Load("c:\WebCamEvent\Imagenes\imagen3.jpg")
                    ' ElseIf C = 4 Then
                    '  PbTomarFoto3.Load("c:\WebCamEvent\Imagenes\imagen4.jpg")
                    '  ElseIf C = 5 Then
                    '  PbTomarFoto4.Load("c:\WebCamEvent\Imagenes\imagen5.jpg")
                End If


                '   PbTomarFoto1.Image.Save("c:\WebCamEvent\Imagenes\imagen" & 2 & ".jpg") 'screenshot 'PbTomarFoto.Image      '
                '   PbTomarFoto2.Image.Save("c:\WebCamEvent\Imagenes\imagen" & C & ".jpg") 'screenshot 'PbTomarFoto.Image      '
                '   PbTomarFoto3.Image.Save("c:\WebCamEvent\Imagenes\imagen" & C & ".jpg") 'screenshot 'PbTomarFoto.Image      '
                '   PbTomarFoto4.Image.Save("c:\WebCamEvent\Imagenes\imagen" & C & ".jpg") 'screenshot 'PbTomarFoto.Image      '
                'Direccion de donde Guardar

                C = C + 1
                ' PbTomarFoto.Image.Save("c:\WebCamEvent\Imagenes\imagen" & C & ".jpg")

                'PbTomarFoto.Image.Save("C:\WebCamEvent\Imagenes\imegen1.jpg")
                'Next}
            ElseIf C = 3 Then

                'For C = 1 To 5 Step 1
                Dim bounds As Rectangle
                Dim screenshot As System.Drawing.Bitmap
                Dim graph As Graphics
                bounds = Screen.PrimaryScreen.Bounds
                screenshot = New System.Drawing.Bitmap(bounds.Width, bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb)
                graph = Graphics.FromImage(screenshot)
                graph.CopyFromScreen(bounds.X, bounds.Y, 0, 0, bounds.Size, CopyPixelOperation.SourceCopy)

                PbTomarFoto.Image.Save("c:\WebCamEvent\Imagenes\imagen" & C & ".jpg") 'screenshot 'PbTomarFoto.Image      '

                If C = 1 Then
                    PbTomarFoto.Load("c:\WebCamEvent\Imagenes\imagen0.jpg")
                ElseIf C = 2 Then
                    PbTomarFoto1.Load("c:\WebCamEvent\Imagenes\imagen1.jpg")
                ElseIf C = 3 Then
                    PbTomarFoto2.Load("c:\WebCamEvent\Imagenes\imagen2.jpg")
                    ' ElseIf C = 4 Then
                    '  PbTomarFoto3.Load("c:\WebCamEvent\Imagenes\imagen3.jpg")
                    ' ElseIf C = 5 Then
                    '  PbTomarFoto4.Load("c:\WebCamEvent\Imagenes\imagen4.jpg")
                End If

                '   PbTomarFoto1.Image.Save("c:\WebCamEvent\Imagenes\imagen" & 2 & ".jpg") 'screenshot 'PbTomarFoto.Image      '
                '   PbTomarFoto2.Image.Save("c:\WebCamEvent\Imagenes\imagen" & C & ".jpg") 'screenshot 'PbTomarFoto.Image      '
                '   PbTomarFoto3.Image.Save("c:\WebCamEvent\Imagenes\imagen" & C & ".jpg") 'screenshot 'PbTomarFoto.Image      '
                '   PbTomarFoto4.Image.Save("c:\WebCamEvent\Imagenes\imagen" & C & ".jpg") 'screenshot 'PbTomarFoto.Image      '
                'Direccion de donde Guardar

                C = C + 1
                ' PbTomarFoto.Image.Save("c:\WebCamEvent\Imagenes\imagen" & C & ".jpg")

                'PbTomarFoto.Image.Save("C:\WebCamEvent\Imagenes\imegen1.jpg")
                'Next}
            Else
                C = C + 1

            End If

        End Sub

    sistema con cambio de colores

            ese es e sistema cambia colores y todo cuando toma e imprime ahora quiero que la pantalla verde digamos que fuera lo que estuviera atras hay se posicione el paisaje y que se miere nada mas los usuarios o las personas que esten en la camara como esta foto digamos a si lo que hiciera 

    y darle imprimir que me salga las fotografias o la impresión la imagen si ocupan mas explicación hágame lo saber para hacer llegar la información sobre lo que quiero

    • Cambiado Enrique M. Montejo domingo, 15 de noviembre de 2015 18:38 Pregunta relacionada con Windows Forms.
    jueves, 12 de noviembre de 2015 20:10

Todas las respuestas