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

Вниз

Картинка в Richedit   Найти похожие ветки 

 
Stas1   (2003-12-09 17:46) [0]

Можно ли вставить картинку в RichEdit?
Если да, то как? Если нет, то что посоветуете в замен?
Мне нужно в текстовое поле вставить картинку.
Спасибо!


 
Adoon   (2003-12-09 17:59) [1]

function BitmapToRTF(pict: TBitmap): string;
var
bi,bb,rtf: string;
bis,bbs: Cardinal;
achar: ShortString;
hexpict: string;
I: Integer;
begin
GetDIBSizes(pict.Handle,bis,bbs);
SetLength(bi,bis);
SetLength(bb,bbs);
GetDIB(pict.Handle,pict.Palette,PChar(bi)^,PChar(bb)^);
rtf := "{\rtf1 {\pict\dibitmap ";
SetLength(hexpict,(Length(bb) + Length(bi)) * 2);
I := 2;
for bis := 1 to Length(bi) do
begin
achar := Format("%x",[Integer(bi[bis])]);
if Length(achar) = 1 then
achar := "0" + achar;
hexpict[I-1] := achar[1];
hexpict[I] := achar[2];
Inc(I,2);
end;
for bbs := 1 to Length(bb) do
begin
achar := Format("%x",[Integer(bb[bbs])]);
if Length(achar) = 1 then
achar := "0" + achar;
hexpict[I-1] := achar[1];
hexpict[I] := achar[2];
Inc(I,2);
end;
rtf := rtf + hexpict + " }}";
Result := rtf;
end;

procedure TCourseForm.InsertPictureClick(Sender: TObject);
VAR i: Integer;
SS:TStringStream;
P: TPicture;
BMP: TBitMap;
jpg: TJpegImage;
BEGIN
if OpenPictureDlg.Execute then begin
try
if (Pos(".bmp", OpenPictureDlg.FileName) > 0) then begin
BMP := TBitMap.Create;
P := TPicture.Create;
P.LoadFromFile(OpenPictureDlg.FileName);
BMP.Assign(P.Bitmap);
SS := TStringStream.Create(BitmapToRTF(BMP));
try
RichEdit.PlainText := False;
RichEdit.StreamMode := [smSelection];
RichEdit.Lines.LoadFromStream(SS);
RichEdit.StreamMode := [];
finally
SS.Free;
BMP.Free;
P.Free;
end
end
else begin
jpg := TJPEGImage.Create;
jpg.LoadFromFile(OpenPictureDlg.FileName);
BMP := TBitMap.Create;
BMP.Assign(jpg);
SS := TStringStream.Create(BitmapToRTF(BMP));
try
RichEdit.PlainText := False;
RichEdit.StreamMode := [smSelection];
RichEdit.Lines.LoadFromStream(SS);
RichEdit.StreamMode := [];
finally
SS.Free;
jpg.Free;
BMP.Free;
end
end;
finally
end;
end;
end;



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

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

Наверх




Память: 0.45 MB
Время: 0.006 c
4-75459
John Smith
2003-10-22 11:05
2003.12.23
Стандартные иконки программ и документов


14-75366
Шишкин Илья
2003-11-28 18:18
2003.12.23
Биты информации


1-75214
scorpi
2003-12-11 07:33
2003.12.23
Перевод строки в код


14-75326
.Lex
2003-11-28 13:14
2003.12.23
Ксавье Пачеко: Borland Delphi 6(5). Руководство разработчика


1-75244
SASH2
2003-12-09 07:31
2003.12.23
Архивные файлы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский