powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Отображение изображений в delphi с сервера
20 сообщений из 20, страница 1 из 1
Отображение изображений в delphi с сервера
    #39564596
dead end
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
Необходимо выгрузить картинку с сервера в приложение Delphi. Поле с изображением типа varbinarymax.
Загружал через компонент Image с помощью AdoQuery.


qadd.SQL.Add('insert into Работник(Табельный_номер,Фамилия, Имя,Отчество,Фото )') ;
qadd.SQL.Add('values( :Tnom,:SecName,:Name,:SurName,:Foto)');
qadd.Parameters.ParamByName('Foto').LoadFromfile(OPD1.FileName,ftBlob);

Пробовал через DbImage - вылезает ошибка Bitmap image is not valid.
Каким способом можно извлечь изображение?Какой компонент использовать?Или запрос?
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564614
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте, может заведется: 12082448
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564617
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.
но может и не взлететь, если Delphi какая-нибудь из последних
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564622
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dead end,

тебе сюда.

Но сначала - сюда.
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564627
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dead endЗагружал через компонент Image с помощью AdoQuery.

Ну, поздравляю. При этом ты потерял информацию о его формате. Теперь у тебя два пути:
загрузить изображения снова, на этот раз сохраняя их имя (или по крайней мере расширение)
или применить компонент/код, анализирующий сигнатуру их заголовка при загрузке из TBlobStream.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564628
dead end
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кроик Семён,

файл dpk даже не открывается(
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564634
dead end
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovdead endЗагружал через компонент Image с помощью AdoQuery.


загрузить изображения снова, на этот раз сохраняя их имя (или по крайней мере расширение)


каким образом это осуществляется?
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564636
dead end
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чччД,

там сказали спросить у "делфистов"))
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564639
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dead endчччД,

там сказали спросить у "делфистов"))

Тогда - в армию. Там хорошо, паёк, порядок, уважение мужчин, внимание женщин.
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564644
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй выгрузить картинку в файл и натравить на него какой-нибудь просмотрщик файлов. Так узнаешь формат файлов, если повезет.
Возможно, остальные картинки у тебя такого же формата.
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564645
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dead endкаким образом это осуществляется?

Точно таким же, только в табличке на одно поле больше.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564648
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dead end,

проще всего конечно сохранять тип файла, но если его нет, то можно по очереди открывать разными компонентами и отлавливать ошибки, снача TJPEG, потом TBItmap, TPNG (не помню, есть там суффикс Image или нет)
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564656
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dead endКроик Семён,

файл dpk даже не открывается(

какая версия Delphi?
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564659
Ghost Writer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TWebBrowser откроет любой поддерживаемый системой формат и без расширения файла.
Потом "Сохранить изображение как..." и видим расширение.
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564663
dead end
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кроик Семён,

xe3
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564664
Ghost Writer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по идее можно даже сразу стрим в него грузить без сохранения в файл
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564665
dead end
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zelius,
все изображения,которые загружались, формата Png, но я все равно не понимаю как использовать это(
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564668
dead end
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zelius,

эти компоненты дополнительно надо устанавливать? не могу найти
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564681
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dead end,

в uses пропиши Graphics, jpeg, PngImage, GIFImg,

во что откопал:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
function FindGraphicClass(const Buffer; const BufferSize: Int64;
out GraphicClass: TGraphicClass): Boolean;
var
  LongWords: array[Byte] of LongWord absolute Buffer;
  Words: array[Byte] of Word absolute Buffer;
begin
  GraphicClass := nil;
  Result := False;
  if BufferSize < MinGraphicSize then Exit;
  case Words[0] of
    $4D42: GraphicClass := TBitmap;
    $D8FF: GraphicClass := TJPEGImage;
    $4949: if Words[1] = $002A then GraphicClass := TWicImage; //i.e., TIFF
    $4D4D: if Words[1] = $2A00 then GraphicClass := TWicImage; //i.e., TIFF
  else
  if Int64(Buffer) = $A1A0A0D474E5089 then
    GraphicClass := TPNGImage
  else if LongWords[0] = $9AC6CDD7 then
    GraphicClass := TMetafile
  else if (LongWords[0] = 1) and (LongWords[10] = $464D4520) then
    GraphicClass := TMetafile
  else if StrLComp(PAnsiChar(@Buffer), 'GIF', 3) = 0 then
    GraphicClass := TGIFImage
  else if Words[1] = 1 then
    GraphicClass := TIcon;
  end;
  Result := (GraphicClass <> nil);
end;


правда не знаю, работает ли :)
...
Рейтинг: 0 / 0
Отображение изображений в delphi с сервера
    #39564685
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dead end,

ну и вот что имел ввиду

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
  function OpenGraphic( aData: TSTream; out aExt: String): TGraphic;
  const
    ImageClassses:   array[0..3] of TGraphicClass = ( TJPEGImage, TPngImage, TGIFImage, TBitmap);
    ImageExtensions: array[0..3] of String = ( '.jpg', '.png', '.gif', '.bmp');
  var
    i: Integer;
  begin
    Result := nil;
    for i := 0 to Length(ImageClassses)-1 do
    try
      Result := ImageClassses[i].Create;
      aData.Position := 0;
      Result.LoadFromStream(aData);
      aExt := ImageExtensions[i];
      break;
    except
      Result := nil;
    end;
  end;
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Отображение изображений в delphi с сервера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]