Pixel in Vektoren - SVG

Ich arbeite an der Anwendung svg-edit und erhalte Kundenbestellungen über das Internet.

Ich konvertiere diese Pixel basierend auf der Formel in mm 3.77 pixels = 1 mm.

Kann trotzdem etwas schief gehen, wenn mein Kunde einen anderen PPI verwendet als ich oder vielleicht einen anderen Monitor oder ein anderes Betriebssystem oder vielleicht einen anderen Monitor?

Wenn ein Benutzer eine Form in meinem Online-Editor mit einem anderen PPI zeichnet als ich, besteht dann die Möglichkeit, dass ich eine andere Pixelform erhalte?

Besteht die Möglichkeit, dass meine Formel geändert werden muss, wenn mein Kunde einen anderen PPI, Monitor oder ein anderes Betriebssystem oder sogar einen anderen Browser als ich verwendet?

Das ist ziemlich schwer zu beantworten. Aber wenn Ihr Editor in absoluten Pixeln arbeitet und Sie den Endbenutzer auf den konsistenten Skalierungsfaktor aufmerksam machen, sind Sie wahrscheinlich in Ordnung. Aber woher haben Sie 3,77 Pixel = 1 mm und wie teilen Sie dem Benutzer mit, wie groß das Endergebnis in mm sein wird (arbeiten sie z. B. in einem festen Pixelbereich, der ein A4-Blatt darstellt?)
Ich habe keine Ahnung, was ein absolutes Pixel ist, der Titel könnte falsch sein. Ich habe die Formel tatsächlich bei Google gefunden. Was ich tue, ist, dass ich den Benutzer die Formen mit den Pixelmaßen zeichnen lasse, aber ich sage ihm, dass es Millimeter sind. Der Benutzer hat keine Ahnung, dass er in Pixeln zeichnet. Ich führe die Konvertierung einfach durch, indem ich in Corel Draw x4 importiere und das Objekt um 377,9 % skaliere. Variiert die Pixelgröße in SVG zwischen Browsern oder DPI-Einstellungen?
Der Benutzer kann den Editor mit einer festen Leinwandgröße vorladen. Entweder 500 * 500 Pixel oder 300 * 300 Pixel. Das Wort Pixel wird jedoch nicht verwendet, ich sage ihnen, dass es sich um Millimeter handelt, und wenn ich ihr eingereichtes Design erhalte, verwende ich einfach die Formel, um die Konvertierung in Corel Draw durchzuführen. Wenn die eingereichte Zeichnung in Corel Draw importiert wird und ich 96 DPI als Auflösung verwende, wird die Größe ihrer Objekte immer um 377,9 % kleiner. Daher verwende ich die Formel, um die gleiche Größe in Millimetern zu erhalten. Ich bin ein bisschen verwirrt mit der DPI in Corel Draw, weil ich dachte, dass Vektoren keine DPI hatten.
Bei Rasterbildern ist die Auflösung (Anzahl der Pixel [die Punkte in DPI]) zum Zeitpunkt der Erstellung festgelegt, wobei die Auflösung von PURE-Vektorbildern undefiniert ist, bis sie auf einem Ausgabegerät (Drucker oder Bildschirm) gerendert werden. Ich sage "rein", weil man Rastertexturfüllungen usw. in die Vektorgrafiken eingebettet haben kann. Der Vektor bleibt skalierbar, aber die Qualität der Rasterteile wird beeinträchtigt, wenn sie erheblich von ihrer Erstellungsgröße skaliert werden.
Wenn Sie jemals eine Lösung in Algebra oder Analysis manuell mit Stift und Papier grafisch darstellen mussten, haben Sie dies wahrscheinlich mit weniger Punkten getan, als wenn Sie einen Grafikrechner hätten. Dies ist vereinfacht gesagt das, was Vektorbilder tun: Mit Stift und Papier hatten Sie einen sehr niedrigen dpi-Renderer und der Taschenrechner war ein höherer dpi, aber in beiden Fällen wurde das "Bild des Diagramms" als Funktion gespeichert .
Beachten Sie, dass die Annahme von 96 dpi in Corel Draw * wahrscheinlich ist, weil sie einen Wert zum Einbetten von Rastertexturen usw. benötigen.
Es ist nicht so, dass sich Ihre Formel ändern muss, es gibt keine Formel, um das zu tun, was Sie tun möchten. Sie haben einfach keine Ahnung, was der Bildschirm-PPI des Endbenutzers in Bezug auf eine echte Maßeinheit ist.

Antworten (2)

Sie können ein Problem haben oder auch nicht.

Du sagst:

Der Benutzer kann den Editor mit einer festen Leinwandgröße vorladen. Entweder 500 * 500 Pixel oder 300 * 300 Pixel ... mein Benutzer zeichnet in Pixel, aber ich sage ihm, dass dies Millimeter sind. Der Benutzer hat keine Ahnung, dass es sich um Pixel handelt

Wenn Sie den Benutzer darauf hinweisen, dass die Leinwandfläche auf dem Bildschirm eine bedruckbare Fläche von 80 mm im Quadrat oder 133 mm im Quadrat darstellt (unter Verwendung Ihres vorhandenen Umrechnungsfaktors von 3,77 px pro mm = 96 px pro Zoll (ppi)), sollte das in Ordnung sein.

(Ich muss sagen, ich denke, Sie haben vielleicht damit begonnen, das falsche Ende des Problems zu betrachten. Sind Ihre Druckgrößen tatsächlich auf 80 mm im Quadrat oder 133 mm im Quadrat ausgelegt?)

