C# 从控制台应用程序生成随机JPG图像

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

我有一个API,它获取大小为80x20(JPG、PNG或GIF)的图像的base64string并存储在数据库中。为了测试这个API,我必须生成一个随机的Base64字符串,当解码时它可以转换成真实的图像


我找到了一个似乎与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中的代码应该在控制台应用程序中工作。