Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.17;
Скачать: [xml.tar.bz2];

Вниз

Как загнать файл картинки из TMemoryStream в Image.Picture   Найти похожие ветки 

 
John   (2003-02-04 20:09) [0]

ПРОБЛЕМА!!!
Jpg-файл перегоняется с винта с некоторыми модификациями (после которых он все равно остается jpg-файлом) в TMemoryStream. ВОПРОС!!! Каким образом можно загнать эту картинку в Image???


 
John   (2003-02-04 20:30) [1]

Господа!!!
Ну вы хоть скажите, что мол не знаем или, что я фигней страдаю - я тогда подробнее объясню для чего все это надо.


 
Song   (2003-02-04 20:42) [2]

TImage.Picture.LoadFromStream()


 
John   (2003-02-06 19:41) [3]

OK! НО виндусовский имидж не поддерживает этот метод. Значит придется перекомпилить все как кросс-платформенное приложение...
Блин! Какая несправедливость, почему виндузу обделили.... :(((
:)


 
gsu   (2003-02-06 19:56) [4]

не фига себе, как это:
TBitmap:
procedure LoadFromStream(Stream: TStream); override;


 
John   (2003-02-06 20:48) [5]

to gsu

TBitmap - это битовая матрица, а у меня в памяти сидит jpg-файл!
Его-то и надо поместить в имидж, но метод Image1.Picture.LoadFromStream не поддерживается TImage из библиотеки VCL, зато такой метод есть в CLX.
Вот про эту несправедливость я и говорил. Придется переделывать...
ИЛИ ВСЕ ЖЕ ЕСТЬ СРЕДСТВО????!!!!!


 
John   (2003-02-06 21:09) [6]

to gsu
??????????????!!!!!!!!!!!!


 
Романов Р.В.   (2003-02-06 21:12) [7]

uses JPEG;
TImage.Picture.LoadFromStream()



 
John   (2003-02-06 21:28) [8]

to Романов Р.В.

Ёсы-босы...
Или я тупой или шестой дельфи этого не понимает...
Ну нету этого метода в VCL-кой библиотеке, хотя я плюнул на хелп и ввел подобный оператор - это ни к чему не привело, хорошему имеется ввиду - ругается и не компилится.


 
Романов Р.В.   (2003-02-06 21:36) [9]

Тогда TJPEGImage.LoadFromStream, а потом можно как нибудь переслать в Image


 
Song   (2003-02-06 21:38) [10]

Всё правильно, это CLX метод. Используйте QGraphics.dcu


 
John   (2003-02-06 21:44) [11]

to Романов Р.В.
Тогда TJPEGImage - можно про этот компонент поподробнее, это компонент библиотеки JPEG?

to Song

QGraphics.dcu - а это откуда? Прошу прощения за может быть наивные вопросы, но я в Дельфи тока начинаю, до этого на VB работал. Хоть они синтаксисом и похожи все разница значима...


 
Романов Р.В.   (2003-02-06 22:01) [12]

Отчего же нельзя... Можно
TJPEGImage encapsulates a JPEG graphic.

Unit

jpeg

Description

Use TJPEGImage to read and write JPEG compressed image data. TJPEGImage handles the digital compression and decompression of still images for use in computer systems. It uses the data from an instance of TJPEGData, which contains the actual JPEG data source and is never modified. Each JPEG image object may share its TJPEGData object with other instances of a JPEG image by creating copies using the Assign method. The JPEG data source handles reference counting for the JPEG image objects that are linked to it.

TJPEGImage has an internal bitmap that represents the JPEG image. This internal image and the original source of the JPEG image are read only. TJPEGImage has properties that determine how each instance will handle color conversion, compression, decompression, performance, and so on.

The following are characteristics of this object. A TJPEGImage object:

Has no canvas (so it cannot draw onto a canvas). However, TJPEGImage implements the protected Draw method introduced in TGraphic, so it can draw itself on the canvas of another object.
Provides no access to the internal bitmap image that it creates for the JPEG image.
Performs reference counting and handle sharing by means of the TJPEGData object. Multiple instances can refer to the same TJPEGData image. TJPEGData is the actual owner of the file handle to the JPEG data source.

Loads the JPEG image from a stream.

procedure LoadFromStream(Stream: TStream); override;

Description

Use LoadFromStream by specifying the stream from which the JPEG image is loaded as the value of Stream. LoadFromStream reads a JPEG data source from a stream and replaces the current image with it.



 
John   (2003-02-06 22:10) [13]

Отлично! Если бы еще и английский в школе учил... Это не к тому, что я английский прогуливал, а к тому что немецкий учил. :((
TJPEGImage - это же не визуальный компонент или я не прав?


 
Романов Р.В.   (2003-02-06 22:21) [14]

Ну да, невизуальный. У вас help есть? В нем имеются небольшие примерчики. Вот один из них
procedure TForm1.Button1Click(Sender: TObject);

var
jp: TJpegImage; //Requires the "jpeg" unit added to "uses" clause.
begin
jp := TJpegImage.Create;
try
with jp do
begin
Assign(Image1.Picture.Bitmap);
SaveToFile("c:\oneeye.jpg")
end;
finally
jp.Free;
end;
end;

Если его переделать то получится что то типа этого
jp := TJpegImage.Create;
try
jp.LoadFromStream(...);
Image1.Picture.Assign(jp);
finally
jp.Free;
end;


 
John   (2003-02-06 22:31) [15]

ОПА!!!!
Премного благодарен!!! Спасибо. Конечно хелп есть и все же какой-то минимум нерусского текста мне понятен, да еще и с такими примерами...
Сегодня уже времени нет, а вот завтра неприменно попробую.
Тьфу...Тьфу...Тьфу...конечно, но если что не так пойдет еще на помощь расчитывать можно?

Заранее спасибо!!!!!
Да и не заранее, а спасибо за уделенное внимание новичку и потраченное время МАСТЕРА! :))


 
Романов Р.В.   (2003-02-06 22:37) [16]

Будем надеятся что помощь не потребуется :)


 
John   (2003-02-06 22:59) [17]

Ну что ж и на том спасибо! :)))



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.02.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.051 c
1-52829
Nemas
2003-02-07 10:18
2003.02.17
Как определить количество строк в TMemo?


3-52735
VLL
2003-01-30 13:01
2003.02.17
Соединение с Интернетом


1-53024
b-Ars
2003-02-06 12:28
2003.02.17
Передать объект в DLL


1-52870
anbezr
2003-02-07 18:26
2003.02.17
Надо ли очищать Canvas


3-52774
JibSkeart
2003-01-30 15:49
2003.02.17
Интересно как можно написать свой Extended stored procedue





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский