Генерация случайного изображения JPG из консольного приложения

1

У меня есть API, который принимает base64string изображения размером 80x20 (JPG, PNG или GIF) и сохраняет в базе данных. Чтобы проверить этот API, я должен создать случайную base64string, которая может быть преобразована в реальное изображение при декодировании.

Я нашел здесь пример, который, похоже, работает с приложением WPF. Как использовать то же самое для консольного приложения?

Теги:
image
random
bytearray

1 ответ

1

Должны работать различные методы. Как насчет следующего:

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 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.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню