ejemplo c# bitmap resize interpolation smoothing

ejemplo - bitmap c#



¿Cómo cambiar el tamaño de una imagen de mapa de bits en C#sin mezclar o filtrar? (3)

Intenta establecer el modo de interpolación:

g.InterpolationMode = InterpolationMode.NearestNeighbor;

Tengo una imagen en escala de grises que me gustaría ampliar para poder ver mejor los píxeles individuales. He intentado configurar el modo Suavizado en ninguno y en algunos modos de interpolación diferentes (como se sugiere en otras preguntas aquí), pero las imágenes todavía me parecen como si todavía estuvieran realizando algún tipo de fusión antes de mostrarse en la pantalla.

básicamente si tengo una imagen que es

(White, White, White, Black)

Quiero cuando lo agrande para decir 6x6, que se vea como

(White, White, White, White, White, White White, White, White, White, White, White White, White, White, White, White, White White, White, White, Black, Black, Black White, White, White, Black, Black, Black White, White, White, Black, Black, Black)

Sin desvanecimiento entre las áreas en blanco y negro, debe verse como un cuadrado. La imagen debería verse más "pixelada" en lugar de "Borrosa"


Puede ser que esto podría ayudar!

http://www.codeproject.com/Articles/191424/Resizing-an-Image-On-The-Fly-using-NET

De lo contrario, ¿puedes implementar este método y ver si funciona para ti?

private static Bitmap ResizeBitmap(Bitmap sourceBMP, int width, int height ) { Bitmap result = new Bitmap(width, height); using (Graphics g = Graphics.FromImage(result)) g.DrawImage(sourceBMP, 0, 0, width, height); return result; }


Yo también estaba buscando hacer algo similar. Cuando encontré esta pregunta, ninguna de las dos respuestas fue exactamente lo que estaba buscando, pero sí lo fueron. Esto es lo que me llevó a donde quería estar y por lo que puedo decir de su pregunta, lo que quiere.

private Bitmap ResizeBitmap(Bitmap sourceBMP, int width, int height) { Bitmap result = new Bitmap(width, height); using (Graphics g = Graphics.FromImage(result)) { g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; g.DrawImage(sourceBMP, 0, 0, width, height); } return result; }