PIL Imaging-1.1.5c1
Imaging-1.1.5c1 が公開されていました。 PNG 保存時に補助情報 (chunk) を指定できるようになってたので、 パッチ は不要です。
dpi は引数で直接渡し、 その他の補助情報は PngInfo インスタンスに格納して渡すことができます。
from PIL import Image
from PIL.PngImagePlugin import PngInfo
im = Image.new('RGBA',(200, 200),(0,0,0,0))
# 画像描画処理をおこなう
info = PngInfo()
info.add('bKGD', '\000\377\000\377\000\377')
im.save('img-rgba.png', 'PNG', dpi=(72,72), pnginfo=info)
pngcheckで確認してみると
$ pngcheck -v img-rgba.png
File: img-rgba.png (3601 bytes)
chunk IHDR at offset 0x0000c, length 13
200 x 200 image, 32-bit RGB+alpha, non-interlaced
chunk pHYs at offset 0x00025, length 9: 2835x2835 pixels/meter (72 dpi)
chunk bKGD at offset 0x0003a, length 6: red = 255 green = 255 blue = 255
chunk IDAT at offset 0x0004c, length 3505
zlib: deflated, 32K window, default compression
chunk IEND at offset 0x00e09, length 0
No errors detected in img-rgba.png (97.7% compression).
解像度 pHYs と背景色 bKGD がちゃんと追加されています。