Seite 1 von 1
Bitmap 10x10cm mit 300 DPI [erledigt]
Verfasst: Do, 12. Jan 2017 18:15
von AUGE_OHR
hi,
ich möchte eine QR Code erstellen der 10x10cm (!) gross ist mit 300 DPI.
Frage : wie gross muss das Bitmap werden ?
Nachtrag : siehe Lösung weiter unten
Re: Bitmap 10x10cm mit 300 DPI
Verfasst: Do, 12. Jan 2017 19:06
von HaPe
Hallo Jimmy !
ch möchte eine QR Code erstellen der 10x10cm (!) gross ist mit 300 DPI.
Frage : wie gross muss das Bitmap werden ?
Die reinen Daten benötigen ca. 1.398.000 Bytes. Was an CheckSummen, Headerinfo, usw. noch dazu kommt entzieht sich meiner Kenntnis.
Re: Bitmap 10x10cm mit 300 DPI
Verfasst: Do, 12. Jan 2017 19:28
von AUGE_OHR
HaPe hat geschrieben:Die reinen Daten benötigen ca. 1.398.000 Bytes. Was an CheckSummen, Headerinfo, usw. noch dazu kommt entzieht sich meiner Kenntnis.
ich meine was muss ich bei oBitmap:make() für eine Grösse angeben ?
ich möchte das Bitmap in der "passende" Grösse erstellen.
bei Drucken kann ich ja "nachträglich" auf die benötigte Grösse bringen aber ich möchte es einfach "wissen" wie man das "umrechnet".
Re: Bitmap 10x10cm mit 300 DPI
Verfasst: Do, 12. Jan 2017 22:28
von ramses
Ein 10x10 cm grosses Bild, QR-Code hat:
10x10 cm = 4x4 Inch = bei 300 Dots Per Inch = (4x300) x (4x300) = 1200x1200 = 1'440'000 Pixel effektiv
es kommt dann auf den gewählten Korrekturlevel (Anzahl korrigierbarer Fehler beim Lesen) und die Auflösung des verwendeten Lesegerätes an wieviele Bytes du darin unterbringen kannst. Bei 10x10 cm sind 1.3 Mbyte Daten sicher schlicht nicht machbar. Ein Standard (Version 61) QR-Code kann max. 422*422 Elemente gross sein (1 Element ist 1 sichtbares Würfelchen = mehrere Pixel) ein QR Code kann also 422*422 Elemente bezw. ca. 40000 Zeichen darstellen.
Re: Bitmap 10x10cm mit 300 DPI
Verfasst: Do, 12. Jan 2017 23:52
von AUGE_OHR
ich habe schon ein 1000 x 1000 Pixel QrCode erstellt und den kann mein Handy auch lesen.
ein QR "Quadrat" muss nicht aus einem Pixel bestehen. die Grösse eines "Quadrat" wird IMHO doch durch die Quadrate an den Ecken (proportional) festgelegt.
bei 72DPI und 1000 x 1000 Pixel sind das ca. 30cm x 30cm
was ich haben möchte sind 10cm x 10cm mit 300 DPI was wohl ca. 240 x 240 Pixel sind (Photoshop).
- 240Points.jpg (60.25 KiB) 6641 mal betrachtet
es geht mir wie schon gesagt nur um die DPI Umrechnung die mir die Wert der folgenden Tabelle gibt
- DIN_DPI.jpg (95.53 KiB) 6641 mal betrachtet
Re: Bitmap 10x10cm mit 300 DPI
Verfasst: Fr, 13. Jan 2017 6:30
von AUGE_OHR
wenn ich mir die Tabelle ansehe ...
DIN A0 841 x 1198 mm = 9933 x 14043 Pixel bei 300 DPI
Code: Alles auswählen
9933 / 841 = 11.811
7016 / 594 = 11,811
…
2480 / 210 = 11,809
also ca. 11,81 Pixel = 1 mm bei 300 DPI -> bei 100mm müssten es ca. 1181 Pixel sein, oder ?
Re: Bitmap 10x10cm mit 300 DPI
Verfasst: Fr, 13. Jan 2017 8:17
von brandelh
wenn du einen Bildschirm als hardware nimmst, hast du meist 96 dpi bei Druckern sind 600 dpi üblich.
Da beides hardwareabhängig ist, hast du entweder ein größeres Bild auf dem Monitor, ein kleineres auf einem hochauflösenden Drucker,
oder eben ein vergrößertes / verkleinertes Bild mit den gewünschten Außenkanten und der (umgerechneten) Auflösung für das Zielsystem.
Da es hier nur um schwarz weiß (2 Bit) und gerade Linien geht spielt die Auflösung aber eher keine Rolle.
Wenn du das selbst malen willst, empfehle ich (wie bei meinem Barcode Programm) gefüllte Boxen in der richtigen Farbe und Maßen zu verwenden.
Handys, da ist die DPI Auflösung noch viel unterschiedlicher.
Re: Bitmap 10x10cm mit 300 DPI
Verfasst: Fr, 13. Jan 2017 20:40
von AUGE_OHR
hi,
Danke für eure Antworten.
brandelh hat geschrieben:Da es hier nur um schwarz weiß (2 Bit) und gerade Linien geht spielt die Auflösung aber eher keine Rolle.
deshalb ist ein 10x10cm auch kein Problem. Theoretisch kann man QRcode auch auf eine Häuserwand projizieren ...
ich benötige "nur" ein 10x10cm grosses Bitmap mit 300DPi
ich will es auch nicht am Bildschirm betrachten oder selbst drucken d.h. die 96/144DPi etc. Auflösungen sind mir egal.
ich "denke", ausgehend von der Tabelle, das es 1181x1181 Pixel sein müssen damit es bei 300DPi ein 10x10cm Quadrat ergibt.
wo wir jetzt dabei sind : hat jemand schon ein "Lineal" bei dem man die Auflösung einstellen kann ?
bei meinem Lineal (s.h. Attachment) geht es nur mit Pixel
- LINEAL.ZIP
- Source, RES, XPJ
- (4.51 KiB) 241-mal heruntergeladen
Re: Bitmap 10x10cm mit 300 DPI
Verfasst: So, 15. Jan 2017 4:22
von AUGE_OHR
so nun habe ich auch ein Lineal was mir DPI gerecht Markierungen anzeigt.
während beim Druck es immer die eingestellte DPI Zahl ist könnte bei einem Monitor eine Vergrösserung (125% / 150%) sein.
nun ist es ja so das er > 125% = 120DPI ab Windows 7 nur noch 96 ausgibt bei
GetDeviceCaps( hDC, LOGPIXELSX )
um bei 150% also auf den Wert zu kommen benötige ich einen Faktor Real Auflösung /
AppDeskTop()
Code: Alles auswählen
GetDeviceCaps( hDC, DESKTOPHORZRES )
GetDeviceCaps( hDC, DESKTOPVERTRES )
mit Faktor 1.5 * 96 = 144DPI hätte ich nun wieder die richtige Zahl
die DPI Zahl bezieht sich ja auf Pixel pro 1 Zoll
Code: Alles auswählen
IF (i % nDPI = 0) // 1 Zoll
aAttr[GRA_AL_COLOR] := GRA_CLR_CYAN
GraSetAttrLine(oPS, aAttr)
graline( oPs, {i, 40}, {i,68})
ENDIF
jetzt noch auf cm bei 1 Zoll = 25.4mm
Code: Alles auswählen
IF (i % ROUND(nDPI/25.4*10,0) = 0) // 1 cm
aAttr[GRA_AL_COLOR] := GRA_CLR_RED
GraSetAttrLine(oPS, aAttr)
graline( oPs, {i, 55}, {i,68})
ENDIF
damit habe ich nun eine Anzeige wo ich es in cm Abständen "schätzen" kann.
bei grössen nDPI könnte man versuchen es weiter aufzulösen aber das i %
ROUND() macht das ungenau
- DPI 96
- DPi96_100_1600.jpg (49.29 KiB) 6588 mal betrachtet
- DPI 120
- DPi120_125_1600.jpg (55.3 KiB) 6588 mal betrachtet
- DPI 144
- DPi144_150_1600.jpg (59.08 KiB) 6588 mal betrachtet
Re: Bitmap 10x10cm mit 300 DPI [erledigt]
Verfasst: Do, 19. Jan 2017 2:31
von AUGE_OHR
so nun habe ich mir das ganze in meinen QR Code Generator eingebaut
- QR_Code_Generator.jpg (45.45 KiB) 6564 mal betrachtet
Code: Alles auswählen
METHOD QRdialog:Pixel2CM(cValue)
LOCAL nPixel
LOCAL nDPI
LOCAL cItem
LOCAL nZoll
LOCAL nMM
IF !EMPTY(cValue)
nPixel := VAL(cValue)
cItem := ::oDPI:getdata()
nDPI := VAL(cItem)
nZoll := nPixel/nDPI
nMM := nZoll * ::nZoll // 25.4mm
::oCM:SetData(LTRIM(STR(nMM,8,2)))
::nPixel := nPixel
::nDPI := nDPI
ENDIF
RETURN
METHOD QRdialog:DPi2CM()
::Pixel2CM( ::oPixel:getdata() )
RETURN
METHOD QRdialog:CM2Pixel(cValue)
LOCAL nMM
LOCAL nDPI
LOCAL cItem
LOCAL nZoll
LOCAL nPixel
IF !EMPTY(cValue)
nMM := VAL(cValue)
cItem := ::oDPI:getdata()
nDPI := VAL(cItem)
nZoll := nMM / ::nZoll
nPixel := ROUND(nZoll * nDPI,0)
::oPixel:SetData(LTRIM(STR(nPixel,5)))
::nPixel := nPixel
::nDPI := nDPI
ENDIF
RETURN
vollen Source wie gewohnt im Mitglieder Bereich.
Re: Bitmap 10x10cm mit 300 DPI [erledigt]
Verfasst: Do, 19. Jan 2017 7:33
von UliTs
Kleiner Nachtrag:
1 Inch = 1 Zoll = 2.54cm
300dpi = 300 Dots per Inch = 300 Pixel pro 2.54cm 300/2.54 Pixel pro cm = 118,11 Pixel pro cm = 118,11*10 Pixel pro 10cm = 1181,1 Pixel pro 10cm