php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 08-01-2013, 16:10
mpiric
 Registrierter Benutzer
Links : Onlinestatus : mpiric ist offline
Registriert seit: Jan 2013
Beiträge: 4
mpiric befindet sich auf einem aufstrebenden Ast
Standard Erstellen von Grafiken anhand von Formulardaten

Hallo liebe php-Gemeinde,

da mir Google keine zufriedenstellende Antwort liefern konnte (ich hoffe mal ich habe richtig gesucht ;-) ), wende ich mich nun mal an euch.

Mein Problem ist Folgendes:

Ich möchte ein Formular bauen, in das man Werte (Höhe, Breite, Tiefe) für eine beliebige Form eingeben kann (also alles von Rechteck bis Polygone).
Nach absenden des Formulars soll dynamisch die passende Grafik zu den eingaben (wenn Möglich mit entsprechenden Seitenverhältnissen) generiert und auf der Seite ausgeben werden.
Ich bin bei meinen Recherchen auf die GDLib gestoßen, diese scheint mir aber zu unflexibel. Gibt es hierzu alternativen?

Ich hoffe jemand hat konstruktive Vorschläge zur Lösung, egal ob Ansätze, vorhandene Module oder Scripte. Wenn es denn so mit PHP überhaupt zu realisieren ist.

Danke schonmal im Voraus

Grüße

Patrick

P.S. Hoffe bin im richtigen Bereich ;-)
Mit Zitat antworten
  #2 (permalink)  
Alt 08-01-2013, 16:57
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Sicherlich ist die Generierung von einfachen geometrischen Figuren mit PHP möglich, doch hast Du Dich schon mit den Möglichkeiten auseinander gesetzt, die HTML5 plus Canvas bietet?

Hatte auch mal etwas mit dem SVG-Format experimentiert. Wenn ich meine Testdateien wieder finden würde, wäre es noch besser, war jedenfalls nicht so sehr kompliziert.

Edit: Habe eine Datei wiedergefunden. Muss mit der Endung .svg gespeichert werden und kann dann im Browser aufgerufen werden.

HTML-Code:
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
  <ellipse cx="50" cy="30" rx="40" ry="20" />
  <ellipse cx="150" cy="30" rx="40" ry="20" />
  <ellipse cx="250" cy="120" rx="80" ry="80" fill="#FF0000"/> 
</svg>

