public static BitmapSource ProcesarEfecto(RADMLIB.Lienzo Lienzo, List <System.Drawing.Bitmap> Lista) { System.Drawing.Bitmap Bac = (System.Drawing.Bitmap)Lienzo.Fondo.Imagen; System.Drawing.Graphics r = System.Drawing.Graphics.FromImage(Bac); if (Lienzo.Banner != null) { r.DrawImage((System.Drawing.Bitmap)Lienzo.Banner.Imagen, Lienzo.Banner.PosicionDeItems.X, Lienzo.Banner.PosicionDeItems.Y, Lienzo.Banner.Tamano.Width, Lienzo.Banner.Tamano.Height); } if (Lienzo.Fotos != null) { if (Lienzo.Fotos.Count > 0) { int i = 0; foreach (RADMLIB.Items item in Lienzo.Fotos) { System.Drawing.Bitmap img = (System.Drawing.Bitmap)Lista[i]; r.DrawImage(img, item.PosicionDeItems.X, item.PosicionDeItems.Y, item.Tamano.Width, item.Tamano.Height); i++; } } } SaveJpeg(Utilidades.PathInicial + @"\Efecto_" + Lienzo.NombreArchivo + ".jpg", Bac, 50); return(Convertir(Bac)); }
//public void Test(string fileName) //{ // string path = Path.GetDirectoryName(fileName); // string filename_with_ext = Path.GetFileName(fileName); // string filename_without_ext = Path.GetFileNameWithoutExtension(fileName); // string ext_only = Path.GetExtension(fileName); //} private void button1_Click_1(object sender, EventArgs e) { SaveFileDialog Save = new SaveFileDialog(); Save.Filter = "Solo Sistema Item|*.sitm"; Save.ShowDialog(); string nombre = Path.GetFileNameWithoutExtension(Save.FileName); RADMLIB.Lienzo li = new RADMLIB.Lienzo(); li.Alto = actual.Width; li.NombreArchivo = nombre; li.Ancho = actual.Height; li.ImagenBoton = (Bitmap)pictureBox2.Image; List <Control> Lista = imagenc.Controls.Cast <Control>().ToList(); var esta = Lista.Where(x => retornartag(x.Tag, RADMLIB.TipoImagen.Foto)).ToList(); List <PictureBox> listap = esta.Cast <PictureBox>().ToList(); List <RADMLIB.Items> Fotos = new List <RADMLIB.Items>(); foreach (PictureBox Pic in listap) { Fotos.Add(new RADMLIB.Items() { Tamano = Pic.Size, Tipo = RADMLIB.TipoImagen.Foto, PosicionDeItems = Pic.Location }); } li.Fotos = Fotos; Control unico = Lista.SingleOrDefault(x => retornartag(x.Tag, RADMLIB.TipoImagen.Banner)); if (unico != null) { li.Banner = new RADMLIB.Items() { PosicionDeItems = unico.Location, Tipo = RADMLIB.TipoImagen.Banner, Tamano = unico.Size , Imagen = (Bitmap)((PictureBox)unico).Image }; } li.Fondo = new RADMLIB.Items() { Imagen = (Bitmap)imagenc.BackgroundImage, Tipo = RADMLIB.TipoImagen.Foto }; RADMLIB.TrabajoDeObjetos Trabajo = new RADMLIB.TrabajoDeObjetos(); try{ Trabajo.SerializeObject(li, Save.FileName); var este = Trabajo.DeSerializeObject <RADMLIB.Lienzo>(Save.FileName); } catch {} }
static public void CagarEfectos() { DirectoryInfo Dire = new DirectoryInfo(Utilidades.PathEfectos); Efectos = new List <RADMLIB.Lienzo>(); List <FileInfo> Lista = Dire.GetFiles().Cast <FileInfo>().ToList(); var listaefecto = Lista.Where(x => x.Extension.ToString() == ".sitm").ToList(); foreach (FileInfo info in listaefecto) { FileInfo Infon = new FileInfo(Utilidades.PathEfectos + @"\" + info.Name.Replace(info.Extension, "") + ".png"); RADMLIB.Lienzo un = Trabajo.DeSerializeObject <RADMLIB.Lienzo>(info.FullName); if (!Infon.Exists) { System.Drawing.Image Img = (System.Drawing.Bitmap)un.ImagenBoton; Img.Save(Infon.FullName); } Efectos.Add(un); } }