none
Combinar imagenes RRS feed

  • Pregunta

  • Buenaa noches, deseo su ayuda con ub problema, tengo imagenes en A4, de los cuales debo modificar ciertas zonas, en donde debo "pegar" un trozo de imagen de otro lado, pero no se como hacerlo.

    Como primera parte, debo seleccionar las zonas, por lo que se me ocurre dibujar algun control en tiempo de diseño para obtener las coordenadas.

    Luego, en como poner esa otra imagen en la zona seleccionada dentro de la imagen principal, no se como hacerlo

    Me parece pedir mucho, pero por lo menos, quisiera que m ayuden en combinar las imagenes y guardar loa cambios

    Gracias de antemano


    Giancarlo

    martes, 22 de enero de 2019 7:03

Todas las respuestas

  • Se puede hacer todo ello, pero llevará bastante trabajo. No son tres líneas de código que te podamos poner aquí en un momento para que solo tengas que copiarlas y pegarlas. Esencialmente los pasos serían estos:

    1. Cargar la imagen desde el fichero a un objeto Image.
    2. Presentar el Image en un PictureBox
    3. Implementar manejadores de eventos para el movimiento y los clicks del mouse en el picturebox. Usar esto para salvar las coordenadas elegidas por el usuario.
    4. Opcional: para que quede más clara la zona seleccionada, podrías pintar un rectángulo en dichas coordenadas, usando GDI+ en el evento OnPaint del Picturebox.
    5. Copiar la imagen a un Bitmap, inicializar un contexto Graphics sobre el Bitmap, y usar las primitivas de GDI+ para dibujar encima el otro trozo de imagen (usando DrawBitmap por ejemplo).
    6. Salvar el Bitmap a un archivo en el formato deseado.

    • Propuesto como respuesta Pedro AlfaroModerator martes, 22 de enero de 2019 21:43
    • Votado como útil gian2051 miércoles, 23 de enero de 2019 0:46
    martes, 22 de enero de 2019 7:15
  • Ya se como hacer lo de seleccionar las areas donde ponerlo, pero, como hago para las imagenes? Poner una encima de la otra y guqrdarlo?

    Giancarlo

    miércoles, 23 de enero de 2019 0:47
  • Lo que podrias hacer, es poner un PictureBox encima de la imagen a modificar, luego tomar un ScreenShot de ello y eso gurdarlo, es algo simple pero puede ser util (durante un tiempo xD)

    Aqui dejo algo de code

            If SaveFileDialog1.ShowDialog Then
                Threading.Thread.Sleep(3000) 'PARA DAR TIEMPO A QUE DESAPAREZCA EL DIALOGO
                Dim BM As Bitmap = New Bitmap(PictureBoxFONDO.Width, PictureBoxFONDO.Height) 'TOMARA TODO EL CONTENIDO DEL FONDO
                Dim DIBUJO As Graphics = Graphics.FromImage(BM) 'PONDRA EL CONTENIDO DEL FONDO EN EL BITMAP
                DIBUJO.CopyFromScreen(Me.Location.X + PictureBoxFONDO.Location.X + 8, Me.Location.Y + PictureBoxFONDO.Location.Y + 50, 0, 0, PictureBoxFONDO.Size)
                BM.Save(SaveFileDialog1.FileName, Imaging.ImageFormat.Jpeg) 'GUARDA LA IMAGEN CON FORMATO JPG
                MsgBox("Imagen Guardada Correctamente", MsgBoxStyle.Exclamation, "AberranteEditor xd")
            End If


    --- Cristopher Cáceres Developer | Worcome Studios

    miércoles, 23 de enero de 2019 2:36
  • cómo hago para las imagenes? Poner una encima de la otra y guqrdarlo?
    Exacto, esa era la idea. Usando DrawBitmap puedes dibujar el bitmap pequeño sobre el mismo contenedor en el que antes dibujaste el bitmap grande. El resultado es un bitmap que contiene una imagen superpuesta sobre la otra. No tienes más que salvar ese bitmap, y ya está.
    miércoles, 23 de enero de 2019 7:33