Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Можно ли запомнить в поток или буфер содержимое TImage
|
|||
|---|---|---|---|
|
#18+
Привет, вот тут писали про то как загрузить картинку jpeg на компонент TImage так работает: jpg:=TJPEGImage.Create; jpg.LoadFromFile(fileName); imgCat.Picture.Assign(jpg); а у меня вопрос - поскольку TImage имеет конечные размеры и если в сыойстве Stretch = True, то можно ли теперь запомнить куда-то содержимое TImage, чтоб оно фактическуи оказалось размером с физический размер самого TImage. Например, если размер его 3 на 3 см то можно ли запомнить в буфер или в поток именно этот уменьшенный кусок и потом присвоить полю BLOB в таблице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2003, 11:08 |
|
||
|
Можно ли запомнить в поток или буфер содержимое TImage
|
|||
|---|---|---|---|
|
#18+
Насколько я понял, тебе нужно что-то типа: imgCat.Canvas.CopyRect(imgCat.ClipRect, imgCanvas, img.ClipRect); т.е. в imgCat копируешь рисунок не как есть, а уже растянутый как надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2003, 14:05 |
|
||
|
Можно ли запомнить в поток или буфер содержимое TImage
|
|||
|---|---|---|---|
|
#18+
jpg:=TJPEGImage.Create; jpg.LoadFromFile(fileName); imgCat.Picture.Assign(jpg); Например, если размер его 3 на 3 см то можно ли запомнить в буфер или в поток именно этот уменьшенный кусок и потом присвоить полю BLOB в таблице? >Насколько я понял, тебе нужно что-то типа: Это что копирует в буфер? imgCat.Canvas.CopyRect(imgCat.ClipRect, imgCanvas, img.ClipRect); т.е. в imgCat копируешь рисунок не как есть, а уже растянутый как надо. мне потом из буфер надо в поле таблицы скинуть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2003, 23:18 |
|
||
|
Можно ли запомнить в поток или буфер содержимое TImage
|
|||
|---|---|---|---|
|
#18+
----- ЗАГРУЗКА В БАЗУ ЧЕРЕЗ ПОТОК ---------------------- begin if OpenPictureDialog1.Execute then begin if Query1.State = dsBrowse then Query1.Edit; Query1FILENAME.Value := OpenPictureDialog1.FileName; Pict := TPicture.Create; try Pict.LoadFromFile(OpenPictureDialog1.FileName); Jpg := TJpegImage.Create; Ss := TStringStream.Create(''); if Pict.Graphic is TJPegImage then begin Jpg.LoadFromFile(OpenPictureDialog1.FileName); Jpg.SaveToStream(Ss); Query1JPEG.AsString := Ss.DataString; end else try // if Pict.Graphic is TBitmap then // begin Jpg.Assign(Pict.Graphic); Jpg.CompressionQuality := 70; Jpg.PixelFormat:= jf24Bit; Jpg.JPEGNeeded; Jpg.SaveToStream(Ss); Query1JPEG.AsString := Ss.DataString; // end; except Result := MessageBox(Handle,'Данный формат не поддерживается!',PChar(Application.Title),16); Query1.Cancel; Exit; end; except Result := MessageBox(Handle,'Данный формат не поддерживается!!',PChar(Application.Title),16); Query1.Cancel; Exit; end; // Ss.Free; // Jpg.Free; Query1.Post; end; end; ------------ ОТОБРАЖЕНИЕ ПРИ ПРСМОТРЕ БАЗЫ ------------------------ procedure TFm_spMain.DataSource1DataChange(Sender: TObject; Field: TField); begin Ss:= TStringStream.Create(''); Jpg:= TJPEGImage.Create; try if (Field = nil) and (not Query1JPEG.IsNull) then begin Ss.WriteString(Query1JPEG.AsString); Ss.Position:= 0; Jpg.LoadFromStream(ss); Image1.Picture.Assign(Jpg); end; finally Ss.Free; Jpg.Free; end; end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2003, 08:56 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=2055&tid=2118744]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
7ms |
get forum data: |
3ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 330ms |

| 0 / 0 |
