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

Re: True Color Image Manipulation

Don J Lindler (lindler@rockit.gsfc.nasa.gov) writes:

> Does anyone know a way to create a true color image using object graphics
> such that the three
> color planes can be manipulated independently (translation, scaling, and,
> rotation in 2 dimensions).
> In other words, I need each color (red, green, and blue images) in different
> IDLgrModel objects.
> I was able to use IDLgrImage objects with the channel set ('ff0000'x for
> red, '00ff00'x for green,
> and '0000ff',x for blue).  These IDLgrImage objects were added to three
> separate
> model objects.  I was able to translate and scale each model separately but
> not rotate them.
> Rotation in 2 dimensions does not work properly for a IDLgrImage object.
> Also this approach
> has the problem that I need to supply all three color images to each
> IDLgrImage object even
> though I am only using one of them.
> I contacted RSI support and they first suggested using an IDLgrPolygon
> object with the Texture
> maps set to the images.  This allows rotation in all three dimensions but
> did not work.  The channel
> property of the IDLgrImage was ignored when used as a texture map and it did
> not solve the
> problem of supplying three images to each IDLgrImage object.
> I contacted RSI again and they suggested using a single IDLgrImage object
> and performing the
> image rotations manually with the ROT function and reloading the images into
> the IDLgrImage
> object with setproperty.  This works but was 50% slower than just using
> direct graphics instead
> of object graphics.
> I would appreciate any suggestions or solutions.

I think you have pretty much covered the ground here.
But tell me again, what compelling reason do you have
to use object graphics in the first place?



David Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155