Проблема копирования изображения

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Проблема копирования изображения

Сообщение qivi » 21.08.2012 12:15:48

Столкнулся с проблемой копирования изображения из TBitmap в TImage.
Вот код:

Код: Выделить всё
  var
    Img:TImage;
~
procedure TForm1.BitBtn1Click(Sender:TObject);
  var
    Bitmap:TBitmap;
begin
  if OD.Execute then
  begin
    Bitmap:=TBitmap.Create;
    Bitmap.LoadFromFile(OD.FileName);
    Img.Picture.Assign(Bitmap);
    Bitmap.Free;
  end;
end;   

Ошибка возникает в строке: Img.Picture.Assign(Bitmap), загрузка в строке Bitmap.LoadFromFile(OD.FileName) проходит успешно - проверил.
Сразу говорю, мне не нужно загружать изображение компонентом TImage мне нужно его именно скопировать.

Что я не так делаю в упор не вижу... :(
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

Re: Проблема копирования изображения

Сообщение Padre_Mortius » 21.08.2012 12:50:50

С каким форматом картинки пытаетесь работать?
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Проблема копирования изображения

Сообщение qivi » 21.08.2012 12:57:21

BMP, специально же написал, загрузка проходит успешно.
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

Re: Проблема копирования изображения

Сообщение hinst » 21.08.2012 14:13:07

ну так... А вдруг
Код: Выделить всё
Img.Picture = nil

Надо проверить.
А вдруг вообще
Код: Выделить всё
Img = nil


А может быть, надо вместо
Код: Выделить всё
Img.Picture.Assign(Bitmap);

делать
Код: Выделить всё
Img.Picture.Bitmap := Bitmap

или вообще так
Код: Выделить всё
Img.Picture.Bitmap.Assign(Bitmap)
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: Проблема копирования изображения

Сообщение qivi » 21.08.2012 14:37:32

А вдруг вообще
Код: Выделить всё
Img = nil


hinst, точно так и оказалось... создал ТИмидж в дизайнере, а переименовал в коде (в объявлениях), среда создала повторное объявление созданного в дизайнере ТИмеджа, а я обращаюсь к случайно образовавшемуся и не созданному компоненту :oops:
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

Re: Проблема копирования изображения

Сообщение iskander » 21.08.2012 18:42:09

Должен работать любой из вариантов:
Код: Выделить всё
Img.Picture.Bitmap.Assign(Bitmap);

или
Код: Выделить всё
Img.Picture.Bitmap := Bitmap

и даже
Код: Выделить всё
Img.Picture.Assign(Bitmap);
iskander
энтузиаст
 
Сообщения: 626
Зарегистрирован: 08.01.2012 18:43:34


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 241

Рейтинг@Mail.ru