![]() |
|
|
#1
|
||||
|
||||
|
Компонент отрисовывае на канве JPEGImage - загружается из потока в конструкторе и отрисовывается на канве
Код:
type
TTumbnale = class(TGraphicControl)
----------------------
protected
Img: TJPEGImage;
public
constructor Create(AOwner:TComponent; AName:TComponentName;
ImgStream:TMemoryStream);reintroduce;
procedure Paint;override;
end;
implementation
constructor TTumbnale.Create(AOwner:TComponent; ImgStream:TMemoryStream);
begin
inherited Create(AOwner);
Parent:= AOwner as TWinControl;
Img:= TJPEGImage.Create;
Img.LoadFromStream(ImgStream);
end;
procedure TTumbnale.Paint;
begin
inherited Paint;
Canvas.StretchDraw(Rect(2,2,242,182),Img);
end;Код:
procedure TForm1.Button2Click(Sender: TObject);
var t: TTumbnale; s: TMemoryStream; h: TIdHTTP;
begin
s:= TMemoryStream.Create;
h:= TIdHTTP.Create(Self);
h.HandleRedirects:= True;
h.Get('http://fobr.ru/wp-content/uploads/2013/11/zapr_0.jpg', s);
t:= TTumbnale.Create(ScrollBox1, 'tumb1', s); //здесь ошибка 42
s.Free; h.Free;
end;Код:
begin
s:= TMemoryStream.Create;
h:= TIdHTTP.Create(Self);
h.HandleRedirects:= True;
h.Get('http://fobr.ru/wp-content/uploads/2013/11/zapr_0.jpg',s);
s.SaveToFile('Temp\zapr_0.jpg'); //Файл сохраняется
s.Free; h.Free;
end;Код:
begin
s:= TMemoryStream.Create;
s.LoadFromFile('Temp\zapr_0.jpg');
t:= TTumbnale.Create(ScrollBox1,'tumb1', s); //здесь все прекрасно срабатывает
s.Free;
end;и что это за ошибка #42? |
|
#2
|
||||
|
||||
|
Код:
... h.Get( ... s.Position:= 0; t:= ... ... Последний раз редактировалось @Rafa3L, 25.04.2015 в 09:05. |
| Этот пользователь сказал Спасибо @Rafa3L за это полезное сообщение: | ||
Помидоркин (25.04.2015)
| ||
|
#3
|
||||
|
||||
|
После загрузки:
Код:
S.Seek(0, soFromBeginning); Последний раз редактировалось Vayrus, 22.05.2015 в 10:17. |