Commit Graph

29 Commits

Author SHA1 Message Date
Michael Bayne 412c7701c3 Modified image tracing not to depend on band format but to have the image
convert whatever its internal format is into ARGB for our inspection. It's
arguably a smidge slower (though we eliminated the multiple method calls
per pixel to determine whether it is non-transparent), but will work with
any source and destination image format.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2220 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-24 22:54:08 +00:00
Michael Bayne 0a6dfcd703 Added createErrorImage(); modified createTracedImage() and
createImageMask() not to freak out if the source image is not RGBA, Java
automatically unpacks pixels appropriately for 8-bit colormapped images,
so there's no need to be so picky. In createTracedImage() we were
converting the image to a screen optimized image anyway and thus the
source image format had absolutely no bearing on what we did with the
image later.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2218 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-24 21:48:14 +00:00
Michael Bayne 4ff68a037e Log the number of bands when tracing fails.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2207 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-21 22:11:04 +00:00
Michael Bayne 2640baf727 Made getEstimatedMemoryUsage() do more of the right thing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2171 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-17 02:27:02 +00:00
Ray Greenwell 91c173b6e5 added commented out method that caused me trouble, but we may want it
or a varient someday.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2169 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-17 00:41:49 +00:00
Ray Greenwell 0e26fdcf18 BufferedImage has versions of getWidth() and getHeight() that don't
need an ImageObserver.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2166 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-16 21:38:11 +00:00
Michael Bayne 1512fdfa1f Begone ImageUtil.createImage(), all images are created through the image
manager.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2136 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-14 02:50:34 +00:00
Michael Bayne 100aa3ace3 Major media subsystem revamp:
- All images are loaded through the image manager
- Architected to allow the use of prepared or unprepared images (and
  volatile images when the day comes that they support alpha)
- Tunable caches for images and tiles
- Resource manager caches unpacked resources on the filesystem
- Various and sundry other cleanups


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2116 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-13 22:49:47 +00:00
Ray Greenwell d595a2fab8 Added a version of composeMaskedImage() that takes a Shape object to use
as the mask.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2101 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-08 04:28:13 +00:00
Michael Bayne 1ce6951cb6 Repackaged a few things in media: sounds stuff went into media.sound and
image stuff went into media.image.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2100 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-08 04:09:03 +00:00
Walter Korman acaf39b070 Estimate memory usage in bytes rather than pixel area, assuming an int per
pixel for now.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2034 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-07 02:04:32 +00:00
Walter Korman 275d35ce07 Added traceImage(), which will doubtless be further optimized, and it
would sure be nice to have a variant that traces the supplied image rather
than always creating a new one, and more flexibility with respect to the
alpha gradient steps might be nice, but all of that sort of thing will
just have to come later.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1950 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-15 09:29:40 +00:00
Michael Bayne 15e23c1076 Only fetch our default GraphicsConfiguration if we're using it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1510 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-06-20 17:54:26 +00:00
Michael Bayne f8c31a6432 More utility methods: one for creating a new image with the same
configuration as another and one for computing a rectangle that bounds all
non-transparent pixels in an image.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1483 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-06-19 08:24:22 +00:00
Michael Bayne 2739abf915 Support compositing images that haven't already been expanded into
separate rasters.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1355 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-09 16:49:16 +00:00
Michael Bayne 8063347815 Modified image recoloring to use Colorization objects since they now live
in the same package. Also added support for applying a set of
recolorizations all at once so that previous recolorings aren't borked by
subsequent recolorings (plus it's more efficient).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1340 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-06 23:23:08 +00:00
Michael Bayne 99c4330646 The vast and the sweeping. Modified the tile framework such that tiles no
longer provide access to their underlying image (they actually still do,
but not in the normal course of affairs). This will allow us to use
"trimmed" tiles which are trimmed to the smallest rectangle that contains
the non-transparent pixels in a tile image, which will shrink up our
components and other tiles a great deal.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1339 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-06 18:08:32 +00:00
Ray Greenwell 1c182d6e36 this line should have been commented out too
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1338 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-04 21:36:32 +00:00
Michael Bayne 0492637aa0 Moved hitTest() into ImageUtil where its accessible to all that need it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1334 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-04 19:34:14 +00:00
Michael Bayne 530a348890 Added tileImageDown().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1318 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-30 02:14:13 +00:00
Michael Bayne 6ecc381180 Added tileImageAcross().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1316 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-29 01:12:54 +00:00
Ray Greenwell d4df933e28 added composeMaskedImage() to composite the alpha from one image and the
RGB from a second.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1202 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 03:41:18 +00:00
Michael Bayne 78f6342dbd Revamped the recoloration code such that it is much more efficient.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1108 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-08 21:05:01 +00:00
Michael Bayne 87c4c756e4 Pass a color rather than an integer to the recoloration routine.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1100 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-08 01:38:12 +00:00
Michael Bayne dc1969ec84 Added a method for recoloring images. It requires that the images be
indexed color and it converts colors that are close to a target color in
the HSV color space (with specifiable bounds on difference in hue,
saturation and value) to new colors (with specifiable offsets for hue,
saturation and value). Initial testing shows great promise for articles of
clothing and even reasonable results on skin tones.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1069 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-25 07:14:56 +00:00
Michael Bayne 4641d00583 Moved ImageUtil into media.util with the rest of the util classes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1067 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-24 02:20:44 +00:00
Walter Korman 8393055218 Changed default transparency of blank images to BITMASK rather than
TRANSLUCENT since that's what we prefer.  Made ImageManager use ImageUtil
to create blank images.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@871 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-01-18 17:55:43 +00:00
Walter Korman d6aa41396b Added ImageUtil.createImage() to create blank images that are compatible
with the destination screen device.  Updated existing code that previously
created buffered images directly to reference ImageUtil.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@870 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-01-18 17:48:11 +00:00
Michael Bayne 940154d7e3 The image manager now falls back to loading images via the Toolkit if it
can't load the ImageIO classes. This unfortunately means that we're back
to passing a Component instance to the ImageManager at construct time.
Whee!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@749 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-07 01:33:29 +00:00