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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2010, 20:39   #11
Alest
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 28
По умолчанию

Цитата:
Delphi 7,
Цитата:
mustang007Всё спасибо всем кто помогал! я скачал компонент для delphi 7 TPNGImage, кому интересно http://delphidevelop.ru/load/19-1-0-36, всё теперь работает!
Допустим это у нас все есть , вопрос в другом
Alest вне форума Ответить с цитированием
Старый 11.06.2010, 20:48   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
var MS:TMemoryStream; 
     PNG:TPNGImage.Create;
begin
 MS:=TMemoryStream.Create;
 http.Get('http://*.*,MS);
 MS.Position:=0;
 PNG:=TPMGImage.Create;
 PNG.LoadFromStream(MS);
 MS.Free;
 Image1.Width:=PNG.Width;
 Image1.Height:=PNG.Height;//может это вам и не надо.
 Image1.Picture.Bitmap.Assing(PNG);
 PNG.Free;
end;
примерно так.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.06.2010, 20:53   #13
Alest
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 28
По умолчанию

Спасибо, пойду разбераться
Alest вне форума Ответить с цитированием
Старый 11.06.2010, 21:34   #14
Alest
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 28
По умолчанию

Все грузится, спасибо!
Вот исправленный код:
Цитата:
procedure TForm1.Image1Click(Sender: TObject);
var
MS: TMemoryStream;
PNG: TPNGObject;
begin
MS:= TMemoryStream.Create;
PNG := TPNGObject.Create;
IdHTTP1.Get('http://shot.far.ru/termin.png', MS);
MS.Position := 0;
PNG.LoadFromStream(MS);
Image1.Width:=PNG.Width;
Image1.Height:=PNG.Height;
Image1.Picture.Bitmap.Assign(PNG);
MS.Free;
PNG.Free;
end;
Alest вне форума Ответить с цитированием
Старый 11.06.2010, 21:37   #15
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну у меня просто класс TPNGImage назывался
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 11.06.2010 в 21:41.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.05.2012, 22:24   #16
Giku
Пользователь
 
Регистрация: 30.12.2009
Сообщений: 53
Вопрос

как узнать какое расширение у файла ?
т.е. файлы скачиваются с сайта : http://www.adres_saita.ru/Image?ID=123456

я знаю только ID (123456)

у файла только 2 разширения .png или .gif

рисунки создаются динамичеки (скачиваются на комп и загружаются на форму)

ссылки
http://www.adres_saita.ru/Image?ID=123456.png
http://www.adres_saita.ru/Image?ID=123456.gif
не работают

качаю так: (спасибо Volt)
Код:
//SourceFile:='http://www.adres_saita.ru/Image?ID='+ID;
//DestFile:='D:\Folder\'+ID+'.gif'
function TForm1.DownloadFile(SourceFile, DestFile: string): Boolean;
begin
  try
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
  except
    Result := False;
  end;
end;
если рисунок .png он скачивается но проблема при его загруски на форму "Unknown GIF version";


если б я за ранее знал его формат было бы проще. или мжет сохронить без разришения и потом како го добавить ?

помогите плзззз!
Giku вне форума Ответить с цитированием
Старый 20.05.2012, 22:40   #17
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Можно на сигнатуру файла глянуть. Читаем первые 4 байта из файла, если там:
'GIF8' - это gif.
#89'PNG' - это png.
Arigato вне форума Ответить с цитированием
Старый 20.05.2012, 23:10   #18
Giku
Пользователь
 
Регистрация: 30.12.2009
Сообщений: 53
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Можно на сигнатуру файла глянуть. Читаем первые 4 байта из файла, если там:
'GIF8' - это gif.
#89'PNG' - это png.
огромное спасибо


не подскажитe пожалуйста как записать в перменную эти првые 4 байта спасибо.
Giku вне форума Ответить с цитированием
Старый 20.05.2012, 23:11   #19
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)есть обработка ошибок, попытатся грузить как ГИФ, если не выходит, то как ПНГ.
2)есть еще HEAD запрос.
3)определять руками.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.05.2012, 23:21   #20
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от Giku Посмотреть сообщение
не подскажитe пожалуйста как записать в перменную эти првые 4 байта спасибо.
Очевидно, что прочитать их из файла (если картинка в файле) или из памяти.
Arigato вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как загрузить картинку из интернета пауэрлифтинг Работа с сетью в Delphi 6 02.08.2010 16:49
Как правельно отобразить на кнопке картинку во VB6? С.М.С Помощь студентам 3 27.06.2009 18:57
Как отобразить картинку из интернета на форме reyn90 Помощь студентам 0 01.06.2009 20:05
Подскажите, как лучше отобразить картинку! badfilin JavaScript, Ajax 0 12.05.2008 01:34
из интернета картинку в имедж загрузить? Лёка Работа с сетью в Delphi 4 13.01.2008 14:35