Disegnare su un controllo Image

domenica 15 maggio 2005 - 17.08

sacsacsac Profilo | Newbie


Ciao a tutti.

In una pagina ASPX ho necessità di posizionare un cerchio ( disegnato magari da codice o ripreso da un'immagine) in una posizione (x,y) su un controllo Image che dipende da due variabili int .

In particolar modo voglio rappresentare un piano cartesiano ortogonale (rappresentato da un'immagine applicata ad un oggetto WebControls.Image ) ed un cerchio che si posiziona sul piano a seconda delle coordinate passate.

Sto impazzendo ormai da + di due giorni e non riesco a trovare una via d'uscita.

Qualcuno potrebbe segnalarmi un link nel quale viene spiegato qualcosa di simile o meglio se potete indicarmi del codice utile.

Spero di essere stato chiaro.

Grazie a tutti
Ciao

sacsacsac Profilo | Newbie

Ti prego non darmi questa triste notizia!

Ti spiego meglio cosa devo fare così forse riusciamo a trovare un'alternativa.

Ho la mia pagina Aspx che contiene un header.ascx, un footer.ascx ed un main.ascx, dentro quest'ultimo io ho un menu.ascx, un valutazione.ascx e in ultimo diagramma.ascx nel quale voglio metterci l'immagine jpeg del piano cartesiano e sopra posizionarci un circoletto ("O") la cui sua posizione dipende da due valori x,y (magari salvati e riletti in Session ).

Nel mio diagramma.ascx provo a disegnarmi a run time il carattere "O", il problema a questo punto è che il disegno generato mi prende tutta la pagina e non mi fa vedere più Header, Footer, menu.ascx.

Vorrei dunque posizionare la "O" sull'immagine e ma non ci riesco.

Aio, ma come faccio?

Grazie infinite per la collaborazione
Ciao

sacsacsac Profilo | Newbie

Bravo, infatti ho risolto proprio così (grazie al contributo del consiglio di un amico ):


Bitmap img=new Bitmap(@"C:\Inetpub\wwwroot\miosito\IMAGE\posizionamento.bmp");
Graphics g=Graphics.FromImage(img);
Rectangle rett=new Rectangle(x, y, w, h);
Pen RedPen=new Pen(Color.Blue, 3);
g.DrawEllipse(RedPen, rett);
img.Save( @"C:\Inetpub\wwwroot\miosito\ASCX\"+Session.SessionID+".jpg");
Image1.ImageUrl=Session.SessionID+".jpg";

Ciao

sacsacsac Profilo | Newbie

Ok per il path logico!

Ma devo x forza concatenare poichè utenti diversi vedono risultati diversi.

Hai idea perchè l'immagine pesa circa 1MB, potrei alleggerirla un po'?

Ciao e Grazie

sacsacsac Profilo | Newbie

Capisco che non devi scrivermi interamente il codice comunque potevi sforzarti un pochino di +! :-)

Cmq, grazie lo stesso per il supporto

A buon rendere

Ciao

sacsacsac Profilo | Newbie

Ho sempre pensato che lo StringBuilder fosse meno performante, e dunque ho sempre utilizzato il + per concatenare le stringhe, anche perchè si scrivono meno righe di codice !!!.

Sei stato molto paziente.

Ti ringrazio davvero di cuore.

Ciao

erik77 Profilo | Senior Member

mi intrometto nella discussione per chiedere un chiarimento finale sull'operazione di concatenamento.

Io nel mio codice uso molto questa sintassi:

sHtml = ("<table cellSpacing='0' cellPadding='3' border='1' borderColor='#000000'>")
sHtml &= ("<TR bgColor='#FFFFFF'>")
...etc...

in pratica costruisco il mio codice HTML concatenando spesso....
se usassi lo StringBuilder migliorerei le prestazioni?

sacsacsac Profilo | Newbie

Da come afferma Coach sembra proprio di si!

Sarebbe interessante fare una prova, prendere i tempi prima e dopo l'esecuzione della concatenazione nell'uno e nell'altro caso, e confrontare i tempi.

Ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5