|
Hello,
I wonder if anyone out there has some experience in using color management with GDI+?
Specifically, when retrieving pixels from a GDI+ Bitmap using the LockBits/UnlockBits methods with a BitmapData object, should I assume that the RGB values in the BitmapData scan0 buffer are in linear light RGB space or gamma corrected RGB space? If gamma corrected, what white point/specific RGB space is used? Does it depend on how the Bitmap was constructed? Here are specific situations I need to know about:
- If a GDI+ Bitmap is constructed using one of the methods that indicates embedded color management will be used, such as Bitmap::Bitmap(const WCHAR *filename,BOOL useIcm), how does that Bitmap apply color correction when useIcm is set to TRUE? Does it hand me gamma corrected RGB values in the BitmapData scan0 buffer, or linear light RGB values? What does it hand me if useIcm is set to FALSE?
- If I later pass new data to the Bitmap above (constructed with useIcm = TRUE), using my own buffer and the ImageLockModeUserInputBuf flag, do I have to do my own gamma correction? That is, will the Bitmap object assume my data is linear RGB or gamma corrected RGB?
- If I then draw the Bitmap to the screen or to a printer with a Graphics object constructed using Graphics::Graphics(HWND hwnd, BOOL icm), with icm set to TRUE, does the Graphics object expect the data in the Bitmap object to be gamma corrected or linear RGB? With what white point? Does it depend on how the Bitmap was constructed? What if the Graphics object was created with icm set to FALSE? What if either the Bitmap or the Graphics object uses ICM, and the other doesn't?
- If I now use one of the Graphics::DrawImage methods with an ImageAttributes object, is the RGB data in the Bitmap object assumed to be in linear RGB? How do all these things interact?
Excuse me if there is already documentation on this somewhere, but I have been unable to find it. I would very much like to know if there is some comprehensive documentation somewhere about how GDI+ uses ICM.
Any information would be appreciated, but especially on the topic of what to do when passing my own pixel buffer to a Bitmap object using a BitmapData object with the ImageLockModeUserInputBuf flag set. Do I have to do all the color management on the data myself in that case? Or would that cause problems because the Bitmap expects to do that itself?
Thanks for any help you can give.
|
|
|
|
|
plz can someone help me to get a FREE version of infragistics NetAdbantage for .Net from onother source of "www.infragistics.com" ?
|
|
|
|
|
Hi how do create fonts in font lab. Are there a step by step instructions I can follow?
|
|
|
|
|
I have no idea where you got the idea that this site supports FontLab. Try a better source of information on it, like this[^].
|
|
|
|
|
|
Mark Salsbery wrote: CodeProject - Your Visual Studio and .NET Resource - and Typography?
CodeProject Atlas -- Supporting the world since 2007
_________________________
Asu no koto o ieba, tenjo de nezumi ga warau.
Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
|
|
|
|
|
I'm experimenting with DirectX but am having trouble finding free software to create model(.x) files.
If anyone knows of any good free software (yes i'm a poor student, so I can't afford professional stuff) I'd love to know about it.
I do have access to Solidworks (2006 SP4.1), none of the lecturers round here seem to know if you can make .x files with it?
Can anyone help me?
Mark.
|
|
|
|
|
MarkBrock wrote: I'm experimenting with DirectX but am having trouble finding free software to create model(.x) files.
http://www.blender.org/features-gallery/features/[^]
_________________________
Asu no koto o ieba, tenjo de nezumi ga warau.
Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
|
|
|
|
|
Thanks heaps!
that's exactly what I've been looking for .
Mark.
|
|
|
|
|
MarkBrock wrote: that's exactly what I've been looking for
Its a good product, but it is not alone, so if you find something it can't do, ask. There are about half a dozen free modelers of various quality, more so than half a dozen in the low quality area (or too young to know). There are translators, and various processing/modifiers to do things blender does not.
_________________________
Asu no koto o ieba, tenjo de nezumi ga warau.
Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
|
|
|
|
|
This[^] might help.
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
Thanks for the link Pete, the software looks really good.
Anything that is easier to use than Blender will make me a very happy man at the moment .
Mark.
|
|
|
|
|
Performing quantum physics with a nail brush and a small dog is easier than using Blender. I do a lot of 3D work and I have problems with Blender. I far prefer to use SoftImage|XSI and Maya to do the work. If you had the money, I would recommend Cinema4D because it is by far the easiest of these applications to use.
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
I posted this in the C# forum and then saw this forum on Graphics..(probably is better placed here, please excuse the double post)
I'm trying to draw lines that will show up as overlays on top of the buttons that I am drawing. The buttons are just standard buttons with images on them, but they occlude the lines when I draw the lines in the Form on paint method. Is there a way to paint the lines after the buttons have been drawn, in order to make the lines visible on top of the buttons?
I thought of a transparent form overlayed that I could draw to, but I thought that this would stop me from interfacing with the buttons.
Any Ideas?
James
|
|
|
|
|
Painting on the form doesn't work, because all form drawing takes place on a layer behind the controls. I see two possible solutions, depending on what you're trying to accomplish...
1) If you just need to draw something on the button itself, try subclassing the button and inserting your own OnPaint code (After a base.OnPaint call)
2) If you're drawing on both the form -and- the button, like an arrow pointing to the control, your transparent form idea might work.
It might take some tweaking, but you can override the WndProc method to pass the WM_NCHITTEST message (I think that's the one), always returning the value for Nothing (I think the constant is called HTNOTHING).
Windows calls this when the user tries to interact with something, to determine which process/thread/control should receive the event. This basically tells it that your form isn't really there, as far as input is concerned.
|
|
|
|
|
Hey friends..
CDC::Arc/CDC::Pie are not supported in Windows CE..
I have tried to draw Arc using simple for loop and x = cos(Angle) * radius...
and then CDC::SetPixel used to Glow it...
but
there is Aliasing problem...
Is there any efficient Algorith to Draw Arc/Pie
Thanks in advance...:
|
|
|
|
|
Hi!
I having a bit of trouble with drawing an arc and I hope somebody
here could give me a hint.
What I want is to draw an arc given the following parameters: a
bounding box (x1,y1,x2,y2) and a start- and end-angle.
The center point of the arc is the same as the center point of
the bounding box, and the start- and end-angle determines how
long the arc should be.
In example, a square bounding box and a start-angle of 0 and end-
angle of 360 will give a perfect circle (the inscribed circle of
the bounding box), while a "squashed" box and angles of 110 - 200
will give a quarter of an equally squashed circle (starting at 110
degrees).
Moreover, I would like to draw filled arcs (like a pie slice)
as well.
Can anybody give me a hint or an algorithm to look at? I've looked
at the normal Bresenham circle algo and think it should be possible
to adapt this, but I've been unsuccessfull so far.
WinCE Does not support MFC's ARC/Pie .
|
|
|
|
|
Hi!
i would like know about the possibility of programming 3d graphs in vb (6 if is possible) without use directx, i know what is possible in OpenGl, but i not know a good about this theme, someboy can tell me where i can found more information?, thanks very much for your help.
|
|
|
|
|
haggenx wrote: programming 3d graphs in vb (6 if is possible) without use directx
I have never attempted it, but you can download the vb sources from Nehe and "try" them to see if they match what ever level VB you are attempting to use. http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=05[^] (scroll to the bottom for all the sources for the same project)
_________________________
Asu no koto o ieba, tenjo de nezumi ga warau.
Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
|
|
|
|
|
|
In one of my project i have to create the sketch of human face by combining diffrent parts of the face but i have n idea how it can be done please guide me in detail
mresh
|
|
|
|
|
My first thought would be draw the sketches of the face parts on paper, cut them out with a scissors,
and arrange complete faces by moving around the pieces of paper on your desk/table.
But I suppose you want to do it programatically. You could do something similar.
You may have trouble finding volunteers here to do this for you (guide you in detail).
If you have a plan and break it down into steps and have trouble with certain specific
steps, you'll probably get much more helpful response here
Good luck!
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
mresh wrote: In one of my project i have to create the sketch of human face by combining diffrent parts of the face but i have n idea how it can be done please guide me in detail
run down to your nearest art store, get a book on drawing the human face. This breaks down the face into percentages of the head. Do the same in your program.
_________________________
Asu no koto o ieba, tenjo de nezumi ga warau.
Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
|
|
|
|
|
How many of you think this will work. I am skeptical, but intrigued just the same.
New ATI FireGL boards[^]
Supposedly they have an auto-tuning driver that tunes performance based on how you are using it at the time. It sounds nice, and looks nice on paper.... but I am curious if it would actually work consistently well. I imagine you could take any test case and it would work, but a full application with variety? would it have to be constantly rebalancing and retuning? would it just take its best shot, make a few tweaks and give up?
_________________________
Asu no koto o ieba, tenjo de nezumi ga warau.
Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
|
|
|
|
|
Probably not a lot different that what peephole optimizing compilers do with ordinary code. That technology is pretty mature.
Mongkut to a Christian missionary friend: "What you teach us to do is admirable, but what you teach us to believe is foolish" .
|
|
|
|