Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отрисовка двумерного массива цветов, RGB 
V
    Опции темы
Larrr
Дата 19.10.2008, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 29.1.2006
Где: Прага

Репутация: нет
Всего: 2



Привет, такой вопрос.

У меня есть файл, где хранится

1) число n - размер квадратного поля. То есть если n=10, то надо отрисовать поле 10*10
2) элементы этого поля в виде (x,y,RGB(1,2,3)) - в файле обязательно определены все элементы поля  

Распарсить файл в объект конечно же не проблема.

Надо отрисовать на форме это поле в цветах указанных в файле. То есть если элемент указан как (1,1,RGB(255,0,0)), то ячейка на позиции (1,1) в решетке должна быть нарисована цветом RGB(255,0,0)

Как это лучше делать? Какие компоненты использовать?
PM MAIL WWW ICQ   Вверх
diadiavova
Дата 19.10.2008, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 16
Всего: 142



Создаётся System.Drawing.Bitmap нужного размера(размер указать в конструкторе). Дальше для каждого пиксела вызывать метод SetPixel этого битмапа, в аргументах указывать координаты и цвет, полученные из файла. Дальше битмап прорисовывать любым способом(с помощью пикчербокса например)


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Larrr
Дата 19.10.2008, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 29.1.2006
Где: Прага

Репутация: нет
Всего: 2



diadiavova, спасибо! Я вот еще нашла способ отрисовывать непосредственно прямоугольниками на панели

Код

Graphics g = panel1.CreateGraphics();
SolidBrush brush = new SolidBrush(Color.FromArgb(100,100,100));
g.FillRectangle(brush, 100,100, 20,20);

PM MAIL WWW ICQ   Вверх
diadiavova
Дата 19.10.2008, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 16
Всего: 142



Я просто не совсем понял задачу. Я подумал, что для каждого пиксела свой цвет указан. Прямоугольник действительно лучше так рисовать, только чтобы он был устойчивым его надо перерисовывать при каждой прорисовке формы(событие Paint формы или переопределить метод OnPaint, и объект Graphics можно получить из аргумента е)


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0467 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.