FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Insertar imagen en RxRichEdit
Estoy haciendo un pequeño editor con un RxRichEdit, pero no sé como insertar una imagen; si la tengo en el portapapeles sí, claro, pero si el usuario elige un archivo de imagen como puedo cargarlo en el RxRich?
Salu2 a tod@s. |
#2
|
||||
|
||||
Hay muchas formas de hacerlo, esta creo que es más que fácil:
Código:
var Pic: TPicture; begin if OpenPictureDialog1.Execute Then begin Pic := TPicture.Create; try Pic.LoadFromFile(OpenPictureDialog1.FileName); Clipboard.Assign(Pic); RxRichEdit1.PasteFromClipboard; finally Pic.Free; end; end;
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
Gracias, lo acabo de probar y va bastante bien, el único problema es cuando quiero insertar un gif con transparencias, que la transparencia "se la salta" y pone un fondo de imagen negro ¿alguna idea?
Un saludo |
#4
|
||||
|
||||
Desconozco si el RTF y el RichEdit soportan imágenes transparentes.
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#5
|
|||
|
|||
Creo que sí porque cuando lo pego con Control+V sí coge bien las transparencias.
Salu2 |
#6
|
||||
|
||||
Probé usar el TGIFImage de las RxLibs, pero también falla porque lo copia al portapapeles como si cada frame del Gif fuera un Bitmap:
Código:
Frames[0].Bitmap.SaveToClipboardFormat(AFormat, AData, APalette); Código:
uses RxGIF, Clipbrd; procedure TForm1.Button1Click(Sender: TObject); var GIF: TGIFImage; MyFormat : Word; AData : THandle; APalette : HPALETTE; begin if OpenPictureDialog1.Execute Then begin GIF := TGIFImage.Create; try GIF.LoadFromFile(OpenPictureDialog1.FileName); GIF.SaveToClipBoardFormat(MyFormat, AData, APalette); ClipBoard.SetAsHandle(MyFormat, AData); RxRichEdit1.PasteFromClipboard; finally GIF.Free; end; end; end;
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
|
|
|