GDI+ pageoffset

Stepa Nick hired777 at gmail.com
Wed Apr 11 10:23:08 CDT 2012


Hello. I have following code:

> Bitmap * bmp = new Bitmap(500, 500, PixelFormat32bppARGB);
> {
>   Graphics gr(bmp);
>
>   //FIRST LINE
>   PointF* local1PointF = new PointF(17.823631, 89.429169);
>   PointF* local2PointF = new PointF(17.823631, 87.577080);
>
>   //SECOND LINE
>   PointF* local3PointF = new PointF(14.933444, 89.429169);
>   PointF* local4PointF = new PointF(14.933444, 87.577080);
>   Pen * pen = new Pen(Color(255, 0, 0), 0.1);
>   gr.SetPageUnit(UnitMillimeter);
>
>   gr.SetPixelOffsetMode(PixelOffsetModeHalf); //PROBLEM!
>
>   gr.DrawLine(pen,(*local1PointF),(*local2PointF));
>   gr.DrawLine(pen,(*local3PointF),(*local4PointF));
> }

When I run it without SetPixelOffsetMode i get equal line, but with it
line are not identical(first line is longer). I explore
"dlls/gdiplus/graphics.c" and i find this comment: "/* FIXME: Pixel
offset mode is not used anywhere except the getter/setter. */". So, I
what to understand why I have different images(how pixeloffset affect
on drawing lines)? I try to run windbg, run
`WINEDEBUG=gdiplus,gdi,ddraw,graphics wine ./my.exe`, but analyzing
output didn`t give my any results. Thanks!



More information about the wine-devel mailing list