¿Cómo creo/edito un archivo PNG en C#?
He escrito un programa que puede crear arte digital. Imágenes como el Conjunto de Mandelbrot y el Conjunto de Julia. Pero estoy buscando guardar estas imágenes como PNGs. Actualmente, en Java, genero las imágenes en una ventana de aplicación y luego tomo una captura de pantalla de la pantalla. Sin embargo, pierdo los detalles más finos de estas imágenes. Además, este método también reduce el tamaño físico de las imágenes. Quiero poder potencialmente hacer un gran póster con estas imágenes.
En C#, estoy usando lo siguiente:
Bitmap myimage = new Bitmap("image.png");
y:
myimage.SetPixel(x,y, Color.FromArgb(255*colors[x,y], 255*colors[x,y], 255*colors[x,y]));
donde colors[,]
es algún valor entre 0 y 1.
El código funciona bien, excepto la declaración de Bitmap. Mi entendimiento es que new Bitmap(filepath);
te permite editar y manipular la imagen PNG. ¿Tengo razón al pensar eso? ¿Cómo creo/edito un archivo PNG en C#?
(editar) PS: El archivo PNG, “image.png”, existe en la carpeta de solución.
davy.ai
Solución
Sí, es correcto pensar que
new Bitmap(filepath)
te permite editar y manipular la imagen PNG. Para crear un nuevo archivo PNG en C#, puedes utilizar el siguiente código:Esto crea un nuevo objeto
Bitmap
con elwidth
yheight
especificados y elPixelFormat
configurado enFormat32bppArgb
, que es el formato utilizado por las imágenes PNG.Para guardar la imagen como un PNG, puedes utilizar el siguiente código:
Esto guarda el objeto
Bitmap
como un archivo PNG con elfilename
especificado.Para editar un archivo PNG existente, puedes utilizar el siguiente código:
Esto abre el archivo PNG existente especificado por
filepath
, te permite editarlo y luego guarda los cambios en el archivo original.