svg

Scalable Vector Graphics (SVG) ist ein XML-basiertes zweidimensionales Vektorgrafikformat, das auch in HTML verwendet werden kann. Fügen Sie dieses Tag nicht hinzu, nur weil Ihr Projekt SVG verwendet. Fügen Sie stattdessen das Tag hinzu, wenn Ihre Frage entweder SVG betrifft oder eng damit verbunden ist, wie Sie etwas mit SVG erreichen können.
2
Antworten

Matplotlib imshow mit EPS

Gibt es eine Möglichkeit, PIL mit matplotlib zu verwenden, um Logos in EPS oder SVG (oder beliebig skalierbar) zu platzieren Vektorformat), um das Logo auf dem Graphen zu platzieren und die endgültige Datei als EPS auszugeben. Jetzt bekomme ic...
18.05.2015, 19:17
3
Antworten

Äquivalent für '-moz-element' in anderen Browsern?

Ich möchte ein Overlay für die Opazitätsunschärfe erstellen, ähnlich wie Windows Aero oder iOS7. Leider können die Eigenschaften filter: blur() oder filter: url(#svgBlur) nur auf das Element und nicht auf den Inhalt dahinter angewendet wer...
20.09.2013, 14:31
2
Antworten

Volle Breite und Höhe SVG

Das Dilemma: Erstellen Sie ein vollständiges Fenster-Svg-Bild, das OHNE Seiten-Verzerrung füllt, OHNE ein SVG-Tag zu verwenden. Warum kein SVG-Tag? Weil ich beabsichtige, das SVG später (wenn nicht häufig) im Leben der Seite auszuwechseln, und i...
21.02.2012, 17:44
2
Antworten

D3 fügen Sie Bogenbeschriftungen in ein Kreisdiagramm ein, wenn genügend Platz vorhanden ist

Ich werde ein Textelement in jeden Bogen meines Kreisdiagramms (Mitte) einfügen - wie in diesem Beispiel gezeigt: Ссылка Aber ich werde das Textelement nur einfügen, wenn der Raum für den ganzen Text ausreicht, also muss ich die Größe meine...
05.11.2013, 15:28
1
Antwort

Svg getComputedTextLength-Funktion gibt immer Null zurück

Hallo Ich habe versucht, diese d3 zoombare Treemap von zu integrieren Ссылка aber das getComputedTextLength() gibt immer 0 zurück. Ich habe auch getBBox() versucht, aber es gibt ein Objekt mit allen Eigenschaften mit Null zurück....
12.06.2013, 19:16
3
Antworten

___ answer29585579 ___

Michaels Antwort ist großartig, und ich wünschte, ich hätte sie schon einmal gesehen; aber da ich nicht nur verstehen muss, dass sie verdammt komisch sind, sondern auch auf welche Art und Weise (ich möchte ihre Logik so bearbeiten, dass ich die Mathematik brauche), habe ich eine %code% Implementierung in Javascript (das hauptsächlich aus dem Lesen des Firefox-Quellcodes stammt), der das %code% emuliert, das Webkit / Blink / Gecko verwendet.

Auch hier ist der springende Punkt, nur um zu verstehen, welche Ergebnisse es erzeugt.

%Vor% %Vor% %Vor%

Das Snippet wurde aus dieser Antwort übernommen.

    
___ qstntxt ___

Durch das Lesen der HSL / HSV-Farbtheorie habe ich den Eindruck, dass die Farbtonkomponente ein zyklisches Attribut ist, das sich alle 360 ​​Grad wiederholt und unabhängig von Sättigung und Helligkeit / Wert verändert werden kann. Korrigiere mich, wenn ich falsch liege, aber diese Aussagen folgen logisch der vorherigen Definition:

  1. Wenn Sie den Farbton um 360 Grad drehen, erhalten Sie die gleiche Farbe
  2. Wenn Sie den Farbton zweimal um 180 Grad drehen, erhalten Sie die ursprüngliche Farbe
  3. Die Drehung des Farbtons um 180 Grad gefolgt von -180 Grad ergibt die ursprüngliche Farbe

Allerdings ist nur die Option 1 korrekt. Wenn Sie den Farbton viermal um +90 Grad drehen, ergibt sich eine Farbe, die dem Original nicht einmal annähernd ähnelt.

Außerdem mit -webkit-filter und SVG's

%Vor%

erzeugt nicht das gleiche Ergebnis für dieselbe Rotation. Auf der anderen Seite sind die von SVG-Filtern erzeugten Farben in allen Browsern konsistent.

Gibt es irgendeine "versteckte" Eigenschaft der Farbtonrotation, die die Operation nicht assoziativ macht?

Beispiele für Webkit-Filter und SVGs finden Sie hier: Ссылка

    
___ tag123graphics ___ Grafiken sind visuelle Präsentationen. Fragen, die dieses Tag verwenden, sollten auch mit dem entsprechenden verwendeten Sprach- und Grafiksubsystem versehen sein. Bei allgemeinen Grafikfragen sollten Sie Computer Graphics Stack Exchange (computergraphics.stackexchange.com) in Erwägung ziehen. ___ tag123svg ___ Scalable Vector Graphics (SVG) ist ein XML-basiertes zweidimensionales Vektorgrafikformat, das auch in HTML verwendet werden kann. Fügen Sie dieses Tag nicht hinzu, nur weil Ihr Projekt SVG verwendet. Fügen Sie stattdessen das Tag hinzu, wenn Ihre Frage entweder SVG betrifft oder eng damit verbunden ist, wie Sie etwas mit SVG erreichen können. ___ tag123colors ___ Verwenden Sie dieses Tag für Fragen zum Darstellen oder Bearbeiten von Farben in einer Programmiersprache. ___ tag123svgfilters ___ SVG-Filter sind eine Gruppe von Bildbearbeitungsprimitiven, die kombiniert werden können, um anspruchsvolle visuelle Effekte zu erzeugen. ___ answer46533498 ___

tl; dr Fehler beim Umwandeln von Farben von Floats (innerhalb des Filters) in Bytes (überall sonst).

Also ist es ein bisschen komplizierter als das, die Spezifikation liefert eine gute Formel für Farbtonrotationsmatrizen, zB die für 180 Grad (außer Alpha und Verschiebungen):

%Vor%

Beachten Sie, wenn Sie das selbst multiplizieren, erhalten Sie (auf vier Dezimalstellen):

%Vor%

, das der Identitätsmatrix oder einer Nulltransformation sehr ähnlich ist.

Das wäre perfekt, außer dass der Browser zwischen jedem Filter wieder in RGB konvertiert. Schauen Sie was passiert, wenn wir rot leuchten:

%Vor%

Wir erhalten eine Farbe, die in RGB mit Werten von 0 bis 255 nicht dargestellt werden kann. Daher wird sie während der RGB-Konvertierung auf %code% gebunden und gerundet, und wenn sie erneut gedreht wird, erhalten wir ein dunkles desaturiertes Rot, %code% anstelle des hellen reinen Rot, mit dem wir angefangen haben.

    
___ tag123hsl ___ HSV ist ein zylindrisches Farbmodell, das Farben nach Farbton (0 ° -360 °), Sättigung (Farbintensität) und Helligkeit (von Schwarz über die Farbe zu Weiß) bestimmt. ___ antwort19325417 ___

Sowohl in CSS- als auch in SVG-Filtern gibt es keine Konvertierung in HSV oder HSL - die shorthands von hueRotation verwenden eine lineare Matrixapproximation im RGB-Raum, um die Farbtonrotation durchzuführen. Dies spart Sättigung oder Helligkeit für kleine Rotationen und stark gesättigte Farben nicht gut - wie Sie sehen.

Eine echte Farbtonrotation würde zuerst die RGB-Eingangsfarbe in HSL umwandeln, das H anpassen und dann zurück in RGB konvertieren. Filter tun das nicht. Und diese Umwandlung kann nicht genau mit einer linearen Matrix approximiert werden, so dass, während der Farbton (hauptsächlich) genau verändert wird, die Sättigung und Helligkeit überall verteilt sind. Diese Effekte sind nichtlinear, sodass das Hinzufügen kleinerer Ops zu anderen Farben führt als die Ausführung einer großen Operation.

(Der Unterschied zwischen huerotation in SVG- und CSS-Filtern könnte auf die Verwendung anderer Farbräume zurückzuführen sein (sRGB vs. linearRGB) - diese sollten gleich sein.)

Update: Ich bin interessiert genug, um einen manuellen Vergleich zu machen. Wie Sie sehen können, machen Filter eine schreckliche Arbeit, indem sie reine Farben im Bereich von 0 bis 180 Grad rotieren lassen. Dieses Bild vergleicht eine manuelle Farbtonrotation, indem Sie hsl Farben manuell (äußerer Ring) gegen eine Filterfarbtonrotation auf der Grundfarbe (innerer Ring)

einstecken

Aber sie machen einen besseren Job bei weniger reinen Farben wie HSL (0,50%, 75%), wie Sie sehen können.

codepen Link, falls Sie spielen möchten: Ссылка

    
___

Durch das Lesen der HSL / HSV-Farbtheorie habe ich den Eindruck, dass die Farbtonkomponente ein zyklisches Attribut ist, das sich alle 360 ​​Grad wiederholt und unabhängig von Sättigung und Helligkeit / Wert verändert werden kann. Korrigiere mic...
04.10.2013, 18:05
4
Antworten

Dynamisch einen SVG-Farbverlauf hinzufügen

Ich habe diesen SVG-Container mit Pfaden. Ich möchte es bearbeiten, also wird die Füllung der Pfade ein Muster sein. Dies ist mein fehlgeschlagener Versuch: Ich füge einen Gradienten hinzu: %Vor% Und dann ändern Sie die Pfade füllen: %V...
05.06.2012, 08:59
4
Antworten

Warum skaliert diese SVG Grafik nicht in IE9 und 10 (Vorschau)?

Laut IE-Website wird SVG unterstützt. Und nach dieser Antwort auch Was sind SVG (Scalable Vector Grafik) unterstützte Browser? Ссылка %Vor%     
10.10.2011, 10:43
4
Antworten

Generierung von SVG-Diagrammen in JavaScript

Ich suche nach einer Möglichkeit, Kreisdiagramme mit SVG zu erstellen. Die Zahlen, die ich habe, sind einfach genug - nur Prozentzahlen, ein Zahlenfeld, das sich offensichtlich zu 100 addiert. Ich habe ein grundlegendes Verständnis von SVG...
31.08.2011, 18:00
4
Antworten

Ist es möglich, einen gruppierten Pfad in SVG mit linearem Verlauf zu füllen (durch css oder attr bei jQuery-Ereignis)?

Wie kann ich einen Gradienten für eine <g> in einem SVG-Bild füllen, anstatt alle <g> s in der ausgewählten <g> zu füllen? In diesem Fall würde ich gerne Afrika zeigen, gefüllt mit nur einem Gradienten von gelb bis...
26.03.2011, 22:27