discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New bitmap code - testers required


From: Pete French
Subject: New bitmap code - testers required
Date: Wed, 30 Jan 2002 18:05:52 +0000

I finished an initial version of the new bitmap code that I mentioned
at the start of the week. I have given it a certain degree of testing,
but it would be good if other people could try it out and let me know the
results.

The patch should be applied in xgps/Source - it is big as it has almost
doubled the size of XGBitmap.m. Its only 10k compressed though, so
presemably thats within acceptable limits for the mailing list (whats the
normal way to distribute large patches such as this ?)

The code allows bitmaps to scale properly and also handles a much larger
range of image layouts than before, including planar data, CMYK format
images, one-is-black grescale images, bit padded data and variable bit
length sample sizes. This should not noticeably slow dwn the rendering of
the original images either as these are handled by a special case.
Magnification is done using the nearest pixel, minification using a colour
average over all the pixels in the image covered by the on screen pixel.

Let me know what you think...

-bat.

begin 644 bitmap.patch.gz
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
?%<,X%?'3&K&\+:.FY8!IS0I-??-5^6\A1Z1&PF\`````
`
end



reply via email to

[Prev in Thread] Current Thread [Next in Thread]