una net mvc mostrar imageurl imagen how from asp c# asp.net image

c# - net - Cómo cambiar el color de la imagen en tiempo de ejecución



mostrar una imagen en asp.net c# (3)

Me gustaría saber si hay alguna forma de cambiar el color de la imagen en tiempo de ejecución. por ejemplo, digamos que estoy teniendo un archivo JPG vinculado a un control de imagen de ASP.Net. A continuación, tengo una lista desplegable que me da varias opciones de color como rojo, verde, etc. Ahora me gustaría cambiar el color de la Imagen a la seleccionada en la Lista desplegable.


Aquí hay un ejemplo de código que carga un archivo JPEG, cambia los píxeles rojos de la imagen a azul y luego muestra el mapa de bits en un cuadro de imagen:

Bitmap bmp = (Bitmap)Bitmap.FromFile("image.jpg"); for (int x = 0; x < bmp.Width; x++) { for (int y = 0; y < bmp.Height; y++) { if (bmp.GetPixel(x, y) == Color.Red) { bmp.SetPixel(x, y, Color.Blue); } } } pictureBox1.Image = bmp;

Advertencia: GetPixel y SetPixel son increíblemente lentos. Si sus imágenes son grandes y / o el rendimiento es un problema, hay una manera mucho más rápida de leer y escribir píxeles en .NET, pero es un poco más de trabajo.


También estoy enfrentando problemas bajo esta pregunta. después de eso basado en cierta información. Escribí el código manualmente. Ahora funciona bien. Si quieres verificar, puedes usarlo.

código para cambiar la imagen de fondo durante el tiempo de ejecución en C # .net

puedes usar simplemente este código. Es decir, ==>

string str; OpenFileDialog od = new OpenFileDialog(); if (od.ShowDialog() == DialogResult.OK) { str = od.FileName; this.BackgroundImage=Image.FromFile(str); }


También prueba esto para web (asp.net), puedes ignorar la lógica pero puedes ver qué hacen getpixel y setpixel

public string FileUpload( HttpPostedFileBase file ) { Bitmap bmp = new Bitmap(file.InputStream); string valid = ""; for(int i = 0; i < bmp.Width; i++) { for(int j = 0; j < bmp.Height; j++) { if(bmp.GetPixel(i , j).B < 20) { if(bmp.GetPixel(i , j).B == bmp.GetPixel(i , j).G && bmp.GetPixel(i , j).B == bmp.GetPixel(i , j).R) { valid = valid + bmp.GetPixel(i , j). + "<br/>"; bmp.SetPixel(i , j , Color.DarkGreen); } } } } SaveImage(bmp); return valid; } private void SaveImage( Bitmap newbmp ) { string path = Path.Combine(Server.MapPath("~/Images") , "ScaledImage.jpeg"); newbmp.Save(path , System.Drawing.Imaging.ImageFormat.Jpeg); }