TImage Jak sprawdzić czy jest w picture jakiś obraz

0

Witam,

Mam taki wydawać by się mogło banalny problem. Otóż muszę sprawdzić w TImage znajduje się jakiś obraz. Dodam, że obraz ten byłby typu jpg.
Coś tkaiego nie działa:

 if (Image1.Picture.Bitmap.Empty) then showmessage('Nie ma');

Nie działa też coś takiego:

 if (Image1.Picture.Graphic.Empty) then showmessage('Nie ma');

Czy ktoś wie jak można to sprawdzić?

Z góry dzięki za pomoc

0

Sprawdź może, czy ścieżka do pliku graficznego(FileName) to pusty łańcuch. Chociaż nie wiem, jak to zadziała, jeśli obraz będzie ładowany z zasobu

[dopisane]

Albo jeszcze inaczej, ale to trochę bez sensu.
Chodzi o sprawdzenie, czy każdy piksel canvasa image'u ma kolor taki, jak jego rodzic. Jeśli tak, to znaczy, że żaden obraz nie jest załadowany
(chyba, że obraz to jednokolorowa bitmapa w kolorze rodzica)

0

Proponuje po ludzku:
if form1.Image1.Picture.Graphic=NIL then .....;
Jeśli nie ma obrazka to Graphic jest NILem
Andrzej Dąbrowski

0

Stary i jeszcze się dziwisz, że nie działa? Czy obrazek *.jpg jest typu TBitmap lub TGraphic?

Hmm problem rzeczywiście z tym jest ale można to stosunkowo łatwo rozwiązać...

var
JPEG:TJPEGImage;
(...)
begin
JPEG:=TJPEGImage.Create;
//sprawdzasz
if JPEG.Empty then ShowMessage('Ni ma')
else ShowMessage('Jest!');

// ladujesz do JPEG a nastepnie do TImage...
JPEG.LoadFromFile('obrazek.jpg');
Image1.Picture.Assign(JPEG);

//sprawdzasz
if JPEG.Empty then ShowMessage('Ni ma')
else ShowMessage('Jest!');
end;

//porada daban'a też działa :)

0

Hej, dzięki za pomoc.

Propozycja daban'a wydaje się być dobra i działa :-)
A potrzebne mi to było, ładuje zdjęcia do strumienia, i jak nie było tam zdjęcia to się wykrzaczał.

Wielkie dzięki za pomoc!

1 użytkowników online, w tym zalogowanych: 0, gości: 1