Image und dpi

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Clython
User
Beiträge: 151
Registriert: Samstag 21. August 2004, 13:58
Wohnort: Schweiz, BE-2500

Hallo

ich habe ein kleines Problem mit dem Image Modul. Ich musste für die Arbeit ein Modul schreiben, dass mir Bilder umbenennt, verkleinert und den Modus ändert. Jetzt habe ich aber ein kleines Problem. Wie zur Hölle ändere ich die dpi? Laut Gebrauchsanweisung muss ich dazu das im.info Dictionary um den Eintrag {"dpi"=275} ergänzen. Dies funktioniert so aber nicht! GIMP kann das nachher nicht lesen und lädt die standard dpi.

Wie krieg ich das hin?

Für Tipps danke ich im voraus!
rogen
User
Beiträge: 85
Registriert: Dienstag 29. März 2005, 17:45
Wohnort: neustift
Kontaktdaten:

ich habe sowas mal mit pil gemacht

Code: Alles auswählen

#! /usr/bin/python
from Tkinter import *
from MySQLdb import *
import os, sys
import Image
import JpegImagePlugin
import TgaImagePlugin
import PngImagePlugin
#import GifImagePlugin
import ImageFilter
import cStringIO


import Tkinter
size = 300,300

out = Image.open(str(sys.argv[1:][0]))

out.thumbnail(size, Image.ANTIALIAS)

out.save(str(sys.argv[1:][0][:-4]+"klein.jpg"), "JPEG", quality=80)



bild = open(str(sys.argv[1:][0][:-4]+"klein.jpg"),"r")

import binascii

data = "0x"+binascii.hexlify(bild.read()) 

ich hoffe das hilft

einfach das bild mit dem programm öffnen

Edit (Leonidas): Code in Python-Tags gesetzt.
rogen
User
Beiträge: 85
Registriert: Dienstag 29. März 2005, 17:45
Wohnort: neustift
Kontaktdaten:

und mit

Code: Alles auswählen

(1.2a2 released)

+ Added DPI read/write support to the JPEG codec.  The decoder
  sets the info["dpi"] attribute for JPEG files with JFIF dpi
  settings.  The encoder uses the "dpi" option:

      im = Image.open("file.jpg")
      dpi = im.info["dpi"] # raises KeyError if DPI not known
      im.save("out.jpg", dpi=dpi)
kannst du die dpi auch verstellen

steht auf http://www.pythonware.com/products/pil/ ... es-113.htm
Clython
User
Beiträge: 151
Registriert: Samstag 21. August 2004, 13:58
Wohnort: Schweiz, BE-2500

Folgendes tut es:
Für JPGs

Code: Alles auswählen

im.save("out.jpg", dpi=(X, X)) # wobei X ist die dpi
und für tifs:

Code: Alles auswählen

im.save("out.jpg", resolution=X) # wobei X ist die dpi
Wenn dass doch nur so in der Doku stehen würde...[/python]
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Zur PIL gibt's bestimmt auch eine Mailliste. Schreibst mal da rein! Oder vielleicht existiert auch ein Bug-Report?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten