Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2013, 23:57   #1
timedo
Пользователь
 
Аватар для timedo
 
Регистрация: 20.10.2012
Сообщений: 22
По умолчанию Парк-Миллер, генератор

Здравствуйте. Нужно реализовать минимальный генератор Парка-Миллера, вывести это в bitmap генераторе(рандомными пикселями).
Вот что у меня
Код:
private void Park_M()
        {
     var bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height, PixelFormat.Format24bppRgb); //создаем переменную с нашей шириной, высотой и цветами

            long a = 16807;
            long m = 2147483647;
            long rand = 10;

            BitmapData bits = null;
            try
            {
                bits = bmp.LockBits(new Rectangle(Point.Empty, bmp.Size), ImageLockMode.WriteOnly, bmp.PixelFormat);
                var bytes = new byte[bits.Stride * bits.Height];
                for (int i = 0; i < 10; i++) { //вот тут начинается алгоритм парк-миллера
                    rand = (a * rand) % m;  
                }
                rand.NextBytes(bytes);//подчеркивает NextBytes

                Marshal.Copy(bytes, 0, bits.Scan0, bytes.Length);
            }
            finally
            {
                if (bits != null)
                    bmp.UnlockBits(bits);
            }

            pictureBox1.Image = bmp;
        }
Текст ошибки:
Цитата:
Ошибка 1 "long" не содержит определения для "NextBytes" и не был найден метод расширения "NextBytes", принимающий тип "long" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)
timedo вне форума Ответить с цитированием
Старый 22.10.2013, 00:55   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

чё, по русски читать не умеете? или типа отгадал все буквы не смог прочитать ? или читаем но слова не знакомые?
eval вне форума Ответить с цитированием
Старый 22.10.2013, 02:25   #3
timedo
Пользователь
 
Аватар для timedo
 
Регистрация: 20.10.2012
Сообщений: 22
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
чё, по русски читать не умеете? или типа отгадал все буквы не смог прочитать ? или читаем но слова не знакомые?
я не пойму что нужно мне поменять, с байтами не сильно знаком. Я понял что GetByte не может принять long, а как мне это исправить?
timedo вне форума Ответить с цитированием
Старый 24.10.2013, 06:15   #4
simples
Форумчанин
 
Регистрация: 03.10.2013
Сообщений: 142
По умолчанию

Замените
long rand = 10;
на
Random rand = new Random();
simples вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен программист Delphi (Москва, м. Парк победы) Диана. Общие вопросы Delphi 0 01.04.2011 15:05
генератор sasha_prof Microsoft Office Excel 5 16.12.2010 11:42
Генератор Treshmazai Помощь студентам 0 08.05.2010 13:26
Генератор warlok Общие вопросы Delphi 3 30.05.2008 00:53