ImageFx cambiamenti in vista

di Marco Leoncini, in work in progress,

eravamo rimasti più o meno quà:
https://blogs.aspitalia.com/nostromo/post704.aspx

per un pò non ho postato in questa sezione perche sto aggiungendo nuove funzioni ad ImageFX (ho chiamato così il webcontrol che sto realizzando per la creazioni di mmagini al volo).
sto aggiungendo il supporto per la gestione del font con cui scrivere il testo (per adesso è fisso su un verdana) il colore di primo piano e quello di sfondo, quanto prima conto di postare un riepilogo del nuovo codice .
ho deciso inoltre di non eseguire l'override della propietà Font (il controllo image a sua volta ne esegue l'override ereditandolo da WebControl ) ma di oscurarlo con l'utilizzo del operatore new, in quanto avevo bisogno che la propietà Font diventasse accessibile anche in scrittura.

questo comunque è il codice scritto fino ad adesso (con qualche aggiunta)

[DefaultProperty("ImageFile")]
 [ToolboxData("<{0}:ImageFX runat=server>")]
 public class ImageFX : System.Web.UI.WebControls.Image
 {
  private const string ImageCacheBaseUrl = "imageCacheService.axd";//base url costante
  private const string ImageFxBaseUrl = "imageservice.axd";
  public ImageFX()
  {}
  private string GetImageUrl()
  {
   string url = "";
   if (!EnableFX)
   {
    url = ImageFile;
   }
   else
   {
     return ImageFxBaseUrl + Query(); 
   }
   return url;
  }
  private string Query()
  {
   StringBuilder mySB = new StringBuilder(100);
   string prefix = "?";
   if (AddText.Length != 0)
   {
    mySB.Append(prefix);
    mySB.AppendFormat("Txt={0}",new object[1]{AddText});
    prefix = "&";
   }
   if (ImageFile.Length != 0)
   {
    mySB.Append(prefix);
    mySB.AppendFormat("IF={0}",new object[1]{ImageFile});
    prefix = "&";
   }
   if (ImageStampFile.Length != 0)
   {
    mySB.Append(prefix);
    mySB.AppendFormat("SIF={0}",new object[1]{ImageStampFile});
    prefix = "&";
   }
   if (!Width.IsEmpty)
   {
    mySB.Append(prefix);
    mySB.AppendFormat("W={0}",new object[1]{Convert.ToInt32(Width.Value)});
    prefix = "&";
   }
   if (!Height.IsEmpty)
   {
    mySB.Append(prefix);
    mySB.AppendFormat("H={0}",new object[1]{Convert.ToInt32(Height.Value)});
   }
   return  mySB.ToString(); 
  }
}

il metodo Query() controlla le propietà e di conseguenza concatena i parametri da passare al "servizio" è quà che ho fatto cran parte delle modifiche in quanto saranno molti di piu i parametri (se impostati) ca concatenare

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese