Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2010, 01:28   #1
cyberandom
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 35
По умолчанию Работа с изображениями С++

У меня сразу два вопроса:
  1. Как можно в процесссе выполнения функции изменить картинку у компонента TImage?
  2. В процессе выполнения функции у меня по окну должна со временем перемещаться картинка, однако процесс её перемещения не отображается, а отображается лишь конечный результат. Как можно сделать чтобы было видно перемещение?
cyberandom вне форума Ответить с цитированием
Старый 13.12.2010, 07:50   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Вы хотитезагрузить её из файла или из ресурсов?
Если из файла то:
Imade1->Picture->LoadFromFile("myimage.bmp");
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 13.12.2010, 09:14   #3
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Лампочка

Цитата:
Сообщение от cyberandom Посмотреть сообщение
У меня сразу два вопроса:
  1. Как можно в процесссе выполнения функции изменить картинку у компонента TImage?
  2. В процессе выполнения функции у меня по окну должна со временем перемещаться картинка, однако процесс её перемещения не отображается, а отображается лишь конечный результат. Как можно сделать чтобы было видно перемещение?
Нужно обработать событие OnPaint().
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 13.12.2010, 11:09   #4
cyberandom
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 35
По умолчанию

В каком смысле обработать событие?
cyberandom вне форума Ответить с цитированием
Старый 13.12.2010, 11:35   #5
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Лампочка

Цитата:
Сообщение от cyberandom Посмотреть сообщение
В каком смысле обработать событие?
В этом событии сделать перерисовку изображения типа:
Код:
Canvas.Draw(0,0, BitMap);
Быстрая перерисовка:
Код:
Canvas.CopyRect(Canvas.ClipRect, BitMap.Canvas, Canvas.ClipRect);
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 13.12.2010, 11:40   #6
cyberandom
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 35
По умолчанию

Всё равно та же проблема - виден только конец
cyberandom вне форума Ответить с цитированием
Старый 13.12.2010, 11:52   #7
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Лампочка

Цитата:
Сообщение от cyberandom Посмотреть сообщение
Всё равно та же проблема - виден только конец
Начнём с того, что должно перемещаться картинка или компонент?
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 13.12.2010, 11:54   #8
cyberandom
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 35
По умолчанию

Компонент TImage, или возможно другой, но у меня сейчас TImage
cyberandom вне форума Ответить с цитированием
Старый 13.12.2010, 12:01   #9
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Лампочка

Цитата:
Сообщение от cyberandom Посмотреть сообщение
Компонент TImage, или возможно другой, но у меня сейчас TImage
Если вынесение BitMap в глобальную переменную не поможет, то нужно увидеть код.
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 13.12.2010, 12:06   #10
cyberandom
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 35
По умолчанию

Код:
class TForm1 : public TForm
{
__published:	// IDE-managed Components
	TImage *s1;
	TMainMenu *MainMenu1;
	TMenuItem *N1;
	TMenuItem *N2;
	TMenuItem *N4;
	TMenuItem *N5;
	TImage *r1;
	TImage *base;
	TComboBox *ComboBox1;
	TPanel *Panel1;
	TButton *Button1;
	void __fastcall N5Click(TObject *Sender);
	void __fastcall BitBtn1Click(TObject *Sender);
	void __fastcall FormShow(TObject *Sender);
	void __fastcall ComboBox1Change(TObject *Sender);
	void __fastcall N2Click(TObject *Sender);
private:	// User declarations
public:		// User declarations
	__fastcall TForm1(TComponent* Owner);
};


TForm1 *Form1;
//---------------------------------------------------------------------------

const short int d = 24;
bool fly= true;

void __fastcall TForm1::N2Click(TObject *Sender)
{
  while (fly)
   {
	 if ((s1->Left - base->Left) > (s1->Top - base->Top))
	 {
	   s1->Top= s1->Top - d;
	 }
	 else
	 {
	   s1->Left= s1->Left +d;
	 }
	 if (( (s1->Left - base->Left)*(s1->Left - base->Left) + (s1->Top - base->Top)*(s1->Top - base->Top) ) < 18*17)
	 {
	   fly= false;
	   base->Picture->LoadFromFile("basadestroyed.png");
	 }
            Canvas->CopyRect(Canvas->ClipRect, s1->Canvas, Canvas->ClipRect);
  }
}
Там вначале описание переменных

Последний раз редактировалось cyberandom; 13.12.2010 в 12:32.
cyberandom вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с изображениями C# _PROGRAMM_ Общие вопросы .NET 4 16.02.2010 16:38
работа с изображениями викталик Помощь студентам 0 03.05.2009 23:58
Работа с изображениями Алён@ Мультимедиа в Delphi 8 16.01.2009 10:48
Работа с изображениями. varvara16 Мультимедиа в Delphi 2 21.12.2007 15:52