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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2007, 11:50   #1
bill
Форумчанин
 
Аватар для bill
 
Регистрация: 26.04.2007
Сообщений: 440
По умолчанию А есть ли картинка?

Привет всем! У меня простой вопрос - как узнать есть ли картинка в image. Вроде должна быть какая то функция которая выводила бы true если есть и false соот-но.
Но я признаться честно не нашел такой. Так как же это узнать?
bill вне форума Ответить с цитированием
Старый 04.08.2007, 12:44   #2
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

if Image.Picture = nil ..
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 04.08.2007, 12:54   #3
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Virtson, это только для растра.
Не знаю про функцию, но можно сделать так:
Код:
cx:=Image1.Width;
cy:=Image1.Height;
 
Image1.AutoSize:=true;
if Image1.Width>0 then
  ShowMessage('Есть картинака')
  else ShowMessage('Пусто');
 
Image1.AutoSize:=false;
Image1.Width:=cx;
Image1.Height:=cy;
Использовать Bitmap - проблематично, т.к. картинка может быть не BMP.
P.S.: это решение - как крайний вариант. )
Alex21 вне форума Ответить с цитированием
Старый 04.08.2007, 13:48   #4
Net
;-)
Пользователь
 
Регистрация: 18.07.2007
Сообщений: 69
По умолчанию

image1.Picture.Graphic.Empty.
Net вне форума Ответить с цитированием
Старый 06.08.2007, 10:29   #5
bill
Форумчанин
 
Аватар для bill
 
Регистрация: 26.04.2007
Сообщений: 440
По умолчанию

Цитата:
Сообщение от Net Посмотреть сообщение
image1.Picture.Graphic.Empty.
Я как раз и думал раньше что это и есть та самая функция. НО она ругается(выдает ошибку если нет картинки)
bill вне форума Ответить с цитированием
Старый 06.08.2007, 14:47   #6
pinhead
Пользователь
 
Аватар для pinhead
 
Регистрация: 08.12.2006
Сообщений: 36
По умолчанию

Цитата:
Я как раз и думал раньше что это и есть та самая функция. НО она ругается(выдает ошибку если нет картинки)
Если она ругается то поместите её в конструкцию try...finally...end.
Знание этого – Мудрость.
Умение этим пользоваться – Искусство.
pinhead вне форума Ответить с цитированием
Старый 06.08.2007, 16:23   #7
Iceman
Форумчанин
 
Регистрация: 08.07.2007
Сообщений: 154
По умолчанию

если image1.Timage дает none то нету там картинки. и ещё если canvas.pixels в цвет формы то скорее всего нету.
Iceman вне форума Ответить с цитированием
Старый 06.08.2007, 17:53   #8
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Net правильно написал
А ошибка скорее всего потому что объекты Graphic и Picture еще не созданы.
С вручную созданными TBitmap и TJpegImage у меня никогда проблем не было с этим свойством.

Подумал немного над вопросом.
Интересный вариант предложил Alex21.
Вот мой вариант попроще: создать глобальную переменную и при загрузке картинки писать в нее true, при освобождении (если оно надо) false.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 06.08.2007 в 18:45. Причина: Невнимательно прочел вопрос
mutabor вне форума Ответить с цитированием
Старый 06.08.2007, 19:57   #9
bill
Форумчанин
 
Аватар для bill
 
Регистрация: 26.04.2007
Сообщений: 440
По умолчанию

Цитата:
Сообщение от pinhead Посмотреть сообщение
Если она ругается то поместите её в конструкцию try...finally...end.
Пробовал. Смысла не вижу в этом.

Цитата:
Сообщение от mutabor Посмотреть сообщение
создать глобальную переменную и при загрузке картинки писать в нее true, при освобождении (если оно надо) false.
mutabor, я мог бы давно сделать это. Но проблема в том что я могу загружать картинку автоматически- нажимаю на as.bmp открыть с помощью и выбираю свою программу. Если я это сделаю то глобальная переменная не поможет.
Вот в чем подводный камень.
Alex21 действительно предложил интересный вариант.
bill вне форума Ответить с цитированием
Старый 06.08.2007, 20:30   #10
bill
Форумчанин
 
Аватар для bill
 
Регистрация: 26.04.2007
Сообщений: 440
По умолчанию

mutabor навел меня на мысль о создании глоб. переменной.
Вопрос разрешился. Спасибо всем кто участвовал в обсуждении. Ну а кто не понял привожу часть кода -
В общем я создал пре-ю(a) типа tbitmap. на formcreate я сделал
a:=tbitmap.create;
a:=image1.picture.bitmap;
а потом в обработчике нужного события я сделал
if a.empty then showmessage('картинки нет') else showmessage('картинка есть');
bill вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текст + картинка Killbrum Помощь студентам 13 26.05.2008 22:33
Картинка в Memo Aleksandr Общие вопросы Delphi 4 21.05.2008 14:15
Картинка в пеинте! Altera Общие вопросы Delphi 3 01.03.2008 22:58
не отображается картинка sstyle JavaScript, Ajax 3 30.01.2008 02:59
CGI-картинка AidarBik PHP 0 01.01.2008 18:03