![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В GraphicEx: нет LoadFromStream для Image [D6, XP]
Евгений07 © (2011-10-09 23:28:00)Доброго времени!
Для отображения jpg файлов пользуюсь GraphicEx
Понадобилось для чтения jpg файлов в Image применить LoadFromStream
Выдает ошибку при компиляции
Если включить QExtCtrls, то LoadFromStream доступен для Image, но не доступен формат jpg
Евгений07 (2011-10-10 03:15:00) [1]Юрий Спасибо
1. Я понял суть моей проблемы (на данный момент)
2. Проверка займет время, голова сейчас не ток варит
3. Из пока еще мной не понятого:
скачиваю картинку с своего сайта = все нормально
скачиваю картинку с сайта хостинга =
- размер в ~10 раз меньше
- формат не тот (jpeg заголовок идет = FFxx, у меня в десятиричном формате = 60, 33, 68, 79, 67 ...)
Юрий Зотов (2011-10-10 02:45:00) [2]Уточнение - чтобы не было утечки памяти, грузите картинку так:
var
Temp: TPicture;
begin
Temp := GetLogo;
try
Image1.Picture.Graphic := Temp;
finally
Temp.Free;
end;
end;
Юрий Зотов (2011-10-10 02:33:00) [3]
> Евгений07 (10.10.11 02:23) [12]
TSomeClass - это любой Ваш класс (например, форма, на которой лежит Image). Добавьте к нему этот метод и грузите картинку так:
Image1.Picture.Graphic := GetLogo;
В uses должно быть Graphics, Jpeg и ExtCtrls (QExtCtrls и GraphicsEx уберите).
Евгений07 (2011-10-10 02:23:00) [4]Jpeg подключен
Jpeg.pas у меня нет
TSomeClass не знаю. где посмотреть?
Юрий Зотов (2011-10-10 02:09:00) [5]
> Евгений07 (10.10.11 01:47) [9]
> Подключение QExtCtrls ошибку снимает, не доступен формат jpg
Вместо QExtCtrls подключите модуль Jpeg. Во всяком случае, с ним у меня без проблем работает вот это:
function TSomeClass.GetLogo: TGraphic;
var
Stream: TResourceStream;
begin
Stream := TResourceStream.Create(HInstance, 'LOGO', RT_RCDATA);
try
Result := TJpegImage.Create;
try
Result.LoadFromStream(Stream)
except
Result.Free;
raise
end
finally
Stream.Free
end
end;
Германн (2011-10-10 01:50:00) [6]
> Евгений07 (10.10.11 01:30) [6]
>
> без QExtCtrls недоступен LoadFromStream для Image
> Компилятор выдает ошибку
> Значит косячит GraphicEx??
>
Значит "косячите" вы!
Неужели так сложно прочитать справку?
Евгений07 (2011-10-10 01:47:00) [7]ExtCtrls указан в uses всегда
uses
ExtCtrls,
Jpeg, Graphics,
GraphicEx,
это вырезка uses = Компилятор выдает ошибку
Подключение QExtCtrls ошибку снимает, не доступен формат jpg
= объект для Image берется из QExtCtrls, без GraphicEx
Это мое предположение
Юрий Зотов (2011-10-10 01:45:00) [8]См. TImage.Picture.Graphic.LoadFromStream
Юрий Зотов (2011-10-10 01:35:00) [9]
> Евгений07 (10.10.11 01:30) [6]
А с ExtCtrls (без "Q") - тоже ошибка?
Евгений07 (2011-10-10 01:30:00) [10]без QExtCtrls недоступен LoadFromStream для Image
Компилятор выдает ошибку
Значит косячит GraphicEx??
Германн (2011-10-10 01:21:00) [11]
> На ХР
Так зачем вам нужен QExtCtrls?
Он-то разработан для Линукса!
Евгений07 (2011-10-10 01:08:00) [12]На ХР
Германн (2011-10-10 01:00:00) [13]
> Обработчик ХР, сервер Линукс
>
А программа-то где выполняется?
Евгений07 (2011-10-10 00:34:00) [14]Обработчик ХР, сервер Линукс
Германн (2011-10-10 00:31:00) [15]
> Если включить QExtCtrls
Под Линукс пишете?