HPPH/HPPH.Test/ImageHelper.cs
2024-07-06 00:04:07 +02:00

44 lines
1.2 KiB
C#

using System.Drawing;
namespace HPPH.Test;
internal static class ImageHelper
{
#region Methods
public static ColorRGB[] Get3ByteColorsFromImage(string file)
{
using FileStream stream = File.OpenRead(file);
using Bitmap bmp = new(stream);
ColorRGB[] colors = new ColorRGB[bmp.Width * bmp.Height];
int i = 0;
for (int x = 0; x < bmp.Width; x++)
for (int y = 0; y < bmp.Height; y++)
{
Color color = bmp.GetPixel(x, y);
colors[i++] = new ColorRGB(color.R, color.G, color.B);
}
return colors;
}
public static ColorRGBA[] Get4ByteColorsFromImage(string file)
{
using FileStream stream = File.OpenRead(file);
using Bitmap bmp = new(stream);
ColorRGBA[] colors = new ColorRGBA[bmp.Width * bmp.Height];
int i = 0;
for (int x = 0; x < bmp.Width; x++)
for (int y = 0; y < bmp.Height; y++)
{
Color color = bmp.GetPixel(x, y);
colors[i++] = new ColorRGBA(color.R, color.G, color.B, color.A);
}
return colors;
}
#endregion
}