SDL_image supports libtiff, at least here on my debian box.
On 7/13/06, Bob Ippolito <[EMAIL PROTECTED]> wrote:
Just libpng and libjpg like everywhere else.. there's no code in imageext that knows how to do TIFF, so I don't see why it should link to libtiff. That said, it *could* link to libtiff if we added that functionality. I don't have any problem adding that dependency. -bob On Jul 12, 2006, at 8:51 PM, René Dudfield wrote: > Sounds good! Nice one. > > Is libtiff linked to imageext on macosx? If so, I think there is a > save as tiff function in there which I could add. > > I think I could make it save to bmp in memory fairly easily. I'll > need to change the save signature to take a name hint(like load does). > > eg. > f = someStringIOclass() > surf.save(f, "bla.bmp") > > > > > > > On 7/13/06, Bob Ippolito <[EMAIL PROTECTED]> wrote: >> I went ahead and implemented (read: prototyped) scrap bitmap support >> for Mac OS X, but the implementation is terribly inefficient. Pygame >> surfaces aren't terribly accessible from Python outside of surfarray >> (which I didn't want to depend on). >> >> Going from a Surface to the pasteboard is particularly painful in >> this implementation: >> >> 1. Surface to PNG (on disk!) >> 2. NSImage from on-disk PNG >> 3. NSImage to TIFF >> 4. TIFF to pasteboard >> >> The absolute fastest route (which doesn't exist in pygame) would be: >> >> 1. Surface to TIFF (in memory) >> 2. TIFF to pasteboard >> >> pygame doesn't have any TIFF writing capability at all, a compromise >> here would to at least avoid hitting the disk and zlib: >> >> 1. Surface to BMP (in memory) >> 2. BMP to NSImage >> 3. NSImage to TIFF >> 4. TIFF to pasteboard >> >> Unfortunately this also isn't currently possible because pygame >> doesn't support BMP writing anymore (or so it seems from a quick look >> at the code) and it definitely won't do it to memory instead of disk. >> Cocoa does not support TGA. >> >> Going the other way is also gnarly, but mostly because I didn't want >> to think more than I had to: >> >> 1. pasteboard to NSImage >> 2. NSImage to TIFF >> 3. TIFF to NSBitmapImageRep >> 4. NSBitmapImageRep to BMP (in memory) >> 5. Surface from BMP >> >> Getting a NSBitmapImageRep directly from the NSImage (steps 2+3 >> combined) is definitely possible without going between TIFF, but I >> was too lazy to think about what that would do for vector graphics >> (e.g. PDF on the pasteboard) and screen representations. It's not >> necessarily true that NSImage will have a NSBitmapImageRep cached >> already. >> >> Going from NSBitmapImageRep to a Surface without hitting BMP is >> possible, but there's a bunch of formats the NSBitmapImageRep could >> be in and I didn't want to think about that either :) >> >> In any case, pygame.scrap is 100% implemented on Mac OS X, and it's >> kinda fun to play with. An easy way to test is to take a partial >> screen cap to the pasteboard (shift-ctrl-cmd-4) and blit it in your >> pygame app. You should be able to bring in anything from the >> pasteboard that NSImage can load: icons, jpeg, png, pdf (!), tiff, >> etc. >> >> -bob >> >>