AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke C# Dynamisch zeichnen in ASP.NET
Thema durchsuchen
Ansicht
Themen-Optionen

Dynamisch zeichnen in ASP.NET

Ein Thema von Jelly · begonnen am 17. Apr 2007 · letzter Beitrag vom 19. Apr 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#1

Dynamisch zeichnen in ASP.NET

  Alt 17. Apr 2007, 16:52
Ich versuche mich gerade daran, eine ASP.NET dynamisch zu gestalten, und muss dazu ein Control auf der Seite dynamisch mit grafischen Methoden zeichnen. Unter Delphi32 zieh dafür ein Canvas von einem beliebigen visuellen Control heran. Doch unter ASP.NET läuft das nicht so leicht.

Wichtig, ich will nicht NUR die Grafik zeichnen, sondern als Control in eine komplett gestaltete Seite einbinden.

Ich sitz echt auf dem Schlauch.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#2

Re: Dynamisch zeichnen in ASP.NET

  Alt 17. Apr 2007, 17:45
???

Zeichnen im ASP.NET Bereich = Grafik erstellen und an den Browser schicken.
Du willst ein Control (will heissen ein HTML-Steuerelement, welches vom Browser gerendert wird) zeichnen? Das geht so nicht.

Was ginge wäre, Du änderst den Style des Controls (z.B. mit CSS) so, dass der Browser das richtig hinrendert. Ggf. kannst Du dem Control auch noch mit CSS eine Hintergrundgrafik mitgeben, die Du dann Serverseitig selber generierst, aber so auf direktem Wege kann das nicht klappen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Dynamisch zeichnen in ASP.NET

  Alt 17. Apr 2007, 19:03
Es geht im Grunde um eine Art Progressbar, nur halt noch ein paar Sachen mehr.
Aber man kann doch eigene Webcontrols erstellen, und damit irgendwelche grafischen Sachen machen.
Dass das nicht so einfach geht wie unter Delphi32 ist schon klar. Nur wie pack ich das am besten an? TMS hat doch auch eine Menge an ASP.NET Controls.

PS: Ich meinte eigentlich auch nicht "Zeichnen im Browser", sondern zeichnen im "ASP.NET Code", in meinem Fall in C# gehalten.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#4

Re: Dynamisch zeichnen in ASP.NET

  Alt 17. Apr 2007, 19:18
Schon klar.

ABER: Der Server generiert entweder (X)HTML-Code der an den Client (Browser) geschickt und dort gerendert wird oder Bilder, die an den Client geschickt und von diesem angezeigt werden. Wobei letztere bei Bedarf mithilfe von System.Drawing auch selber gezeichnet werden können.

Das heisst: Wenn Du (User-)Controls designen willst, dann bleiben Dir Serverseitig genau diese zwei Mittel: HTML / CSS und Grafiken. Clientseitig gibts dann noch Javascript, mit dem Du Grafiken verändern kannst (z.B. anhand von Informationen, die sich das Script dynamisch vom Server nachlädt, Stichwort AJAX). Dazwischen gibts im Web nix.

Wenn Du eine Progress-Bar von Hand machen willst, dann bleiben Dir zwei Möglichkeiten: Ein animiertes Gif das solange im Kreis läuft wie nötig, oder aber Du musst mit AJAX Grafiken austauschen (z.B. alle 10% eine weitere Grafik mit einem weiteren Balken nachladen und austauschen).

Auf CodeProject gibt es da schon was, da kannst Du Dir zumindest mal angucken wie die das gemacht haben: ASP.NET Progressbar bei CodeProject.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Dynamisch zeichnen in ASP.NET

  Alt 17. Apr 2007, 19:23
OK, jetzt hab ich dich verstanden.
Der Punkt ist eigentlich, wie ich die Grafik rendern kann und an den Client schicken kann.

Aber der Artikel ist sehr interessant, werd ich mir mal morgen bei der Arbeit ankucken. Ich denk, damit wird die Erleuchtung kommen.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#6

Re: Dynamisch zeichnen in ASP.NET

  Alt 17. Apr 2007, 19:36
Hrm. Im Prinzip nimmst Du ein Bitmap her und zeichnest dadrauf. Geht so ähnlich wie mit dem Canvas.

Wichtig ist jedoch:

Du schickst den HTML-Quelltext an den Client, der Browser rendert ihn und wenn er zum rendern der Seite ein Bild braucht, schickt er für das Bild eine extra Anfrage an den Server um das Bild auszuliefern.

Du hast also zwei Möglichkeiten:

1.) Du zeichnest das Bild während die Seite generiert wird, packst das Bild in ein Verzeichnis auf dem Server wo man es herunterladen kann und packst den Dateinamen in die Response.

2.) Du packst eine Referenz zum Bild an die Bild-URL (die ist eine extra aspx-Seite) und wartest dort darauf, bis die Response kommt. Dann wird konkret bei der Anfrage nach dem Bild die Referenz ausgewertert, Du schaust anhand der Referenz nach was Du genau zeichnen musst und lieferst das Bild dann entsprechend aus.

Auch wenn's VB-Code, aber lesen wirst Du das sicher können: http://www.codeproject.com/aspnet/ImageBinaryStream.asp

Dort wird gezeigt, wie Du ein Bild von einer Datenbank an den Client schickst. Ob das Bild jetzt aus der DB kommt oder selber gezeichnet wird tut dabei nichts zu Sache.

Ein klein wenig zum Zeichnen selber (hier allerdings Windows.Forms Controls) findest Du hier:
http://www.codeproject.com/cs/miscctrl/XCtrls.asp
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Dynamisch zeichnen in ASP.NET

  Alt 17. Apr 2007, 19:44
Nochmals danke. Jetzt wird mir so einiges klar.
Da ich aber private kein Visual Studio besitze, muss ich eben bis morgen auf der Arbeit warten. Ich werd aber sicherlich noch mit Fragen zurückschiessen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Dynamisch zeichnen in ASP.NET

  Alt 17. Apr 2007, 19:49
Ein Zeichnen per JavaScript wäre auch noch eine Alternative.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Dynamisch zeichnen in ASP.NET

  Alt 17. Apr 2007, 19:52
Eher schwer, da die Information zum Zeichnen aus einem OPC Server stammt, und ich nicht wüsst wie ich unter Java Skript darauf zugreifen könnt. Es kommt daher nur eine Serverseitige Bearbeitung in Frage. Ich müsste sonst unter asp.net die Daten holen und sie an den Browser übermitteln, der sich dann um die Darstellung kümmert. Dann send ich lieber gleich die Grafik und bleib so flexibler.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Dynamisch zeichnen in ASP.NET

  Alt 17. Apr 2007, 19:57
Zitat:
Eher schwer, da die Information zum Zeichnen aus einem OPC Server stammt, und ich nicht wüsst wie ich unter Java Skript darauf zugreifen könnt.
Ajax
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz