Форум: "Начинающим";
Текущий архив: 2012.01.15;
Скачать: [xml.tar.bz2];
ВнизВ GraphicEx: нет LoadFromStream для Image Найти похожие ветки
← →
Евгений07 (2011-10-09 23:28) [0]Доброго времени!
Для отображения jpg файлов пользуюсь GraphicEx
Понадобилось для чтения jpg файлов в Image применить LoadFromStream
Выдает ошибку при компиляции
Если включить QExtCtrls, то LoadFromStream доступен для Image, но не доступен формат jpg
← →
Германн © (2011-10-10 00:31) [1]
> Если включить QExtCtrls
Под Линукс пишете?
← →
Евгений07 (2011-10-10 00:34) [2]Обработчик ХР, сервер Линукс
← →
Германн © (2011-10-10 01:00) [3]
> Обработчик ХР, сервер Линукс
>
А программа-то где выполняется?
← →
Евгений07 (2011-10-10 01:08) [4]На ХР
← →
Германн © (2011-10-10 01:21) [5]
> На ХР
Так зачем вам нужен QExtCtrls?
Он-то разработан для Линукса!
← →
Евгений07 (2011-10-10 01:30) [6]без QExtCtrls недоступен LoadFromStream для Image
Компилятор выдает ошибку
Значит косячит GraphicEx??
← →
Юрий Зотов © (2011-10-10 01:35) [7]
> Евгений07 (10.10.11 01:30) [6]
А с ExtCtrls (без "Q") - тоже ошибка?
← →
Юрий Зотов © (2011-10-10 01:45) [8]См. TImage.Picture.Graphic.LoadFromStream
← →
Евгений07 (2011-10-10 01:47) [9]ExtCtrls указан в uses всегда
uses
ExtCtrls,
Jpeg, Graphics,
GraphicEx,
это вырезка uses = Компилятор выдает ошибку
Подключение QExtCtrls ошибку снимает, не доступен формат jpg
= объект для Image берется из QExtCtrls, без GraphicEx
Это мое предположение
← →
Германн © (2011-10-10 01:50) [10]
> Евгений07 (10.10.11 01:30) [6]
>
> без QExtCtrls недоступен LoadFromStream для Image
> Компилятор выдает ошибку
> Значит косячит GraphicEx??
>
Значит "косячите" вы!
Неужели так сложно прочитать справку?
← →
Юрий Зотов © (2011-10-10 02:09) [11]
> Евгений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;
← →
Евгений07 (2011-10-10 02:23) [12]Jpeg подключен
Jpeg.pas у меня нет
TSomeClass не знаю. где посмотреть?
← →
Юрий Зотов © (2011-10-10 02:33) [13]
> Евгений07 (10.10.11 02:23) [12]
TSomeClass - это любой Ваш класс (например, форма, на которой лежит Image). Добавьте к нему этот метод и грузите картинку так:
Image1.Picture.Graphic := GetLogo;
В uses должно быть Graphics, Jpeg и ExtCtrls (QExtCtrls и GraphicsEx уберите).
← →
Юрий Зотов © (2011-10-10 02:45) [14]Уточнение - чтобы не было утечки памяти, грузите картинку так:
var
Temp: TPicture;
begin
Temp := GetLogo;
try
Image1.Picture.Graphic := Temp;
finally
Temp.Free;
end;
end;
← →
Евгений07 (2011-10-10 03:15) [15]Юрий Спасибо
1. Я понял суть моей проблемы (на данный момент)
2. Проверка займет время, голова сейчас не ток варит
3. Из пока еще мной не понятого:
скачиваю картинку с своего сайта = все нормально
скачиваю картинку с сайта хостинга =
- размер в ~10 раз меньше
- формат не тот (jpeg заголовок идет = FFxx, у меня в десятиричном формате = 60, 33, 68, 79, 67 ...)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.01.15;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.003 c