Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите с написанием программы 
:(
    Опции темы
gennok
Дата 29.4.2007, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



нужно нарисовать прямоугольник на изображении , который будет управляться с помощью кнопок с клавы ездить по картинке ( движение: вперед, назад, лево , право). я так понимаю лучше сделать перерисовку с использованием логического ИЛИ. 

так как я профан smile  - нужна ваша помощь.

подскажите с чего начать

PM MAIL   Вверх
Partizan
Дата 29.4.2007, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 7
Всего: 67



имхо рациональнее при отрисовке прямоугольника запоминать цвета пикселей, которые он собой закрывает, и при его движении восстанавливать одни и запоминать другие...


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
codelord
  Дата 29.4.2007, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

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



можно и проще зависти от задачи,


Присоединённый файл ( Кол-во скачиваний: 24 )
Присоединённый файл  transperent.zip 66,94 Kb


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
gennok
Дата 30.4.2007, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



codelord  - спасибо конечно)), но это немного не то
мне надо рисовать прямоугольник КАЖДЫЙ раз, потому что это типа машинки, движение которой задается с клавиатуру ( она пожет поворачиваться вокруг своей оси при нажатии влево или вправо) , т.е. Rectangle не пойдет, т.к. закрывает рисунок под собой.  в отдельном классе я буду вычислять угол поворота( вектор направления) и положение центра

PM MAIL   Вверх
Klin
Дата 30.4.2007, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 20
Всего: 25



Что-то я не понял, старый рисунок не должен стираться?


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
gennok
Дата 30.4.2007, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



плохо объяснил, сорри

на Image я рисую прямоугольник, т.к. я буду им управлять надо что бы прямоугольник перерисовывался
PM MAIL   Вверх
gennok
Дата 1.5.2007, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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




пока не получилось))

но есть другой вопрос : надо выводить на форму данные полученные с датчиков на машинке и записывать в файл, как лучше это сделать? данные - это массив из [0] и [1], т.е. пиксели обрабатываются так : если белый-то 0, а черный-1

помогите

заранее спасибо
PM MAIL   Вверх
Voldemar2004
Дата 1.5.2007, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 1
Всего: 23



gennok, вот посмотри: только у меня кружок красного цвета. Переделать в прямоугольник труда не составит.
Код
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

int xc = 150, yc = 150;

int X1, Y1;
int X2, Y2;

unsigned long FormColor;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{

// 39 - Right
// 37 - Left
// 38 - Up
// 40 - Down


        // Вверх
        if (Key == 38)
        {

        yc -= 15;

        Canvas->Pen->Color = 255;

        Canvas->Ellipse(xc, yc, xc-15, yc-15);

        Canvas->Pen->Color = FormColor;

        Canvas->Ellipse(xc, yc, xc-15, yc+15);

        }

        // Вниз
        if (Key == 40)
        {


        Canvas->Pen->Color = 255;

        Canvas->Ellipse(xc, yc, xc-15, yc+15);

        Canvas->Pen->Color = FormColor;

        Canvas->Ellipse(xc, yc, xc-15, yc-15);

        yc += 15;

        }

        // Вправо
        if (Key == 39)
        {

        Canvas->Pen->Color = 255;

        Canvas->Ellipse(xc+15, yc-15, xc, yc);

        Canvas->Pen->Color = FormColor;

        Canvas->Ellipse(xc-15, yc-15, xc, yc);

        xc += 15;

        }

        // Влево
        if (Key == 37)
        {

        xc -= 15;

        Canvas->Pen->Color = 255;

        Canvas->Ellipse(xc-15, yc-15, xc, yc);

        Canvas->Pen->Color = FormColor;

        Canvas->Ellipse(xc+15, yc-15, xc, yc);

        }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormShow(TObject *Sender)
{

FormColor = Form1->Color;

}
//---------------------------------------------------------------------------


Это сообщение отредактировал(а) Voldemar2004 - 1.5.2007, 17:14


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
gennok
Дата 1.5.2007, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Voldemar2004 спасибо )) до этого сам допер ( но немного по другому) , ладно пока не очень получается что надо реализовать, т.к. прямоугольник должен вращаться вокруг центра , т.к. у него на морде будут датчики

другой вопрос : как мне данные полученные с датчиков вывести на форму, и потом записать в файл? на форме лучше Label использовать?




Это сообщение отредактировал(а) gennok - 1.5.2007, 20:20
PM MAIL   Вверх
Klin
Дата 1.5.2007, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 20
Всего: 25



Цитата(gennok @  1.5.2007,  21:19 Найти цитируемый пост)
.к. прямоугольник должен вращаться вокруг центра

Координаты_через_Sin_и_Cos_считай


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
gennok
Дата 2.5.2007, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Klin @ 1.5.2007,  23:40)
Цитата(gennok @  1.5.2007,  21:19 Найти цитируемый пост)
.к. прямоугольник должен вращаться вокруг центра

Координаты_через_Sin_и_Cos_считай

понял как сделаю выложу))

 на 2 вопрос, как мне данные полученные с датчиков ( это будет массив  из 0 и 1, т.к. черно-белый рисунок) вывести на форму, и потом записать в файл?

для вывода на форму изпользовать Label, а для постороенния массива canvas->Pixels[x][y], а запись?
PM MAIL   Вверх
gennok
Дата 7.5.2007, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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




может кому-то поможет 

Код
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
  Robot.draw();
  switch (Key)
  {
    case 'd':   // øàã ïðàâî
      Robot.rotate(ROT_RIGHT);
      break;
    case 'a':  // âëåâî
      Robot.rotate(ROT_LEFT);
      break;
    case 'w':     //  âíèç
      Robot.move(MV_FWD);
      break;
    case 's':   // ââåðõ
      Robot.move(MV_BCK);
      break;
  }
  Robot.draw();
}




это управление 

написал прогу которая считает центр, и подключаю вычесления
PM MAIL   Вверх
AJIKALLI
Дата 8.7.2007, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ребят, кто может - помогите ПЛИЗ, срочняк надо. Написать вот такую прогу на Borland C++ под ДОС который........Пусть файлы А и В, компоненты которых  являются целыми числами, упорядоченны по возрастанию. Получить в файле С все числа файлов А и В без повторений. Файл С тоже должен быть упорядочен по возрастанию.

Прогу эту я написал на Паскале, Ку бейсике, а на Си вообще ничего не получается    
PM MAIL   Вверх
Klin
Дата 9.7.2007, 05:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 20
Всего: 25



AJIKALLI, создавайте свою тему, и не здесь, а в разделе "Центр помощи". Уважайте правила форума.


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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