19 messaggi dal 10 novembre 2004
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.


Lo scenario è questo:
Ho la mia pagina Aspx che contiene un header.ascx, un footer.asc 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 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 un 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.

Non capisco dove sbaglio.

Ciao e grazie anticipatamente a tutti
come imposti l'immagine?, posta la porzione di codice

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
42 messaggi dal 21 aprile 2004
per quel poco che so,
quando carichi l'immagine del piano cartesiano (da un file sul HD?) o comunque quando definisci un oggetto graphics puoi definirne le dimensioni H x W.
così a sentimento mi viene da pensare che il file che carichi è troppo grande per lo schermo

ciao!
Paolo
La soluzione che ti sto per proporre e' estremamente dozzinale!  (l'ho buttata giu' al volo...)
Comunque, a me sembra funzionare!

    Public Sub BuildAndSetImage(ByVal x As Integer, ByVal y As Integer, ByVal w As Integer, ByVal h As Integer)

        Dim img As New Bitmap("C:\Inetpub\wwwroot\yourSite\" & Image1.ImageUrl)
        Dim g As Graphics = Graphics.FromImage(img)
        Dim rett As New Rectangle(x, y, w, h)
        Dim Penna As New Pen(System.Drawing.Color.Black())
        g.DrawEllipse(Penna, rett)
        img.Save("C:\Inetpub\wwwroot\yourSite\" & Session.SessionID & ".jpg")
        Image1.ImageUrl = Session.SessionID & ".jpg"

    End Sub


In questo caso, Image1 e' il tuo controllo System.Web.UI.WebControls.Image.
La chiamata la esegui in questo modo:

BuildAndSetImage(2, 2, 40, 40)


Sicuramente esistono soluzioni migliori... magari fai qualche esperimento partendo da qui.
Se non ho capito il problema, ti chiedo scusa.
Modificato da naighes il 16 maggio 2005 12.44 -

Nicola Baldi
"Make things as simple as possible, but not simpler."
>>> My blog <<<
19 messaggi dal 10 novembre 2004
Ciao Marco e ciao Paolo.
Vi ringrazio per il Vs. intervento.

Per quanto riguarda Paolo non credo che l'immagine sia molto grande.

Vi riporto il codice.

Lato Ascx:
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="posizionamento.ascx.cs" Inherits="AgCamCom.ASCX.posizionamento" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
<P>
<asp:Image id="Image1" runat="server" Height="500px" Width="500px" ImageUrl="..\IMAGE\posizionamento.bmp"></asp:Image></P>
<P>&nbsp;</P>

Code behind:

public class posizionamento : System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.Image Image1;

private void Page_Load(object sender, System.EventArgs e)
{
Bitmap ObjBmp=new Bitmap(100, 50);
Graphics ObjGrap=Graphics.FromImage(ObjBmp);
SolidBrush ObjSol=new SolidBrush(Color.Violet);
SolidBrush ObjSol2=new SolidBrush(Color.Red);
Font f1=new Font("Verdana", 10);
// Font f2=new Font("Tahoma", 10);
ObjGrap.FillRectangle(new SolidBrush(Color.Yellow), 100,100,400, 55 );
ObjGrap.DrawString( "O", f1, ObjSol, 200, 200 );
Response.ContentType="image/Jpeg";
ObjBmp.Save(Response.OutputStream, ImageFormat.Jpeg);
ObjGrap.Dispose();
ObjBmp.Dispose();

}


}

Ciao
19 messaggi dal 10 novembre 2004
Grazie anche a Te naighes.

Provo subito e Vi faccio sapere

Grazie
19 messaggi dal 10 novembre 2004
Grandeeeeeeeeeeeeee funziona!

Grazie infinite

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.