Привет! Вобщем пишу я программу которая выводит на экран множество Мандельброта(пока black-white). Делаю все на WinApi+C(Моя первая программа). Само множество вывожу двумя циклами в которых последовательно вызиваются SetPixel(...), размер изображения 500х...(в зависимости о координат) пикселей. Все это делаю в сообщении WM_PAINT. И вот собственно вопрос: при таком подходе(насколько я понял) даже при перемещении окна происходит перерисовка, а перерисовка 500х... = хххххх пикселей и еще при этом для каждого нужно крутить цикл проверки, занимает время. Как сделать так чтоб при перемещении окна не происходила перерисовка рабочей области?
hogben28 Грубо говоря, вы рисуете линии по-точечно функцией SetPixel, в то время как, для рисования линий можно (нужно) использовать более быстрые API-функции MoveToEx и LineTo. Второе, обычно картинку один раз рисуют в памяти, а уже готовую выводят на экран, а не заставляют ее перерисовывать каждый раз когда меняется размер окна или перемещение или происходит перекрытие вашего окна с последующей перерисовкой. Кратенько и с примером смотри в Iczelion, Урок 25. Простой битмэп более подробно в Графический интерфейс GDI в Microsoft Windows. Либо Шилдт Г. - "Программирование на С и С++ для Windows 95" или Петцольд Ч. - "Программирование для Windows 95"
Mikl___ Я рисую не линии, мне нужно(грубо говоря) перебрать массив пикселей и в зависимости от их координат раскрасить их разным цветом. Спасибо! Похоже что Iczelion пишет как раз про то что мне нужно. А и за линк на книжку тоже спасибо она мне поможет раскрасить мое множество, а то в Петзольта о цветах только мельком упоминается.