Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Как увеличить размер Rectangle в Image


Автор: SerK 14.5.2007, 19:44
Друзья, нужна помощь.
При увеличении размера Image1 размер Rectangle не меняется, что делать?
Заранее всем ответившим благодарен!

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  Image1->Canvas-> Rectangle(0,0,Image1->Width,
                           Image1->Height);
 
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 Image1->Width+=50;
 Image1->Height+=50;
 Image1->Canvas->Rectangle(0,0,Image1->Width,
                           Image1->Height);
 
}

Автор: mr.Anderson 14.5.2007, 21:59
Цитата
что делать

Перерисовывать. Стирать старый прямоугольник, рисовать новый.

Автор: SerK 14.5.2007, 23:19
Цитата

Перерисовывать. Стирать старый прямоугольник, рисовать новый.

Уважаемый mr.Anderson!
То, что я сделал - не есть ли " Стирать старый прямоугольник, рисовать новый."?
Объясните, пожалуйста.

Автор: Klin 14.5.2007, 23:47
Тут не в этом дело, он у вас перерисовывается, тока его не видно. Увеливать размер изображения (и канвы вместе с ним) кто будет?

Код

  Image1->Picture->Bitmap->Height+=50;
  Image1->Picture->Bitmap->Width+=50;


Добавлено через 5 минут и 12 секунд
если, кто не понял, то это:
Код

Image1->Width+=50;
 Image1->Height+=50;

Писать не нужно. 
mr.Anderson, удалять старый не обязательно, он у него становиться только больше и зарисовывает прежний.

Автор: SerK 15.5.2007, 06:44
Уважаемый mr.Anderson!
Большое спасибо. Все вышло, как всегда все гениальное - всегда просто.
Считаю тема - закрыта. Полный  текст решения темы:



Код

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  Image1->Canvas-> Rectangle(0,0,Image1->Width,
                           Image1->Height);
 
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 Image1->Width+=50;
 Image1->Height+=50;

 Image1->Picture->Bitmap->Height+=50;//вот здесь была
 Image1->Picture->Bitmap->Width+=50;//заковыка

 Image1->Canvas->Rectangle(0,0,Image1->Width,
                           Image1->Height);
 
}

Автор: Klin 15.5.2007, 11:04
SerK, вы мой пост читали? smile

Автор: SerK 17.5.2007, 15:55
Уважаемый Klin!
Приношу Вам свое огромное извинение за невнимательность.
 
Спасибо Вам за помощь!!!!!!!!!!!!
 
Еще раз - извините.

Автор: mr.Anderson 17.5.2007, 20:03
 smile Да, так ненароком и плюс в репутацию получишь!  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)