SavePixmapPNG - DPI ändern?
Übersicht

![]() |
RatchetBetreff: SavePixmapPNG - DPI ändern? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich speicher ein Pixmap als PNG mit SavePixmapPNG ab. Allerdings müsste mein Bild einen DPI Wert von 300 haben. Lässt sich das irgnendwie direkt mit BM ändern? | ||
[iMac 27"] [3,4GHz Intel Core i5 ] [8GB Ram] [NVIDIA GeForce GTX 775M 2GB] [MacOS X Yosemite] [BlitzMax + MaxGui] [Monkey X Pro] |
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
resizepixmap | ||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
![]() |
Ratchet |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Größe ändern möchte ich eigentlich nicht. Ich beschreibe mal welches Verhalten ich nachbilden möchte:
Ich will mein erzeugtes Bild in ein Programm laden welches mit 300 dpi arbeitet. Lade ich mein Bild rein ist es zu groß (falsche dpi). Wenn ich mit einem Grafikprogramm die dpi auf 300 setze ändert sich nichts an der Größe des Bildes, aber das Programm läd es in der richtigen Größe. Deswegen würde ich die Umstellung der Auflösung gerne gleich im BM Code erledigen. Ich dachte zwar immer wenn ich die dpi umstelle müsste sich an der Größe des Bildes auch was ändern, weil sich ja die Anzahl der Pixel pro Zoll ändern, aber das tut es eben nicht. |
||
[iMac 27"] [3,4GHz Intel Core i5 ] [8GB Ram] [NVIDIA GeForce GTX 775M 2GB] [MacOS X Yosemite] [BlitzMax + MaxGui] [Monkey X Pro] |
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
dpi sind dots per inch, also pixel per inch
du musst also wissen wie viele inch dein bild am ende groß sein soll, bei 300 dpi ist deine pixelauflösung dann 300*größe auf diese größe skalierst du dann dein bild mit resizepixmap |
||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
SavePixmapPNG benutzt intern die libpng, also die offizielle Lib zum speichern und lesen von PNGs. Wenn man ihr Manual durchliest, sieht man, dass die Befehle png_set_sCAL bzw. png_set_sCAL_s die sind, die du suchst. Manual hat Folgendes geschrieben: png_set_sCAL(png_ptr, info_ptr, unit, width, height)
unit - physical scale units (an integer) width - width of a pixel in physical scale units height - height of a pixel in physical scale units (width and height are doubles) Ich schätze mal, 'physical scale units' werden von deinem Programm als Inches aufgefasst; width und height müsstest du also jeweils auf 300 setzen, um die 300 DPI zu erreichen. Leider sieht es so aus, als ob die Funktion in pub.libpng nicht gewrappt ist, die müsstest du dort also noch nachreichen. Dann musst du die Funktionsaufrufe in BRL.PNGLoader in der Funktion SavePixmapPNG einfügen. Wo genau die Aufrufe hingehören, ist vermutlich auch dem Manual zu entnehmen. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Ratchet |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke Noobody. Ich werde mal versuchen damit etwas zu erreichen. | ||
[iMac 27"] [3,4GHz Intel Core i5 ] [8GB Ram] [NVIDIA GeForce GTX 775M 2GB] [MacOS X Yosemite] [BlitzMax + MaxGui] [Monkey X Pro] |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group