0 / 0 / 1
Регистрация: 26.09.2013
Сообщений: 79
1

Переменные из функции класса в функцию другого класса

13.05.2017, 09:27. Показов 881. Ответов 8
Метки нет (Все метки)

Подскажи пожалуйста,как с класса Convector передать в класс Filter одержанный Bitmap и переменные?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Convector::Convector()
 {
 Bitmap = new Graphics::TBitmap;
 };
 //----------------------------------------
 Convector::~Convector()
 {
 delete Bitmap;
 };
 //-------------------------------------------
 void Convector::bmp(TImage *img)
 {
Bitmap->Assign(img->Picture->Graphic);
h_W=Bitmap->Width;
h_H=Bitmap->Height;
 };
 //------------------------------------------
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2017, 09:27
Ответы с готовыми решениями:

Доступ к полям класса через переменные другого класса
Уважаемые коллеги! Почему в моделях Аnylogic для упрощения доступа к полям одного класса (класс А)...

Вызов функции другого класса, в котором есть переменные текущего
Есть форма (Ф), на ней есть листы с данными, листбокс и таймер, а так же функция, которая...

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

Вызов функции из одного класса кнопкой из другого класса
Доброго времени суток. Помогите разобраться с сигналами и слотами. Уже устал перечитывать не могу...

8
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32230 / 20869 / 8085
Регистрация: 22.10.2011
Сообщений: 36,105
Записей в блоге: 7
13.05.2017, 09:30 2
Точно так же, как и из класса формы в класс Convector.
1
0 / 0 / 1
Регистрация: 26.09.2013
Сообщений: 79
13.05.2017, 15:41  [ТС] 3
А как вернуть Bitmap из класса на форму например в Image2?

Добавлено через 5 часов 47 минут
Подскажите пожалуйста, есть класс Convector в который загружается картинка потом картинка в классе Filter изменяется по выбору метода изменения из Form1, как в класс Convector передать картинку после изменения или как в классе Convector реализовать метод draw для вывода измененной картинки на Form1->Image1?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Convector C1;
Filter::Filter()
 {};
 //----------------------------------------
 Filter::~Filter()
 {};
//---------------------------------------
 void Filter::shadeofgrey(){
 
  for(int y = 0; y < C1.Bitmap->Height; y++)
  {
    C1.ptr = (Byte*)C1.Bitmap->ScanLine[y];
    for (int x = 0; x < C1.Bitmap->Width; x++)
    {
          C1.R = *(C1.ptr+x*3);
          C1.G = *(C1.ptr+x*3);
          C1.B = *(C1.ptr+x*3);
          F = (C1.R + C1.G + C1.B) / 3;
          C1.Bitmap->Canvas->Pixels[x][y] = (TColor) RGB(F, F, F);
         }
        }
     
  }
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32230 / 20869 / 8085
Регистрация: 22.10.2011
Сообщений: 36,105
Записей в блоге: 7
13.05.2017, 16:18 4
Ну сделай метод draw(TCanvas *canvas), в котором рисуй изображение на канву. И вызывай его, передавая канву, на которую нужно рисовать.
1
Эксперт С++
8382 / 6144 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.05.2017, 16:28 5
Цитата Сообщение от Bart08 Посмотреть сообщение
Подскажи пожалуйста,как с класса Convector передать в класс Filter одержанный Bitmap и переменные?
А зачем вам там класс вообще? (Для 3 строчек кода создавать класс?)
0
0 / 0 / 1
Регистрация: 26.09.2013
Сообщений: 79
13.05.2017, 16:45  [ТС] 6
Рисует но почему то картинка не изменилась,в чем может бить ошибка? Картинка должна получиться в оттенке серого.

Добавлено через 1 минуту
Цитата Сообщение от Avazart Посмотреть сообщение
А зачем вам там класс вообще? (Для 3 строчек кода создавать класс?)
Задание в один класс загружаться картинка и рисуется из него а второй класс для выбора фильтра который будет наложен на картинку, потому и два класса в одном из которых 3 строчки.
0
Эксперт С++
8382 / 6144 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.05.2017, 17:05 7
Цитата Сообщение от Bart08 Посмотреть сообщение
Задание в один класс загружаться картинка и рисуется из него а второй класс для выбора фильтра который будет наложен на картинку, потому и два класса в одном из которых 3 строчки.
Я спросил зачем такую фигню пишите.

Классы для загрузки уже существует TBitmap и TImage берите и работайте с ними.
Для наложения фильтра достаточно написать одну функцию.
0
0 / 0 / 1
Регистрация: 26.09.2013
Сообщений: 79
13.05.2017, 17:17  [ТС] 8
Я спросил зачем такую фигню пишите.

Классы для загрузки уже существует TBitmap и TImage берите и работайте с ними.
Для наложения фильтра достаточно написать одну функцию.
В техникуме задали, когда все в одном классе работает нормально. Функция для наложения фильтра есть и когда в одном классе то работает нормально. А в таком исполнении работает только загрузка и рисование а фильтр почему то нет.
0
Эксперт С++
8382 / 6144 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.05.2017, 17:48 9
Цитата Сообщение от Bart08 Посмотреть сообщение
В техникуме задали,
Либо вам задали что-то другое, либо задали дурость.

Тут не нужны никакие классы, вы лепите ООП не к месту.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2017, 17:48
Помогаю со студенческими работами здесь

Сам вопрос: почему функция-член одного класса не вызывается из функции-члена другого класса?
//Щас всё объясню. Так, имеем два класса, в одном я определил функцию-член. Все конструкторы и...

Использование функции класса внутри другого класса
И снова к нашим баранам.. Я задавал подобный вопрос, но тут возникла такая трабла: есть класс,...

Как связать сигнал одного класса со слотом другого класса, содержащего указатель на объект этого класса?
Подскажите, пожалуйста, как связать сигнал одного класса со слотом другого класса, содержащего...

Вызвать процедуру\функцию из другого объекта\класса. Из одного класса\объекта сделать два
Здравствуйте. Подскажите что не правильно делаю, и возможно ли вообще - вызвать процедуру\функцию...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru