Форум программистов, компьютерный форум CyberForum.ru

Графический редактор. Несколько вопросов - C++

Восстановить пароль Регистрация
 
BigBrain
0 / 0 / 0
Регистрация: 26.03.2010
Сообщений: 27
26.03.2010, 07:39     Графический редактор. Несколько вопросов #1
Здравствуйте!
Нам в вузе преподаватель дал мне курсовую графический редактор (GIF). На любом языке. Я пока думаю между C++ и Delphi. Но склонен больше к Си. Не знаю с чего начать. Так вот несколько вопросов:
1)Как мне сделать чтобы мышь в окне была активна, т.е. её задействовать чтобы я мог рисовать стирать?
2)Как реализовать функции выделения вырезания?
3)Как отличить gif от других файлов чтобы я мог работать только с GIF.
4)Заливка, изменение цвета карандаша выделенного и т.д.
Заранее очень благодарен. Нравится очень программирование вот и не хочу покупать эту программу а разобраться.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2010, 07:39     Графический редактор. Несколько вопросов
Посмотрите здесь:

Несколько вопросов C++
C++ графический редактор
Графический редактор с параметрами C++
помогите создать графический редактор C++
C++ Несколько вопросов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
26.03.2010, 08:44     Графический редактор. Несколько вопросов #2
Попробуй почитать книгу Архангельский А.Я. Тагин М.А. "Программирование в C++Builder 6 и 2006
Разработка программ для Windows"
В разделе 6.1.4 (стр 412-416) описано ядро графического редактора. Довольно подробно и с комментариями. Т.е. у тебя сразу уже что-то функциональное будет. А дальше - будешь дополнять, менять и изменять.
BigBrain
0 / 0 / 0
Регистрация: 26.03.2010
Сообщений: 27
26.03.2010, 21:37  [ТС]     Графический редактор. Несколько вопросов #3
Цитата Сообщение от Day Посмотреть сообщение
Попробуй почитать книгу Архангельский А.Я. Тагин М.А. "Программирование в C++Builder 6 и 2006
Разработка программ для Windows"
В разделе 6.1.4 (стр 412-416) описано ядро графического редактора. Довольно подробно и с комментариями. Т.е. у тебя сразу уже что-то функциональное будет. А дальше - будешь дополнять, менять и изменять.
спасибо большое. Сейчас скачаю и почитаю. И ещё какой компилятор лучше использовать. Я сейчас использую C++ express edition 2008 от microsoft. Как вам кажется ?

Добавлено через 5 часов 3 минуты
Скажите как можно в visual studio c++ сделать визуальные окна windows. как присваивать кнопкам значения и рисовать? Очень благодарен
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
26.03.2010, 22:10     Графический редактор. Несколько вопросов #4
Лучший компилятор (и среда) - тот, который ты понимаешь и к которому привык.
А для новиска - тот, на который у тебя хорошая документация (руководство) на понятном тебе языке.
Я читал книги Архангельского, понравились, поэтому - Бильдер. Кроме того я и раньше использовал борландовские продукты, привык уже к ним.
Выбор - за тобой.

По поводу окошек и кнопочек - у Архангельского очень хорошо все описано - бери и рисуй.
Сделать красивую форму с кнопочками, менюшками, инструментальными линейками - плевое дело.
Трудозатраты - уровня "Hellow, Word"
Думаю, в других визуальных средах все очень похоже, но детали могут различаться.
Бери руководство - и вперед!
BigBrain
0 / 0 / 0
Регистрация: 26.03.2010
Сообщений: 27
29.03.2010, 06:15  [ТС]     Графический редактор. Несколько вопросов #5
Начал писать на VISUAL STUDIO C++
Нарисовал окошко все сделал(визуяльную часть)
Приступил к написанию самого кода.
Встретились проблемы. Как можно описать обработчик событий?

C++
1
Graphics::TBitmap *Bitmap = new Graphics::TBitmap;
Куда подключать в какой заголовочный файл. Имеются файлы в проекте:
Form1.h
resource.h
stdafx.h

AssemblyInfo.cpp
Graf.cpp
stdafx.cpp

В какие файлы нужно описывать сам код:
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
38
39
40
41
42
43
44
45
46
47
Graphics::TBitmap *Bitmap = new Graphics::TBitmap; // Оператор создает объект BitMap типа TBITMAP. В этом объекте будет сохранятся изображение, чтобы его можно было отменить.
        Image1->Canvas->Brush->Color = clBlack;
        Image2->Canvas->Brush->Color = clWhite;
 
        // заполнение окон основного и вспомогательного цветов
        Image1->Canvas->FillRect(RECT(0,0,Image1->Width,Image1->Height))
            Image2->Canvas->FillRect(RECT(0,0,Image2->Width,Image2->Height))
 
            // задание ширины элемента палитры цветов
            int HW = Image4 -> Width / 10;
 
        // закраска элементов палитры цветов
        for(int i = 10; i <=10; i++)
        {
            switch(i)
            {
            case 1:Image4->Canvas->Brush->Color = clBlack;
                break;
            case 2:Image4->Canvas->Brush->Color = clAqua;
                break;
                case 3;Image4->Canvas->Brush->COlor = clBlue;
                    break;
                    case 3;Image4->Canvas->Brush->COlor = clFunchsia;
                        break;
                        case 3;Image4->Canvas->Brush->COlor = clGreen;
                            break;
                            case 3;Image4->Canvas->Brush->COlor = clLime;
                                break;
                                case 3;Image4->Canvas->Brush->COlor = clMaroon;
                                    break;
                                    case 3;Image4->Canvas->Brush->COlor = clRed;
                                        break;
                                        case 3;Image4->Canvas->Brush->COlor = clYellow;
                                            break;
                                            case 3;Image4->Canvas->Brush->COlor = clWhite;
            }
            Image4->Canvas->Rectangle((i-1)*HW,0,i*HW,Image4->Height);
        }
 
        // тест рисование на холсте
        Image3->Canvas->MoveTo(0,0);
        Image3->Canvas->LineTo(Image3->Width;Image3->Height);
        Image3->Canvas->MoveTo(0,Image3->Height);
        Image3->Canvas->LineTo(Image3->Width,0);
        BitMap->Assign(Image3->Picture);
 
        BitMap->Free();
Возможно в коде ошибки ну не суть важна. Поставьте меня на путь истинный куда назначать действия и эти события?
BigBrain
0 / 0 / 0
Регистрация: 26.03.2010
Сообщений: 27
29.03.2010, 06:18  [ТС]     Графический редактор. Несколько вопросов #6
Как указанно в книжке
Миниатюры
Графический редактор. Несколько вопросов  
Yandex
Объявления
29.03.2010, 06:18     Графический редактор. Несколько вопросов
Ответ Создать тему
Опции темы

Текущее время: 00:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru