On NT based OS', the default StretchBlt() mode is BLACKONWHITE whereas on
Win 98, the default StretchBlt() mode is COLORONCOLOR. To make both
operating systems draw the same, make a call to SetStretchBltMode() and pass
either COLORONCOLOR or HALFTONE. (The latter is higher quality but slower
and more computationally expensive.)
Hope this helps,
Mike
-- EDais --
- Microsoft Visual Basic MVP -
WWW: Http://www20.brinkster.com/EDais/
Work E-Mail: ED...@btclick.com
Other E-Mail: Mike....@btclick.com
>.
>
What does brush has to do with StretchBlt? What do you mean by
"wiggling", tearing maybe?
Tomaz
"Dan Ritchie" <Dan_R...@Hotmail.com> wrote in message
news:001201c317e7$b378f9c0$a601...@phx.gbl...
Personally I've never experienced any brush alignment problems using
HALFTONE StretchBlt() mode but if you need to then you can re-set the brush
alignment with this:
***
POINT BrushOrg;
GetBrushOrgEx(hdc, &BrushOrg);
SetStretchBltMode(hdc, HALFTONE);
SetBrushOrgEx(hdc, BrushOrg.x, BrushOrg.y, NULL);
***
What do you mean by
>"wiggling", tearing maybe?
>
I mean wiggling. The areas that are being blitted to
don't quite match up with the original. It's like there
half a pixel off or something.
>.
>
Unless you're using a pattern brush in the ternary ROP passed to
StretchBlt() there's little chance you'll experience any problems - To be
perfectly honest even after _trying_ to break the brush alignment by setting
the halftone stretch mode it wouldn't here at least under Win2K.
> I mean wiggling. The areas that are being blitted to
> don't quite match up with the original. It's like there
> half a pixel off or something.
I'd look into the way you're calculating the zoom area, you may have to
slightly overdraw to get the edges to match up properly.
>.
>