C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Проверка Image1->Picture->Bitmap->Empty, Глюк?
gen
Отправлено: 13.12.2005, 15:47


Дежурный стрелочник

Группа: Участник
Сообщений: 36



Привет!

Проблема в следующем: на форме есть Image, который в определенное время необходимо проверять на пустоту. В Image в процессе работы программы могут быть направлены данные как в BMP так JPG формате. С присвоением и отображением никаких проблем — все как обычно:
CODE

void __fastcall TForm1::Button2Click(TObject *Sender)
{
if (Image1->Picture->Bitmap->Empty==true)
{// делаем необх. действия.}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Picture->RegisterFileFormat( NULL, "jpg", "JPEG Image", __classid(TJPEGImage) );
Image1->Picture->LoadFromFile("C:\\Photo.bmp");
//Image1->Picture->LoadFromFile("C:\\Photo.jpg");

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

на примере: кнопка 1 — открыть файл, кнопка 2 — проверить Image
Так, вот, все ОК пока идет работа с BMP, а как только в Image помещен JPG, то при первой же проверке он очиститься. Почему !!?
Кто-нибудь натыкался на такие "грабли"?

gen
Отправлено: 13.12.2005, 16:23


Дежурный стрелочник

Группа: Участник
Сообщений: 36



Кажись сам нашел, надо:
CODE
Image1->Picture->Graphic->Empty

использовать, а то Bitmap :
QUOTE
If Bitmap is referenced when the picture contains a Drawing or Icon graphic, the graphic won't be converted. Instead, the original contents of the picture are discarded and Bitmap returns a new, blank bitmap

Вернуться в Вопросы программирования в C++Builder