Graphics::TBitmap *Bitmap;
Bitmap = new Graphics::TBitmap;
if (OpenPictureDialog1->Execute())
{
Bitmap->LoadFromFile(OpenPictureDialog1->FileName);
}
Image1->Width = Bitmap->Width;
Image1->Height = Bitmap->Height;
TRect myRect;
myRect = Rect(0,0,Bitmap->Width,Bitmap->Height);
Image1->Canvas->CopyRect(myRect, Bitmap->Canvas, myRect);
delete Bitmap;
Не работает очевидная конструкция: Image1->Width = Bitmap->Width; Что не так?
Код:
В процессе выполнения программы можно посмотреть что Bitmap->Width и Bitmap->Height это вполне реальные числа, а вот Image1->Width и Image1->Height оказываются нулями! В итоге картинка может куда-то и копируется но на форме не отображается. Что же здесь не так?
Код:
Image1->AutoSize = true;
Graphics::TBitmap *Bitmap;
Bitmap = new Graphics::TBitmap;
if (OpenPictureDialog1->Execute())
{
Bitmap->LoadFromFile(OpenPictureDialog1->FileName);
}
Image1->Picture->Bitmap->Width = Bitmap->Width;
Image1->Picture->Bitmap->Height = Bitmap->Height;
TRect myRect;
myRect = Rect(0,0,Bitmap->Width,Bitmap->Height);
Image1->Canvas->CopyRect(myRect, Bitmap->Canvas, myRect);
delete Bitmap;
Graphics::TBitmap *Bitmap;
Bitmap = new Graphics::TBitmap;
if (OpenPictureDialog1->Execute())
{
Bitmap->LoadFromFile(OpenPictureDialog1->FileName);
}
Image1->Picture->Bitmap->Width = Bitmap->Width;
Image1->Picture->Bitmap->Height = Bitmap->Height;
TRect myRect;
myRect = Rect(0,0,Bitmap->Width,Bitmap->Height);
Image1->Canvas->CopyRect(myRect, Bitmap->Canvas, myRect);
delete Bitmap;
Спасибо, это заработало. Правда не понимаю почему правильно так...