Usuario
Combinar imagenes

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
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:
- Cargar la imagen desde el fichero a un objeto Image.
- Presentar el Image en un PictureBox
- 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.
- 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.
- 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).
- 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
-
-
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
-
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á.- Propuesto como respuesta Pedro AlfaroModerator miércoles, 23 de enero de 2019 18:12