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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2012, 12:15   #1
aharem08
Пользователь
 
Регистрация: 10.09.2010
Сообщений: 17
По умолчанию Вопрос по TImage

люди добрые подскажите, как можно в TImage загрузить картинку с сайта допустим http://blabla.ru/123.png (PNG).
aharem08 вне форума Ответить с цитированием
Старый 28.02.2012, 13:18   #2
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
По умолчанию

Цитата:
Сообщение от aharem08 Посмотреть сообщение
люди добрые подскажите, как можно в TImage загрузить картинку с сайта допустим http://blabla.ru/123.png (PNG).
что бы просто научить delphi открывать png файлы
Вложения
Тип файла: rar png_interface_files.rar (369.2 Кб, 19 просмотров)
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype
denisbrain вне форума Ответить с цитированием
Старый 28.02.2012, 13:39   #3
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
По умолчанию

Код:
uses pngimage;
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var AResponseCon: TmemoryStream;
  NewGraphic: TGraphic;
  url:string;
begin
  url:='http://netsoftware.ucoz.ru/31.08.png';
AResponseCon:=TmemoryStream.Create;
form1.IdHTTP1.Get(url,AResponseCon);
//AResponseCon.LoadFromFile('c:\31.08.png');
 NewGraphic := pngimage.TPNGObject.Create;
  try
    NewGraphic.LoadFromStream(AResponseCon);
    form1.Image1.Picture.Assign(NewGraphic);
  except
    NewGraphic.Free;
    raise;
  end;

  AResponseCon.Free;
end;
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype
denisbrain вне форума Ответить с цитированием
Старый 29.02.2012, 16:06   #4
aharem08
Пользователь
 
Регистрация: 10.09.2010
Сообщений: 17
По умолчанию

aharem08 вне форума Ответить с цитированием
Старый 29.02.2012, 16:08   #5
aharem08
Пользователь
 
Регистрация: 10.09.2010
Сообщений: 17
По умолчанию

Цитата:
Сообщение от denisbrain Посмотреть сообщение
Код:
uses pngimage;
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var AResponseCon: TmemoryStream;
  NewGraphic: TGraphic;
  url:string;
begin
  url:='http://netsoftware.ucoz.ru/31.08.png';
AResponseCon:=TmemoryStream.Create;
form1.IdHTTP1.Get(url,AResponseCon);
//AResponseCon.LoadFromFile('c:\31.08.png');
 NewGraphic := pngimage.TPNGObject.Create;
  try
    NewGraphic.LoadFromStream(AResponseCon);
    form1.Image1.Picture.Assign(NewGraphic);
  except
    NewGraphic.Free;
    raise;
  end;

  AResponseCon.Free;
end;
Ошибку пишет - вот скрин http://www.imagepost.ru/images/r/is/risunok_22.JPG
aharem08 вне форума Ответить с цитированием
Старый 12.05.2012, 14:09   #6
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
Радость

Цитата:
Сообщение от aharem08 Посмотреть сообщение
Ошибку пишет - вот скрин http://www.imagepost.ru/images/r/is/risunok_22.JPG
http://netsoftware.ucoz.ru/news/skac.../2012-05-12-61

подправил


Код:
скачиваем файл с интернета с помощью  TIdHTTP и запихиваем его в TMemoryStream

function  DownloadFileToStream(http:TIdHTTP;Url:string):TMemoryStream;
begin
  Result:=TMemoryStream.Create();
  try
    http.Get(url,result);
  finally
  result.Seek(0,0); // обязательно вернуть курсор в начало записи т.к. 
// procedure TPngObject.LoadFromStream(Stream: TStream);
// не делает этого 
//   Stream.Read(Header[0], 8);
//

end;
end;


Код:
// собственно сама процедура
procedure TForm1.Button1Click(Sender: TObject);
var AResponseCon: TmemoryStream;
  NewGraphic: TGraphic;
  url:string;
  Buffer:string;
begin
  url:='http://netsoftware.ucoz.ru/bangladesh.png'; 
// скачиваем герб  Бангладежа  

  NewGraphic := TPNGObject.Create;
  try
    NewGraphic.LoadFromStream(DownloadFileToStream(form1.IdHTTP1,url));
    form1.Image1.Picture.Assign(NewGraphic);
  except
    NewGraphic.Free;
    raise;
  end;
end;
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype
denisbrain вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по преобразованию типов переменных (TImage и FILE) Pcrepair Общие вопросы Delphi 3 04.01.2011 15:15
Вопрос: Работа с TImage вырезание картинок из clFuchsion rangel Помощь студентам 2 25.11.2010 13:12
Вопрос о хранении картинки Timage или ресурсах Человек_Борща Общие вопросы Delphi 13 30.10.2010 21:28
Вопрос по поводу TImage B!ack^SuN Общие вопросы C/C++ 3 27.09.2010 21:54
Вопрос по Timage Petros Мультимедиа в Delphi 5 04.07.2010 14:57