Geändert von Melewo (08-01-2013 um 17:07 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 08-01-2013, 17:17
mpiric
 Registrierter Benutzer
Links : Onlinestatus : mpiric ist offline
Registriert seit: Jan 2013
Beiträge: 4
mpiric befindet sich auf einem aufstrebenden Ast
Standard

Danke erst mal für die schnelle Antwort.

Mit HTML5 habe ich mich noch nicht auseinander gesetzt, aber werde ich dann die Tage mal tun, wenn es dort solche Möglichkeiten gibt.

Zu der Lösung per .svg-Datei:
- Kann ich hier auch Achsen (etc.) angeben um das Ganze 3-Dimensional darzustellen?
- Weißt du in welcher Einheit die Werte stehen (ob px oder Ähnliches) ?

Ansonsten ein interessanter Ansatz, da die Werte ja mit Variablen ersetzt werden können. Z.b. Php-Variablen einsetzen und das Ganze dann in eine externe Datei schreiben ("file_put_content") und entsprechend Speichern.
Oder lässt sich eine svg.-Datei nicht so behandeln?


Gruß
Mit Zitat antworten
  #4 (permalink)  
Alt 08-01-2013, 17:46
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von mpiric Beitrag anzeigen
- Kann ich hier auch Achsen (etc.) angeben um das Ganze 3-Dimensional darzustellen?
Habe nicht alles gelesen, eigentlich nur überflogen. Habe ich jetzt auch nicht vor alles zu lesen. Wird jedenfalls einiges möglich sein:

http://svg.tutorial.aptico.de/svg-workshop.pdf

Zitat:
Zitat von mpiric Beitrag anzeigen
- Weißt du in welcher Einheit die Werte stehen (ob px oder Ähnliches) ?
Zitiere mal nur:
Zitat:
Mit den Attributen width und height wird die Breite und Höhe der gesamten Grafik festgelegt. Als Werte
sind Zahlen mit optionaler Maßangabe möglich. Wird keine Maßangabe angegeben, wird Pixel verwendet.
Mögliche Maßangaben in SVG sind:
• em - relative Maßangabe, bezieht sich auf die verwendete Schriftgröße
• ex - relative Maßangabe, bezieht sich auf die Größe des großen X der verwendeten Schrft
• px - Pixel, default-Einheit
• pt - Punkt
• pc - Pica
• cm - Centimeter
• mm - Millimeter
• in - Inch
• % - Prozentangabe
Zitat:
Zitat von mpiric Beitrag anzeigen
Z.b. Php-Variablen einsetzen und das Ganze dann in eine externe Datei schreiben ("file_put_content") und entsprechend Speichern.
Sollte problemlos möglich sein.
Mit Zitat antworten
  #5 (permalink)  
Alt 08-01-2013, 17:50
mpiric
 Registrierter Benutzer
Links : Onlinestatus : mpiric ist offline
Registriert seit: Jan 2013
Beiträge: 4
mpiric befindet sich auf einem aufstrebenden Ast
Standard

Danke dir.
Werde mich dann mal an das Tutorial setzen.

Sollte sich was ergeben melde ich mich wieder.


Gruß
Mit Zitat antworten
  #6 (permalink)  
Alt 11-01-2013, 17:47
mpiric
 Registrierter Benutzer
Links : Onlinestatus : mpiric ist offline
Registriert seit: Jan 2013
Beiträge: 4
mpiric befindet sich auf einem aufstrebenden Ast
Smile

Es funktioniert recht gut mit dem Lösungsvorschlag.

Einfache Formen lassen sich recht gut darstellen.

Lösung für einen Quader: (die Variablen werden zum Test per GET gefüllt)

PHP-Code:
$width = $_GET['width'];
$height = $_GET['height'];
$depth = ($_GET['depth']);
$filename = 'zeichnung.svg';

$data='<?xml version="1.0" standalone="no" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Hinten -->
    <rect x="'.$depth.'" y="0" width="'.$width.'" height="'.$height.'" style="fill:red;" />
<!-- Vorne -->
    <rect x="0" y="'.$depth.'" width="'.$width.'" height="'.$height.'" style="fill:red;" />
<!-- Oben Links -->
    <line x1="0" y1="'.$depth.'" x2="'.$depth.'" y2="0" style="stroke:black; stroke-width:5px;" />
    <polygon fill="red" points="'.$depth.' 0, 0 '.$depth.', '.$depth.' '.$depth.'"/>
<!-- Oben Rechts -->
    <line x1="'.$width.'" y1="'.$depth.'" x2="'.($depth+$width).'" y2="0" style="stroke:black; stroke-width:5px;" />
<!-- Unten Rechts -->
    <line x1="'.$width.'" y1="'.($depth+$height).'" x2="'.($depth+$width).'" y2="'.$height.'" style="stroke:black; stroke-width:5px;" />
    <polygon fill="red" points="'.$width.' '.($depth+$height).', '.($depth+$width).' '.$height.', '.$width.' '.$height.'"/>
<!-- Border -->
    <!-- Hintergrund -->
    <line x1="'.$depth.'" y1="0" x2="'.$depth.'" y2="'.$height.'" style="stroke:grey; stroke-width:5px;" stroke-dasharray="8,6" stroke-opacity="0.5"/>    
    <line x1="0" y1="'.($depth+$height).'" x2="'.$depth.'" y2="'.$height.'" style="stroke:grey; stroke-width:5px;" stroke-dasharray="8,6" stroke-opacity="0.5"/>
    <line x1="'.$depth.'" y1="'.$height.'" x2="'.($width+$depth).'" y2="'.$height.'" style="stroke:grey; stroke-width:5px;" stroke-dasharray="8,6"  stroke-opacity="0.5"/>
    <!-- Vordergrund -->
    <line x1="'.$depth.'" y1="0" x2="'.($depth+$width).'" y2="0" style="stroke:black; stroke-width:5px;" />
    <line x1="0" y1="'.$depth.'" x2="0" y2="'.($depth+$height).'" style="stroke:black; stroke-width:5px;" />
    <line x1="0" y1="'.$depth.'" x2="'.$width.'" y2="'.$depth.'" style="stroke:black; stroke-width:5px;" />
    <line x1="0" y1="'.($depth+$height).'" x2="'.$width.'" y2="'.($depth+$height).'" style="stroke:black; stroke-width:5px;" />
    <line x1="'.$width.'" y1="'.$depth.'" x2="'.$width.'" y2="'.($depth+$height).'" style="stroke:black; stroke-width:5px;" />
    <line x1="'.($width+$depth).'" y1="0" x2="'.($width+$depth).'" y2="'.$height.'" style="stroke:black; stroke-width:5px;" />
</svg>
';

file_put_contents($filename,$data);
?>
<html>
<head>
</head>
<body>
<img src="pfad/zur/Datei/zeichnung.svg" />
</body>
</html>
Noch nicht ganz schön, aber erfüllt immerhin schon mal den gewünschten Zweck.
Also Danke nochmal.
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
gdlib, grafik, php


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Funktion zum Zeichnen von Polylinien anhand von Strecken und Winkeln Malachite Projekthilfe 2 17-11-2011 17:09
explode anhand von Zeichenlänge? Schanz PHP Developer Forum 2 01-09-2007 15:19
Progblem mit Erstellen von Grafiken Torger PHP Developer Forum 26 30-03-2006 19:09
Mit PHP HTL Dateien erstellen lassen anhand von Wortern lamoe PHP Developer Forum 2 17-10-2005 13:15
Versenden von Formulardaten bei Verwendung von Sessions ratte PHP Developer Forum 6 26-02-2004 20:11

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:49 Uhr.