我有一个API,它接收大小为80x20的图像的base64字符串(可以是JPG、PNG或GIF格式),并将其存储在数据库中。为了测试这个API,我需要生成一个随机的base64字符串,当解码后可以转换成真实的图像。
我找到了一个例子(这里),它似乎适用于WPF应用程序。如何在控制台应用程序中使用相同的方法?
我找到了一个例子(这里),它似乎适用于WPF应用程序。如何在控制台应用程序中使用相同的方法?
public static string GenerateBase64ImageString()
{
// 1. Create a bitmap
using (Bitmap bitmap = new Bitmap(80, 20, PixelFormat.Format24bppRgb))
{
// 2. Get access to the raw bitmap data
BitmapData data = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.WriteOnly, bitmap.PixelFormat);
// 3. Generate RGB noise and write it to the bitmap's buffer.
// Note that we are assuming that data.Stride == 3 * data.Width for simplicity/brevity here.
byte[] noise = new byte[data.Width * data.Height * 3];
new Random().NextBytes(noise);
Marshal.Copy(noise, 0, data.Scan0, noise.Length);
bitmap.UnlockBits(data);
// 4. Save as JPEG and convert to Base64
using (MemoryStream jpegStream = new MemoryStream())
{
bitmap.Save(jpegStream, ImageFormat.Jpeg);
return Convert.ToBase64String(jpegStream.ToArray());
}
}
}
请确保添加对System.Drawing
的引用。