Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > FireMonkey
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-03-2023
david.camaleon david.camaleon is offline
Miembro
 
Registrado: oct 2008
Posts: 18
Poder: 0
david.camaleon Va por buen camino
Question Guardar el gráfico de un TPath en un campo Blob de un Dataset

Buenos días:

En una aplicación tengo un rectángulo que contiene un TPath que sirve para recoger una firma manuscrita. La intención es guardar dicha firma como Jpg en un campo Blob de una base de datos, pero cuando trato de hacerlo me aparece un mensaje de error indicando que no se ha invocado el método BeginScene.
El código es le siguiente:

Código Delphi [-]
Procedure grabar (Firma:Tpath);
Var
  m: TMemoryStream;
  jpgImg,Img: TBitmap;

Begin
    img:=Tbitmap.Create(Trunc(Firma.Width), Trunc(Firma.Height));
    m := TmemoryStream.Create;
    firma.PaintTo(img.Canvas, firma.LocalRect);
    img.SaveToStream(m);
    Dataset.close;
    Dataset.open;
    Dataset.Edit;
    Dataset.CampoFIRMA.LoadFromStream(m);
    DataSet.post;
End;

Muchas gracias.

Última edición por Neftali [Germán.Estévez] fecha: 21-03-2023 a las 15:33:25. Razón: Añade TAGs cuando pongas código Delphi en un mensaje
Responder Con Cita
  #2  
Antiguo 21-03-2023
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Prueba a llamar a los métodos BeginScene y EndScene, tal y como te dice el error, antes de realizar la asignación.
En los propios links de ayuda, tienes ejemplos de uso.

Código Delphi [-]
...
  img := Tbitmap.Create(Trunc(Firma.Width), Trunc(Firma.Height));
  try
    img.Canvas.BeginScene;
    try
      firma.PaintTo(img.Canvas, firma.LocalRect);
    finally
      img.Canvas.EndScene;
    end;
    m := TmemoryStream.Create;
    try
      img.SaveToStream(m);
      Dataset.close;     
      Dataset.open;     
      Dataset.Edit;     
      Dataset.CampoFIRMA.LoadFromStream(m);     
      DataSet.post;
    finally
      FreeAndNil(m);
    end;
  finally
    FreeAndNil(img);
  end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 22-03-2023
david.camaleon david.camaleon is offline
Miembro
 
Registrado: oct 2008
Posts: 18
Poder: 0
david.camaleon Va por buen camino
Solucionado: Guardar el gráfico de un Tpath en un campo de Blob de un dtaset

Buenos días,

Muchas gracias por tu rápida respuesta, Neftalí. El problema de la grabación ha quedado solucionado.
Ahora me toca pelear con los colores de fondo y pincel.

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Guardar y cargar imagen en campo blob look Firebird e Interbase 15 03-08-2017 21:05:55
guardar imagen en campo blob edgar_prospero Varios 10 14-11-2012 20:47:22
guardar archivos en un campo blob a_f_g Firebird e Interbase 10 07-11-2008 20:46:28
guardar un fichero en un campo blob apicito Firebird e Interbase 2 02-03-2005 12:01:54
Guardar formatos en un campo blob morfeo21 Varios 0 30-06-2003 19:45:53


La franja horaria es GMT +2. Ahora son las 12:59:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi