Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.04;
Скачать: CL | DM;

Вниз

Image   Найти похожие ветки 

 
Lina   (2003-08-21 08:58) [0]

Уважаемые мастера! Как в Image загрузить изображение из потока


 
Skier ©   (2003-08-21 08:59) [1]

Image.Picture.Bitmap.LoadFromStream(...)


 
Lina   (2003-08-21 09:10) [2]

Я получаю ошибку: "Canvas does not allow drawing"


 
Skier ©   (2003-08-21 09:12) [3]

>Lina (21.08.03 09:10) [2]
Код покажи.


 
Lina   (2003-08-21 09:14) [4]

В начале получаю поток на NMStrmServ1:

procedure TForm3.NMStrmServ1MSG(Sender: TComponent; const sFrom: String;
strm: TStream);
var
FotoUser:TForm_Foto;
begin
MyFStream := TFileStream.Create(".\"+sfrom+".bmp", fmCreate);
MyFStream.CopyFrom(strm, strm.size);
sleep(3000);
FotoUser:=TForm_Foto.Create(Application);
FotoUser.Show;

end;

а потом
при открытии 2 формы:
Image1.Picture.Bitmap.LoadFromStream(form3.MyFStream);


 
MBo ©   (2003-08-21 09:20) [5]

MyFStream.Position:=0;


 
Skier ©   (2003-08-21 09:21) [6]

1) Вот рабочий код :
var
AStream : TMemoryStream;
begin
AStream := TMemoryStream.Create;
try
AStream.LoadFromFile("c:\000\abort.bmp");
Image1.Picture.Bitmap.LoadFromStream(AStream);
finally
AStream.Free;
end; //try
end;
2) Может быть у тебя получаются неверные данные в MyFStream ?
Проверь...


 
Lina   (2003-08-21 09:26) [7]

Пишет,что файла такого нет. А когда делаешь обновление директории, то файл появляется. Что делать, уже все попробывала


 
Skier ©   (2003-08-21 09:28) [8]

Очень похоже что сей путь ".\"+sfrom+".bmp" неверный...


 
Lina   (2003-08-21 09:37) [9]

Давайте объясню подробнее. При нажатии на кнопку происходит передача файла (изображение) моей программе из сети. При этом я хочу показать этот файл на 2-й форме. Но при открытии этой формы выползает ошибка, что файла по такой директории нет. Но когда я обновляю директорию файл там появляется


 
Palladin ©   (2003-08-21 09:58) [10]


> Lina (21.08.03 09:37) [9]

Логика, подсказывает мне, что нужно таки подождать при открытии формы2 до того как файл появится, и после уже открываться.
Или ты пути перепутал(а).


 
sniknik ©   (2003-08-21 10:30) [11]

Lina (21.08.03 09:37) [9]
> происходит передача файла (изображение) моей программе из сети
как происходит? махаеш черенком волшебной лопаты и имадж переносится? ;о)) или всетаки пользуешся чемто компонентами какими?

просто после передачи компоненты вполне могут освобождать поток, и второй раз к нему уже не обратишся. вот к примеру код вызываемый в Indy после WriteContent (правда это посылка потока, но в приеме может быть аналогично)
procedure TIdHTTPResponseInfo.ReleaseContentStream;
begin
if FreeContentStream then begin
FreeAndNil(FContentStream);
end else begin
FContentStream := nil;
end;
end;


(FreeContentStream по дефаулту true)


 
Zelius ©   (2003-08-21 11:26) [12]

попробуй закрыть поток:
MyFStream := TFileStream.Create(".\"+sfrom+".bmp", fmCreate);
MyFStream.CopyFrom(strm, strm.size);
MyFStream.Free;

что бы файл создался и записался, может поэтому его еще нет на диске.


 
Lina   (2003-08-21 13:25) [13]


> sniknik ©
махаеш черенком волшебной лопаты

procedure TForm3.NMStrmServ1MSG Выше надо было смотреть
NMStrmServ1 - вот мой черенок


 
sniknik ©   (2003-08-21 13:47) [14]

видел.

у меня переменные еще забавнее называются, что с того? (гадать влом, привела бы исходный тип/класс, другое дело)


 
Zelius ©   (2003-08-21 14:13) [15]

попробуй так сделать:

Bitmap := TBitmap.Create;
try
MyFStream.Position:=0;
Bitmap.LoadFromStream(MyFStream);
Image1.Picture.Graphic := Bitmap;
finally
Bitmap.Free;
end;

у меня так с JPeg работает.


 
Lina   (2003-08-21 14:20) [16]

Спасибо большое - у меня тоже :))



Страницы: 1 вся ветка

Текущий архив: 2003.09.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.032 c
3-10620
dim-
2003-08-12 21:19
2003.09.04
Из Clariona в Dbf


14-10921
Pitay
2003-08-17 20:25
2003.09.04
Ну скажите мне пожалуйста!!! что я делаю не так?


1-10775
pvb87
2003-08-23 19:03
2003.09.04
Linux


3-10554
yurez
2003-08-15 12:14
2003.09.04
Как редактировать права доступа к таблицам базы данных interbase?


1-10762
Nick_Omsk
2003-08-22 16:09
2003.09.04
Как организовать LOG?