C# 从控制台应用程序生成随机JPG图像
我有一个API,它获取大小为80x20(JPG、PNG或GIF)的图像的base64string并存储在数据库中。为了测试这个API,我必须生成一个随机的Base64字符串,当解码时它可以转换成真实的图像C# 从控制台应用程序生成随机JPG图像,c#,.net,image,random,bytearray,C#,.net,Image,Random,Bytearray,我有一个API,它获取大小为80x20(JPG、PNG或GIF)的图像的base64string并存储在数据库中。为了测试这个API,我必须生成一个随机的Base64字符串,当解码时它可以转换成真实的图像 我找到了一个似乎与WPF应用程序一起工作的示例。如何将其用于控制台应用程序?应使用多种方法。那么以下内容如何: public static string GenerateBase64ImageString() { // 1. Create a bitmap using (Bit
我找到了一个似乎与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
的引用即可。嗯,只有随机Base64字符串的子集才能转换为图像。也许您实际上想要创建一个随机图像并将其转换为Base64字符串。如果你真的需要图像是随机的,你最好定义一下你的意思,这可能会使你的测试很难重现。您应该在问题中展示您的努力,并定义您的具体问题/问题/要点。OP中的代码应该在控制台应用程序中工作。