It's the other way around actually (read my original post again), when using the printer, i get alpha, when using a screen based DC, i get dithering, this is why i don't understand it, since i KNOW that i can use e.g. AlphaBlend[^] on the screen without any problems, or if i use GetDeviceCaps[^] on the screen DC i see that it supports blending.
I kinda know that the capabilities of the device is -at least usually- determined by the driver "under" it, what i would like to know is what GDI+ does to come to the conclusion that the screen-based device is incapable of blending and thus resorts to "low quality" dithering.
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> If it doesn't matter, it's antimatter.<
I'm guessing that you selected the project type as Windows Application and wrote a main function.
Windows applications expect to find WinMain instead of main.
You can either create a project of type Console Application or change main to WinMain.
«_Superman_» I love work. It gives me something to do between weekends.
In case I have asked this before, but OF does not remember, accept my apology.
I believe this is pretty generic situation so I ll try to explain it without code.
I have VFW capAPI which registers a callback function and than initializes the callback rate.
The callback function allows me to modify the data before it is displayed.
I have not figured out how this display really works, but it does, non issue for now.
The callback rate is adjustable in milliseconds, and if I set it to 20 and let the callback function just return, without modifying the data, in debug mode, the display goes from good bitmap to blank pretty rapidly.
If I set the rate to 2 seconds there still are occasional blank screens.
I was under the impression that callbacks are executed by the system when data became available, but it seem that in VFW API the rate executes the callback even with no or bad data.
I did check that and one of the parameters in the callback – number of bytes actually used _ is “a lot less” than when true number of bytes used.
So even if I check for “blanks / invalid “ data I will still have problem unless I can keep track of good data and substitute them for bad ones.
I am just posting this in case someone has an experience with this behavior.
This seems to be a major issue in VFW , but replacing VFW with DirectX is not an option.
I would also like to know how to access the callback function return value.
The function is defined as global. Do I need to make it static class function to be able to use the return value?
Is it also possible that I am missing some “buffers”? I recall having a great time using another AVI. Maybe I need to shrink my bitmap.