Ir al contenido


Foto

TRichMemo y las imágenes.


  • Por favor identifícate para responder
3 respuestas en este tema

#1 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 14 diciembre 2011 - 11:20

Buen día, jóvenes de DelphiAccess.

Una duda que me surge a partir de una sugerencia de trabajo de mi jefe. ¿Es posible incluir en un TRichMemo? ¿Y cómo puede hacerse?

Gracias por sus colaboraciones.
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 diciembre 2011 - 11:32

Te referiras aTRichEdit? porque RichMemo es de Lazarus.
  • 0

#3 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 14 diciembre 2011 - 11:41

Te referiras aTRichEdit? porque RichMemo es de Lazarus.


Sí, TRichEdit..., confusión mental mía... :embarrassed: :embarrassed:
  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 diciembre 2011 - 11:48

Bueno de que se puede se puede, tenia esto que consegui de Delphi3000.com, lo pongo aqui para que se vea mejor:



delphi
  1. function BitmapToRTF(pict: TBitmap): string;
  2. var
  3.   bi,bb,rtf: string;
  4.   bis,bbs: Cardinal;
  5.   achar: ShortString;
  6.   hexpict: string;
  7.   I: Integer;
  8. begin
  9.   GetDIBSizes(pict.Handle,bis,bbs);
  10.   SetLength(bi,bis);
  11.   SetLength(bb,bbs);
  12.   GetDIB(pict.Handle,pict.Palette,PChar(bi)^,PChar(bb)^);
  13.   rtf := '{\rtf1 {\pict\dibitmap ';
  14.   SetLength(hexpict,(Length(bb) + Length(bi)) * 2);
  15.   I := 2;
  16.   for bis := 1 to Length(bi) do
  17.   begin
  18.     achar := Format('%x',[Integer(bi[bis])]);
  19.     if Length(achar) = 1 then
  20.       achar := '0' + achar;
  21.     hexpict[I-1] := achar[1];
  22.     hexpict[I] := achar[2];
  23.     Inc(I,2);
  24.   end;
  25.   for bbs := 1 to Length(bb) do
  26.   begin
  27.     achar := Format('%x',[Integer(bb[bbs])]);
  28.     if Length(achar) = 1 then
  29.       achar := '0' + achar;
  30.     hexpict[I-1] := achar[1];
  31.     hexpict[I] := achar[2];
  32.     Inc(I,2);
  33.   end;
  34.   rtf := rtf + hexpict + ' }}';
  35.   Result := rtf;
  36. end;



Su uso seria:



delphi
  1. Stream := TStringStream.Create(BitmapToRTF(BMP)); //BMP es un TBitmap con una imagen
  2. RichEdit1.PlainText := False;
  3. RichEdit1.StreamMode := [smSelection];
  4. RichEdit1.Lines.LoadFromStream(Stream);
  5. Stream.Free;



Espero te sea Util de alguna manera.

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.