Eine Möglichkeit, dies zu tun, indem Lineale mit mm-Einheiten um die Leinwand herum angezeigt werden, wie Horatio vorschlägt. Obwohl Sie nicht unbedingt explizit sein müssen, zB wenn Ihre Anwendung das Bedrucken von CDs wäre und Ihre Leinwand den Umriss einer CD zeigen würde, wäre es offensichtlich.

Wenn Sie sich jedoch darauf verlassen, dass die Leinwand auf dem Bildschirm der Druckgröße entspricht, dh tatsächlich 80 mm im Quadrat oder 133 mm im Quadrat auf dem Bildschirm des Benutzers misst, haben Sie ein Problem, da dies nur für Monitore gilt, die 96 anzeigen ppi, und wo es keine zusätzliche Skalierung im Browser oder Betriebssystem gibt.

Desktop- und Laptop-Bildschirme haben üblicherweise einen aa-ppi-Wert zwischen etwa 80 und 130 und bei einigen mobilen Geräten viel höher, sodass es große Unterschiede geben wird.

Ich habe eigentlich etwas viel Einfacheres vorgeschlagen: "Das ist ein Quadrat, wenn es auf Ihrem Monitor nicht quadratisch aussieht, haben Sie ein Problem!" :)

Es ist plausibel (ohne in eine Diskussion darüber einzutreten, ob es wahrscheinlich ist ), dass ein Endbenutzer die Anwendung mit einer Ausrüstung oder einem Setup betrachtet, das das Seitenverhältnis der Anzeige ändert.

In diesem Szenario würde das, was sie als Quadrat sehen, auf der Serverseite als Rechteck erscheinen.

Eine einfache Möglichkeit, sich dagegen zu wehren, besteht darin, ein Quadrat zu zeigen und den Benutzer darüber zu informieren, dass es ein Problem gibt, wenn es für ihn nicht wie ein Quadrat aussieht.

In Bezug auf die tatsächliche Größe in realen Einheiten würden Sie eine Art Maßstab anzeigen, mit dem sie die Anwendung skalieren oder zoomen und ein Lineal an den Bildschirm halten können.

Beides wären einfache Möglichkeiten, die Client-Anzeige zu kalibrieren.

Eigentlich zeichnet mein Benutzer in Pixeln, aber ich sage ihm, dass dies Millimeter sind. Der Benutzer hat keine Ahnung, dass es Pixel sind. Ich mache einfach die Konvertierung in Corel Draw, indem ich das Objekt um 377,9% skaliere und es funktioniert. Variiert die Pixelgröße in SVG zwischen Browsern oder DPI-Einstellungen? Ich mache mir keine allzu großen Sorgen um Formen, eigentlich habe ich das falsche Wort eingegeben. Was ich eigentlich meinte, war die Größe. Gibt es eine Möglichkeit, dass ich auf meiner Seite eine unterschiedliche Pixelzahl für Breite und Höhe zwischen Browsern oder DPI-Einstellungen zwischen Benutzern bekomme?
Obwohl ich mich nicht wirklich damit auskenne, Pixel in Millimeter umzuwandeln, funktioniert die Formel mm = (Pixel × 25,4) ÷ dpi, die Sie unter www.dallinjones.com/2008/07/how-to-convert-from-pixels-to finden -Millimeter/ etwas helfen? @horatio oder irgendjemand: Könnten Sie bitte die zugrunde liegenden Probleme/Prinzipien auch für Nicht-Experten näher erläutern? Hier geht es doch sicher um Unterschiede bei der Ausgabe auf dem Bildschirm gegenüber der Ausgabe auf Druck-/Plottergeräten?
Ich weiß nicht, ob ich selbst die richtige Antwort bekommen habe, aber ich glaube nicht, dass irgendwelche DPI-Einstellungen meine Zeichnung wirklich beeinflussen werden, da meine Kunden mir ihre Objekte in Vektoren schicken. Ich denke, Vektoren sind DPI-unabhängig, also sind ihre Pixel so ziemlich eine Zahl, die ich auf diese Größe bekomme. Wenn ich die Konvertierung auf meiner Seite durchführe, muss ich mich um DPI kümmern. Eigentlich habe ich die DPI in Corel Draw eingestellt, wo ich die Konvertierung durchführe. Also ja, die Formel von TehMacDawgs ist korrekt, denke ich.
Reine Vektorbilder sind UNIT-unabhängig, was tiefer ist als "DPI-unabhängig". Sie fragen, ob die DPI auf der Clientseite variiert, fragen sich aber selbst: Hat ein Bild mit 1280 x 720 Pixeln auf einem 50-Zoll-Monitor dieselbe physische Größe wie auf einem 20-Zoll-Monitor?
@TehMacDawg: DPI ist eine abgeleitete Messung, für deren Berechnung Punkte UND Zoll erforderlich sind. Rasterbilder verarbeiten nur Punkte (Pixel). Pixel sind im Grunde eine logische Einheit mit unveränderlicher Größe (denken Sie an das klassische Atom). Das exakt gleiche quadratische 100-Pixel-Bild OHNE Bearbeiten oder Ändern der Bilddatei kann mit 0,33 Zoll (300 dpi) oder 100 Zoll (1 dpi) gedruckt werden.
Diese Umrechnung von Pixel in Millimeter ist irgendwie lustig. Wie konvertiert man etwas, das keine Messung hat???