Seite 3 von 8

Re: Barcode Modul

Verfasst: 30.03.2018 19:46
von Micha122
Okay, sorry.

Also, die Umrechnung Millimeter>DPI macht PB unter Windows ganz gut.

Unter Windows stimmen die Positionen und Größen der gedruckten Barcodes relativ genau (grob gemessen).

Re: Barcode Modul

Verfasst: 30.03.2018 19:49
von ccode_new
Ich glaube der Fehler liegt im Detail.

VectorTextWidth()
Misst die Breite des angegebenen Textes in der aktuellen Vektorzeichnen Schriftart.

Die verwendeten Schriftarten sind unter Linux und Windows nicht identisch.

Re: Barcode Modul

Verfasst: 30.03.2018 19:56
von Micha122
Versuche doch mal was kleiners.

Du braucht ja nur die Textgröße 24 ändern.

Ausschnitt aus Beispiel3:

Code: Alles auswählen

;Eine Textzeile hinzufügen
AddElement (Text())
Text()\Text = "Ein EAN13. Ziffernfarbe: 100,100,100"
Text()\Font = "Arial"
Text()\Font_Size = 24
Text()\TextColor_RGB = "0,0,0"
Text()\Text_Style = #PB_Font_Underline|#PB_Font_Italic
Text()\Text_PosX = 30
Text()\Text_PosY = 35
Edit: Ups, da ist sogar ein Fehler drin. :freak: Die Ziffernfarbe ist 0,0,0 und nicht 100,100,100

Re: Barcode Modul

Verfasst: 30.03.2018 20:08
von ccode_new
Text()\Text = "Ein EAN13. Ziffernfarbe: 100,100,100"
Text()\Font = "Comic Sans MS"
Text()\Font_Size = 16

Ausgabe bei Linux:

Text: Ein EAN13. Ziffernfarbe: 100,100,100
Textbreite: 132.1328125
Text: Ein EAN8
Textbreite: 38.017578125


Ausgabe bei Windows:

Text: Ein EAN13. Ziffernfarbe: 100,100,100
Textbreite: 108.7966690063
Text: Ein EAN8
Textbreite: 30.8186664581

Es unterscheiden sich jegliche Maße bei Windows und Linux.

Aber mit geringen Maßen klappt es auch unter Linux.

:allright:

Tja, der Fehler liegt halt im Detail.

Anbei:

Die verwendeten Fonts sind doch absolut identisch. Es sind die selben wie unter Windows.

Der Fehler muss in einer internen Berechnung (Umrechnung) der Vector-Funktion liegen.

Re: Barcode Modul

Verfasst: 30.03.2018 20:12
von Micha122
Super!
Vielen Dank das Du solange durchgehalten hast. :praise:

Werde es auf der Webseite und im ersten Beitrag vermerken.

Re: Barcode Modul

Verfasst: 30.03.2018 20:23
von Micha122
ich denke mal, das der Text unterhalb des Barcodes immer noch breiter ist als der Barcode selber (Dein Video>Beispiel5).
Dafür sind nämlich andere Programmzeilen verantwortlich.

Ich hätte das Modul auch gerne auf Linux richtig.

Wenn Du Zeit hast, gib bitte noch mal kurz Rückmeldung.

Grüße

Re: Barcode Modul

Verfasst: 30.03.2018 20:29
von ccode_new
Ich würde mir wünschen wenn noch andere Linuxianer dein Modul testen würden.

Bei mir liefen auch die TextHeight() und TextWidth() - Befehle von "2DDrawing" falsche Werte.

Nur so zum Beispiel:
Bei Font: LoadFont(0, "Comic Sans MS", 16)

bekomme ich unter Linux: 111 und bei Windows: 109

Daher wäre es schön wenn es noch Antworten von anderen Linux-Nutzern gäbe.

Ich verwende zum Testen auch die selben Font-Dateien wie unter Windows.

Re: Barcode Modul

Verfasst: 30.03.2018 20:44
von Micha122
ccode_new hat geschrieben:Ich würde mir wünschen wenn noch andere Linuxianer dein Modul testen würden.
Das wäre natürlich der Idealfall.

Für die Textgröße unterhalb des Barcodes ist maßgeblich Zeile 673 im Modul verantwortlich.

Code: Alles auswählen

Font_Height.i = Round(Barcode()\Width /5, #PB_Round_Nearest)
Wenn Du den Wert 5 erhöhst, beispielsweise auf 6,7 oder 8 sollte der Text immer kleiner werden.

Unter Windows habe ich damit quasi einen dynamischen Font erzeugt der immer passt egal wie breit der Barcode wird.

Wenns was bringt könnte ich das dauerhaft mit einer Compiler Direktive verankern.

Re: Barcode Modul

Verfasst: 30.03.2018 20:56
von ccode_new
Hier mal noch ein paar Linux-Einstellungen: (Eigentlich Standard)

Bild

Bild

Re: Barcode Modul

Verfasst: 30.03.2018 22:06
von Micha122
Das Problem mit zu großen Schriftarten aber auch Gadgets hatte Linux vor Jahren schon.
Ich kann mich da noch genau dran erinnern.
Ich konnte keine einzige GUI die ich unter Windows gemacht hatte auf Linux so ohne weiteres einsetzen.
Was unter Windows schön aussah, sah unter Linux sch.... aus. Und umgekehrt das selbe. :cry: