Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/22: Рейтинг темы: голосов - 22, средняя оценка - 4.86
СуперМодулятор
 Аватар для Bringoff
134 / 134 / 48
Регистрация: 03.11.2012
Сообщений: 974

Генерация элементарного изображения из 4 разных цветов

27.03.2013, 17:49. Показов 4360. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно как-то генерировать элементарные изображения jpg, разрешения, допустим 100х100. Состоять будут из 4 разных цветов. Может, кто-то даст ссылку на статью/пример кода?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.03.2013, 17:49
Ответы с готовыми решениями:

Есть н цветов разных видов. Составьте все возможные сочетания букетов из всех этих цветов. Количество цветов и их названия вводит пользователь
Есть n цветов разных видов. Составьте все возможные сочетания букетов из всех этих цветов. Количество цветов и их названия вводит...

Создать гистограмму цветов из цветов загруженного изображения и искать с помощью нее пиксели одинакового цвета
Необходимо создать гистограмму цветов из цветов загруженного изображения и искать с помощью нее пиксели одинакового цвета. Нужно переделать...

Генерация n цветов
Вопрос наверно глуповат, и не совсем по теме Qt, но все же... Как правильно сгенерировать n-цветов? Например в формате rgb, для...

9
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
27.03.2013, 18:09
Перебор пикселей на изображениях занимает очень много времени
1
774 / 554 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
27.03.2013, 18:24
C#
1
2
3
4
5
6
7
     Bitmap bmp = new Bitmap(100, 100);
            Graphics gr = Graphics.FromImage(bmp);
            gr.DrawRectangle(Pens.Bisque, new Rectangle(0, 0, 25, 25));
            gr.DrawRectangle(Pens.Brown,  new Rectangle(0, 25, 25, 25));
            gr.DrawRectangle(Pens.Cyan ,  new Rectangle(25, 25, 25, 25));
            gr.DrawRectangle(Pens.Green,  new Rectangle(25, 0, 25, 25));
            bmp.Save("image.jpg");
1
СуперМодулятор
 Аватар для Bringoff
134 / 134 / 48
Регистрация: 03.11.2012
Сообщений: 974
27.03.2013, 19:12  [ТС]
В общем, почти вышло.
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public Invite(String filename)
    {
        Bitmap bmp = new Bitmap(50, 50);
        Random random = new Random();
        for (int a = 0; a < 50; a += 25)
        {
            Color c = Color.FromArgb(random.Next(255), random.Next(255), random.Next(255));
            for (int i = a; i < a + 25; i++)
            {
                for (int j = a; j < a + 25; j++)
                {
                    bmp.SetPixel(i, j, c);
                }
            }
        }
        bmp.Save(filename, System.Drawing.Imaging.ImageFormat.Jpeg);
    }

Но вместо что-то вроде Название: small_29785.png
Просмотров: 362

Размер: 272 байт получается Название: 1.jpg
Просмотров: 362

Размер: 1,001 байт. Что-то не то у меня с отрисовкой. И да, у меня генерируется поток изображений, и почему-то 4 подряд идут одинаковые
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
27.03.2013, 19:34
Izobara, либо используйте unsafe-код который я скинул, либо Graphics. SetPixel - очень-очень плохо, фу-фу
1
СуперМодулятор
 Аватар для Bringoff
134 / 134 / 48
Регистрация: 03.11.2012
Сообщений: 974
27.03.2013, 20:05  [ТС]
Psilon, теперь что скажете? Теперь проблема только в генерации 4 подряд одинаковых.
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.Drawing;
 
class _Main
{
    public static void Main()
    {
        Console.WriteLine("Сколько Вы хотите генерировать изображений?");
        int n = Convert.ToInt32(Console.ReadLine());
        Invite invite = new Invite();
        for (int index = 0; index < n; index++)
        {
            String name = Convert.ToString(index + 1)+".jpg";
            invite.Inviter(name);
        }
    }
}
class Invite
{
    Random randomGen;
    public void Inviter(String filename)
    {
        Bitmap bmp = new Bitmap(50, 50);
        randomGen = new Random();
        Graphics gr = Graphics.FromImage(bmp);
        gr.FillRectangle(CreateRandomBrush(), new Rectangle(0, 0, 25, 25));
        gr.FillRectangle(CreateRandomBrush(), new Rectangle(0, 25, 25, 25));
        gr.FillRectangle(CreateRandomBrush(), new Rectangle(25, 25, 25, 25));
        gr.FillRectangle(CreateRandomBrush(), new Rectangle(25, 0, 25, 25));
        bmp.Save(filename, System.Drawing.Imaging.ImageFormat.Jpeg);
    }
    private SolidBrush CreateRandomBrush()
    {
        SolidBrush bBrush = new SolidBrush(Color.FromArgb(randomGen.Next(255), randomGen.Next(255), randomGen.Next(255)));
        return bBrush;
    }
}
0
774 / 554 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
27.03.2013, 20:33
Izobara, Рэндом нужно вынести за пределы метода Inviter
C#
1
2
3
4
5
Random randomGen = new Random();
   public void Inviter(String filename)
    {
     .........
    }
1
СуперМодулятор
 Аватар для Bringoff
134 / 134 / 48
Регистрация: 03.11.2012
Сообщений: 974
27.03.2013, 20:41  [ТС]
Фух... Работает...
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
27.03.2013, 20:46
Izobara, такая ошибка - для новичка стандартная Почитайте про то, как работает random, что такое random seed и прочее. И почему нельзя в цикле создавать рандом, а лучше его создать один раз, причем статически. Кстати, по этой же причине мне пришлось делать свой собственный класс рандома, когда из-за многопоточности последовательности выходили, мягко говоря, коррелированными.
1
0 / 0 / 0
Регистрация: 23.09.2017
Сообщений: 27
26.09.2017, 23:27
Нужен Генератор Изображений
Миниатюры
Генерация элементарного изображения из 4 разных цветов  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.09.2017, 23:27
Помогаю со студенческими работами здесь

фон разных цветов
Нужно написать программу, которая будет выводить фон разных цветов, шахматное поле, горизонтальные полосы при нажатии какой-либо кнопки

Заголовок разных цветов
Как реализовать на jQuery следующий эффект: Двухсловный заголовок Трех словный заголовок Т.е. чтобы последнее слово заголовка было...

Строки разных цветов
Помогите разобраться с цветом в консольном приложении. Задача может оказаться довольно проста для вас, но, я , что то упорно не вижу ответа...

Звездочки разных цветов
Нужно разбросать звездочки разных цветов и размеров. Нарисовал звезду, импортировал во фрагмент ролика. Написал код: var...

Рисование полос разных цветов
Доброго времени суток форумчане помогите запутался в самом простом координаты полос в цикле чтобы шли параллельно одна за другой вот что у...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru