Bitmap 10x10cm mit 300 DPI [erledigt]
Moderator: Moderatoren
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Bitmap 10x10cm mit 300 DPI [erledigt]
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
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
Zuletzt geändert von AUGE_OHR am Do, 19. Jan 2017 2:06, insgesamt 2-mal geändert.
gruss by OHR
Jimmy
Jimmy
- HaPe
- 1000 working lines a day
- Beiträge: 996
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 15 Mal
Re: Bitmap 10x10cm mit 300 DPI
Hallo Jimmy !
Die reinen Daten benötigen ca. 1.398.000 Bytes. Was an CheckSummen, Headerinfo, usw. noch dazu kommt entzieht sich meiner Kenntnis.ch möchte eine QR Code erstellen der 10x10cm (!) gross ist mit 300 DPI.
Frage : wie gross muss das Bitmap werden ?
--
Hans-Peter
Hans-Peter
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Bitmap 10x10cm mit 300 DPI
ich meine was muss ich bei oBitmap:make() für eine Grösse angeben ?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 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".
gruss by OHR
Jimmy
Jimmy
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2513
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Bitmap 10x10cm mit 300 DPI
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.
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.
Valar Morghulis
Gruss Carlo
Gruss Carlo
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Bitmap 10x10cm mit 300 DPI
ich habe schon ein 1000 x 1000 Pixel QrCode erstellt und den kann mein Handy auch lesen.
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). es geht mir wie schon gesagt nur um die DPI Umrechnung die mir die Wert der folgenden Tabelle gibt
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). es geht mir wie schon gesagt nur um die DPI Umrechnung die mir die Wert der folgenden Tabelle gibt
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Bitmap 10x10cm mit 300 DPI
wenn ich mir die Tabelle ansehe ...
DIN A0 841 x 1198 mm = 9933 x 14043 Pixel bei 300 DPIalso ca. 11,81 Pixel = 1 mm bei 300 DPI -> bei 100mm müssten es ca. 1181 Pixel sein, oder ?
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
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15695
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Bitmap 10x10cm mit 300 DPI
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.
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.
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Bitmap 10x10cm mit 300 DPI
hi,
Danke für eure Antworten.
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
Danke für eure Antworten.
deshalb ist ein 10x10cm auch kein Problem. Theoretisch kann man QRcode auch auf eine Häuserwand projizieren ...brandelh hat geschrieben:Da es hier nur um schwarz weiß (2 Bit) und gerade Linien geht spielt die Auflösung aber eher keine Rolle.
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
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Bitmap 10x10cm mit 300 DPI
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()mit Faktor 1.5 * 96 = 144DPI hätte ich nun wieder die richtige Zahl
die DPI Zahl bezieht sich ja auf Pixel pro 1 Zolljetzt noch auf cm bei 1 Zoll = 25.4mm
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
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 )
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
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
bei grössen nDPI könnte man versuchen es weiter aufzulösen aber das i % ROUND() macht das ungenau
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Bitmap 10x10cm mit 300 DPI [erledigt]
so nun habe ich mir das ganze in meinen QR Code Generator eingebaut
vollen Source wie gewohnt im Mitglieder Bereich.
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
gruss by OHR
Jimmy
Jimmy
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: Bitmap 10x10cm mit 300 DPI [erledigt]
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
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
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück