Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.01.15;
Скачать: CL | DM;

Вниз

В 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.009 c
9-1175164239
crytogen
2007-03-29 14:30
2012.01.15
нарисовать трубу в OpenGL по точкам


15-1317155402
Юрий
2011-09-28 00:30
2012.01.15
С днем рождения ! 28 сентября 2011 среда


15-1317129600
OW
2011-09-27 17:20
2012.01.15
Никто случайно Lotus к Oracle не подключал? или к MSSQL


15-1317414603
Юрий
2011-10-01 00:30
2012.01.15
С днем рождения ! 1 октября 2011 суббота


2-1318095947
Pcrepair
2011-10-08 21:45
2012.01.15
Ctrl+A и Ctrl+C в компоненте TWebBrowser