var Img : TJpegImage; Ms : TMemoryStream; begin Img := TJpegImage.Create; Ms := TMemoryStream.Create; try Http.Get('http://vkontakte.ru/ссыль на аву', Ms); except end; Ms.Position := 0; img.LoadFromStream(ms); form1.Image1.Picture.Graphic := img;
1n0y Как получить определённую картинку это понятно. Мне нужно при авторизации. Ссылку картинки я не знаю
то есть тебе известен линк на саму страницу? Тогда почти так же, нужно только отпарсить из полученного хтмл кода линк на картинку.
все просто Code: var Page : TStringList; I : Integer; url : string; begin Page := TStringList.Create; Page.Text := HTTP.Get('http://vkontakte.ru/idxxxxxx'); For I := 0 to Page.Count -1 do begin if Pos('<div id="profilePhoto"', page[i]) <> 0 then begin url := page[i +1]; url := Copy(url, Pos('http://', url), Length(url)); Delete(url, Pos('/>', url), Length(url)); end; end; page.Free; end; // url - ссылка на аву)))
ссылку дал в лс. У тебя там ошибка: Code: idhttp1.Get(url); // Ты запрашиваешь контент, но никуда его не записываешь правильнее будет так: idhttp1.Get(url, ms); коли юзаешь инди, файл idCookieManager.pas залей в папку lib
я delphi не изучаю и не буду.(изучаю С#) Но вот выложу алгоритм. 1.Авторизуемся VK как те удобно уйма способов,лучше winapi. 2.После авторизации,циклом на странице ишиш profilePhoto. 3.Парсиш и сохроняеш в Image. p.s.Сильно не критиковать вроде все верно описал.
Code: var Page : TStringList; I : Integer; url : string; begin Page := TStringList.Create; Page.Text := HTTP.Get('http://vkontakte.ru/idxxxxxx'); url := Copy( Page.Text, Pos('img src=http://cs', Page.Text)+8, 70); Delete(url, Pos('/>', url), Length(url)); page.Free; end; RedFern.89, так лучше, т.к. эта строчка в коде уникальна. ну или юзайте break; после нахождения строки, сами понимаете зачем