namespace txtToImg
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
string fileContent = File.ReadAllText("D:\\pixels.txt");
string[] integerStrings = fileContent.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
int[] integers = new int[integerStrings.Length];
for (int n = 0; n < integerStrings.Length; n++)
{
integers[n] = int.Parse(integerStrings[n]);
}
Bitmap my = new Bitmap(512, 512);
for (int i = 0; i < 512; i++)
for (int j = 0; j < 512; j++)
my.SetPixel(i, j, Color.Blue);
my.Save("D:\\my.jpg");
}
}
}
私が行ったようにすべてのピクセルを青に設定する代わりに、配列の値を使用したいと思います。
これが、ピクセルをテキスト ファイルに保存する方法です。それらは 0 から 255 までの整数です。現在、グレースケール画像を処理しようとしているので、R、G、B を個別に必要としないため、(R+G+B)/3 になります。
using (Bitmap bitmap = new Bitmap("D:\\6.jpg"))
{
int width = 512;
int height = 512;
TextWriter tw = new StreamWriter("D:\\pixels.txt");
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
Color color = bitmap.GetPixel(j, i);
tw.Write((color.R + color.G + color.B) / 3 + " ");
}
//tw.Write(" ");
}
tw.Close();
}