Ränder von Vektorgraphiken ermitteln

Es ist mir bewusst das die Bilder als Silhouette vorliegen, jedoch wird PHP diese nicht als solche erkennen und einfach mit einem Muster füllen können. Von daher benötigst du die X- und Y-Koordinaten.

Sicherlich wird das bei großen Bildern sehr performancelastig, nur ich frage mich was so große Bilder im Web zu tun haben und warum auch noch diese dort editiert werden sollen.
 
Achso, so meintest du das -> das ist natürlich richtig.
Für die Umsetzung ist ja auch erst einmal egal, wofür dieses Script dienen soll. Es soll nachher Vorlagen erstellen können, welche einen ungefähren Überblick geben sollen, wie das Ergebnis nachher in der Realität aussieht. Das Script soll später evtl. mit Flash oder Java(Script) zusammenarbeiten, sodass die Vorlage dann auch bearbeitet werden kann.
Dir fällt also auch nur die Methode ein, dass das Bild vom Script Pixel-by-Pixel gescannt wird und das Script zunächst die Koordinaten der Silhouette bestimmt?
 
Du wirst um Pixelbetrachtungen bei Pixelgrafiken oder um Berechnungen mit Vektorgrafiken nicht drumherum kommen^^
Selbst wenn mir nicht 100% klar was ist du machen willst^^
 
Naja ... für mathematische Dinge sollte man in Wikipedia auch nur schauen, wenn man ziemlich Ahnung davon hat, weil das doch immer recht fachlich und nicht gerade allgemeinverständlich beschrieben ist. Such dir lieber nen Tutorial zur Berechnung von Bezierkurven oder den Quellcode von nem Programm das welche darstellt.
Da wirste glaubich auch jeden Punkt von der Kurve berechnen müssen, aber das dürfte weniger Rechenzeit beanspruchen als die Pixelbetrachtungen^^
Definierst die für die Horizontale und die Vertikale jeweils 2 Grenzen die dann alle zusammen das Rechteck ergeben in dem sich die Vektorgrafik befindet. Also das Rechteck würde dann zb von 2 Punkten definiert sein: Obenlinks (A|B) und Untenrechts (C|D)
A und B definierst du am anfang so groß wie möglich und C und D so klein wie möglich.
Musst dann bei jedem berechneten Punkt schauen ob dessen X koordinate kleiner als A oder größer als C ist und dann entsprechend die Koordinaten dazu abändern

wenn X < A dann A = X
wenn X > C dann C = X

das ganze dann analog mit der Y koordinate

Mit dem Rechteck haste dann das kleinste Rechteck in dem die Vektorgrafik grade noch platz findet.

Das ganze ist aber kein php-Problem sondern eher ein mathematisches. Vlt guckste mal in irgendnem Mathe oder Informatik Forum.
 
Zurück