Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-10-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Asignar imagen a icono

Estoy trabajando cn BCB 6 y probablemente no se pueda. He estado mirando por el foro y no he podido encontrar respuesta a una duda que tengo. A ver si puedo explicarme:

Tengo una tabla FB en la que guardo, entre otras cosas, el logotipo que usaré en los impresos de la aplicación, de forma que el usuario podrá cambiar el mismo cuando desee. Me preguntaba si esa imagen guardada a partir de un fichero JPG o BMP así:
Código:
TMemoryStream *msImagen = new TMemoryStream;

(Imagen->Picture->Bitmap)->SaveToStream(msImagen);
msImagen->Seek(0, soFromBeginning);
if (msImagen->Size != 0)
{
     Query->Close();
     Query->SQL->Text = "INSERT INTO Instalacion (Etiqueta, Imagen) VALUES ('Logo', :Imagen)";
     Query->ParamByName("Imagen")->LoadFromStream(msImagen, ftBlob);
     Query->ExecSQL();
     Query->Transaction->CommitRetaining();
}
Podría ser asignada, por ejemplo, al icono de la aplicación. He estado dando vueltas por foros y por la ayuda de Builder y se me había ocurrido que tal vez pudiera hacerse a través de un SaveToStream / LoadFromStream; se me había ocurrido esto:
Código:
Query->Close();
Query->SQL->Text = "SELECT Imagen FROM Instalacion WHERE Etiqueta = 'Logo'";
Query->Open();
static_cast<TGraphicField>(Query->FieldByName("Imagen"))->SaveToStream(msImagen);
if (msImagen->Size > 0)
     Application->Icon->LoadFromStream(msImagen);
pero da un error en el LoadFromStream.
Responder Con Cita
  #2  
Antiguo 20-10-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Fijate si te sirve de este modo:
Código PHP:
void blobToico(TField *fieldTIconico)
{
  try {
    if ( 
field->IsNull ) throw Exception("El campo tiene valor nulo");
    
TStream *stream field->DataSet->CreateBlobStreamfield bmRead );
    try {
      
Graphics::TBitmap *bmp = new Graphics::TBitmap;
      
bmp->LoadFromStreamstream );
      
TImageList* list = new TImageListbmp->Widthbmp->Height );
      try {
        list->
AddMaskedbmpbmp->TransparentColor );
        list->
GetIcon0ico );
      }
      
__finally {
        
delete list;
        
delete bmp;
      }
    }
    
__finally {
      
delete stream;
    }
  }
  catch(const 
ExceptionE) {
    
MessageBox(0E.Message.c_str(), ""MB_ICONERROR);
  }

Ejemplo de uso:
Código PHP:
void __fastcall TForm1::btnBlobToIcoClickTObject *Sender )
{
  
TIconico = new TIcon;

  try {
    
blobToico(IBDataSet1->FieldByName("IMAGE"), ico );
    
Application->Icon->Assign(ico);
  }
  
__finally {
    
delete ico;
  }

Salida del ejemplo:


Agregué un componente imagen para resaltar los cambios, ya que dado el tamaño del ícono en la barra de título, no se visualiza muy bién en la animación.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 20-10-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.079
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Eso se puede hacer a versiones anteriores de windows?
Responder Con Cita
  #4  
Antiguo 20-10-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Perfecto ecfisa. ¡Eres un hacha! Muchísimas gracias.
Responder Con Cita
  #5  
Antiguo 20-10-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Antonio.

Sólo usé el código bajo Windows 7, pero estimo que no tendría problemas de ejecutarse en versiones anteriores de windows.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 20-10-2016 a las 11:05:25.
Responder Con Cita
  #6  
Antiguo 20-10-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Angel.
Cita:
Empezado por Angel.Matilla Ver Mensaje
Perfecto ecfisa. ¡Eres un hacha! Muchísimas gracias.
Me alegro que el código te haya resultado útil.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Cargar una imagen con un icono madiazg Gráficos 2 03-11-2007 13:55:40
¿Se puede asignar un icono de 65K de colores a una aplicación? Sergio J. Varios 4 03-07-2007 14:40:36
convertir una imagen en icono.... uper Gráficos 6 23-03-2005 02:55:51
Asignar una imagen a un ToolButton Javi2 Varios 1 17-01-2005 18:46:36
Imagen del icono de delphi IVAND Varios 8 26-10-2004 18:17:16


La franja horaria es GMT +2. Ahora son las 02:08:32.


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