Re: [Image-SIG] PIL decoders
by Bob Ippolito other posts by this author
Jul 17 2004 10:13PM messages near this date
[Image-SIG] PIL decoders
|
[Image-SIG] PIL
--Apple-Mail-2-126080997
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
charset=US-ASCII;
format=flowed
On Jul 17, 2004, at 3:04 PM, Bob Ippolito wrote:
> I've written a pure python decoder for (the 24bit RGB and 8bit mask
> resources in) the Mac OS .icns resource format. The format can
> contain icons and masks of various different sizes and bit depths. If
> I were to turn this into a PIL decoder, what is the correct way to
> deal with a file that can contain multiple resources? Should it just
> pick the best representation?
>
> Also, what's the procedure for getting new codecs into the official
> distro of PIL? I wouldn't mind contributing this one, and I have a
> SoftImage PICT (another lossless RAW/RLE) decoder lying around as well
> that might be useful to someone.
>
> BTW, the SoftImage image format allows for 8 channels (the usual BGRA
> plus shadow, depth, aux1, aux2). The current decoder just ignores
> them, because I didn't see any good way to get those into PIL (given
> the limited mode choices). Is there something else I should do with
> them?
If anyone wants them... I just wrote a PIL decoder for the icns format,
took out the Numeric dependency in my Softimage PICT decoder, and
committed them to my public svn repo:
http://svn.red-bean.com/bob/icns/trunk/
http://svn.red-bean.com/bob/SoftimageImage/trunk/
Consider them public domain. However, the test file in icns is
copyright Talking Panda LLC and is used with (my) permission :)
-bob
--Apple-Mail-2-126080997
Content-Transfer-Encoding: base64
Content-Type: application/pkcs7-signature;
name=smime.p7s
Content-Disposition: attachment;
filename=smime.p7s
MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIKyDCCAskw
ggIyoAMCAQICAwscyjANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh
d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt
YWlsIElzc3VpbmcgQ0EwHhcNMDMxMTA5MjMyODU2WhcNMDQxMTA4MjMyODU2WjBAMR8wHQYDVQQD
ExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMR0wGwYJKoZIhvcNAQkBFg5ib2JAcmVkaXZpLmNvbTCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOxPxfXXgaKF1shNl0vUHxDeHI17bKWzgXWj
i0vCJqE8YtJnuZJKSbDjx79KZK2bKQ7vFhG53tLwIHhflbe6wVSUniwcPSOjzTM+4UY4Nt71EnUE
Mz9EOkS0Cyyn98Ju2rM0t/ijsLtXpTOxnZnSioQKh3Inz08Ldnfh66Qv1mTDJpGgApeKflEJ7g6S
rQmOh7QXCvkbCxOizpdxJn5D7pgktorA+L/pUY2xVQFLVvfIgU8LV7gRf90ShI9CTTxUOZRTLp+G
vHGBW+XPQgYI61+0VrVzP9It5MoJw1j2dVlGuVJJVmX8xEc0msgWea1+hYwPV/f852fsJruCJMJY
UncCAwEAAaMrMCkwGQYDVR0RBBIwEIEOYm9iQHJlZGl2aS5jb20wDAYDVR0TAQH/BAIwADANBgkq
hkiG9w0BAQQFAAOBgQC/moV6N08h67Lw9ToJoP9BTc6wUq+YOJapQkvmDE7m7BuEsLi5Os8nS0zd
kmreQqvjLPWQsDJzC7F/QHcHQpSrZFzFv6Zr/XLkmvhv5rFlSOVPRO/AkX9P0teERo+zdiXTHyyc
NbYTn6JItNzJ16Bhz3I+czbdzLo+9RB2DbnbyDCCAz8wggKooAMCAQICAQ0wDQYJKoZIhvcNAQEF
BQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUg
VG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24g
U2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBDQTEr
MCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw0wMzA3MTcwMDAw
MDBaFw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3Vs
dGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWlu
ZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxKY8VXNV+065yplaHmjAdQRwnd/p/6Me
7L3N9VvyGna9fww6YfK/Uc4B1OVQCjDXAmNaLIkVcI7dyfArhVqqP3FWy688Cwfn8R+RNiQqE88r
1fOCdz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/p7bRPGEEQB5kGXJgt/sCAwEAAaOBlDCB
kTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwudGhhd3Rl
LmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWlsQ0EuY3JsMAsGA1UdDwQEAwIBBjApBgNVHREEIjAg
pB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxhYmVsMi0xMzgwDQYJKoZIhvcNAQEFBQADgYEASIzRUIPq
Cy7MDaNmrGcPf6+svsIXoUOWlJ1/TCG4+DYfqi2fNi/A9BxQIJNwPP2t4WFiw9k6GX6EsZkbAMUa
C4J0niVQlGLH2ydxVyWN3amcOY6MIE9lX5Xa9/eH1sYITq726jTlEBpbNU1341YheILcIRk13iSx
0x1G/11fZU8wggS0MIICnKADAgECAgMAnjwwDQYJKoZIhvcNAQEEBQAweTEQMA4GA1UEChMHUm9v
dCBDQTEeMBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNp
Z25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcwHhcNMDQw
NzE0MDQ0NjAyWhcNMDUwNzE0MDQ0NjAyWjA5MRgwFgYDVQQDEw9Sb2JlcnQgSXBwb2xpdG8xHTAb
BgkqhkiG9w0BCQEWDmJvYkByZWRpdmkuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEA2Q3cVDViWBfyNeQmGS5rIu0zHRLs3qR7YR21ORNB4IHhDykNM3slf24jB5jUkGHkcnBdoTdJ
9jgc7l1GDoUymtcqo0pHbogFgx/sjgrNY46BDt2Rm7J75n6JmllAf3abEXKHG0ZymGP3ChMO5wQ2
FyLgj2ZYGi/ZkUfyxIkU3w3OIMtAY0fpQO4ZfruBDHC8KGnJo8VD8RJwxHlXlnlCWpwmL+4x0HPK
/DI9Xgj8iTETb5e0SyurUtrYcZ2fTA6FDjnOHEcTsegn46zzTRY+GmAZak0nrqdZe3nEmg13rneC
lBQxjK1hm5lPvpHVQb/zC1ICACiF8kCOH2S2s08JwwIDAQABo4GEMIGBMAwGA1UdEwEB/wQCMAAw
VgYJYIZIAYb4QgENBEkWR1RvIGdldCB5b3VyIG93biBjZXJ0aWZpY2F0ZSBmb3IgRlJFRSBoZWFk
IG92ZXIgdG8gaHR0cDovL3d3dy5jYWNlcnQub3JnMBkGA1UdEQQSMBCBDmJvYkByZWRpdmkuY29t
MA0GCSqGSIb3DQEBBAUAA4ICAQCoINRykajQ2/wjVRiS3ma66Lf4NTOcSJm1PuM6S3ON5+U1+gZb
spmBonCsHnOAFGdoOjOu8mcJJpJcZdQvMdsRs9o5ARAbBO+9iWbPz1J2jrbJKz87eddea01FonA8
8BxU8Njmi/qumq8dF59v+tQsm8gcw+KL54ePVjruo6vz8djQX++7572CQk+FrIYpyY0QxIAM5d+S
x9ATbl8fImY4/2yk1t1Sq7b8BvbQkpa/zTB32Ns/OrTkNoRyrHPagvCFXaBDGBD/yj1Y1t0gV1Vk
/FdFU94Kx+eEF0n+pFHGLxUY7PovIm7zEYYmDqLexEq0YoGEqrYHPjn7ug/bifytrB3T0hk1HRFc
kibClvafN/5O+5WtMNkjkzgrFBuW+le7gmqbHCkXI3VZuVXeTSmu5xCH93xmgkTF84/G1jrL5R+V
Gn9m+CzP2reOyYUsZtFxGSRrSZmLmBTw/x7E8FFYKB3JYFrLhMJqdqiv3ay7b0UlvozptKFC315d
ZNzfhmYxe8M3+Unl6wuG0UNKmxpeA1F0flaRxdUIOf9k7M2I9IKbOlwcQjn1Kk3wfUx+PoBQ7B9i
8RRhw3GNwDADnfb/+xjG3rnDPNF+36QKpOH/JTyNRq4TVHg11u0VlNOXxOiLq9rSVIQpzuBNcyfz
H6l304Rw9sVYDdTOMVpSweAN0zGCAv8wggL7AgEBMIGAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAc
BgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1
dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnAgMAnjwwCQYFKw4DAhoF
AKCCAVMwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDQwNzE3MjIx
MzUxWjAjBgkqhkiG9w0BCQQxFgQUv5SyCyrIYV3ZMsEYzHJzfITXCSAweAYJKwYBBAGCNxAEMWsw
aTBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEs
MCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECAwscyjB6BgsqhkiG
9w0BCRACCzFroGkwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQ
dHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAgML
HMowDQYJKoZIhvcNAQEBBQAEggEAdNdJCfFTlvRsQugosPGoemIOuIG1n7EX7IQw8cAWgx0KuliT
kuXxWdS97nZ/PkxxnNvmXTCv3GUmdcZTczKgIo3QdYerr/zvHJ/Az7a3HgXiK4GVq4VH29gWPHod
1UZtenihZSdXSinVSmLrm614ImFVugM/ivlTmfq5fSR1MFM7/gTacUnR7eNic4qiJtGF4kRYi6P9
uBlg5sWMOTEgjQXLoAB/KwhaDEuGYu3EDeulvOBb8EaLqHZiWLxTiT/N3e7dklR3mRF+u0FaJM9e
QrhPEWbkBC15vArnjS9XuLwZ5SNgUz/O9RB06ojwWOG0THpXkJTo1qy1TAfD8vUaGwAAAAAAAA==
--Apple-Mail-2-126080997--
Attachments:
unknown1
Thread:
Bob Ippolito
Bob Ippolito
|